From abebb119ae5a853cad26e6450cfe1b414a8ebc69 Mon Sep 17 00:00:00 2001 From: Varris Date: Sun, 21 May 2023 02:35:32 +0200 Subject: [PATCH] update --- flake.lock | 17 ----- flake.nix | 5 -- user/configs/beets/default.nix | 2 +- user/configs/neovim/default.nix | 5 ++ user/configs/neovim/init.lua | 108 +++++++++++++++++++++++--------- user/configs/tmux/default.nix | 6 ++ user/configs/zellij.nix | 26 -------- user/home.nix | 2 +- 8 files changed, 92 insertions(+), 79 deletions(-) create mode 100644 user/configs/tmux/default.nix delete mode 100644 user/configs/zellij.nix diff --git a/flake.lock b/flake.lock index 90f9dee..6c12cc3 100755 --- a/flake.lock +++ b/flake.lock @@ -59,22 +59,6 @@ "type": "github" } }, - "friendly-snippets": { - "flake": false, - "locked": { - "lastModified": 1684537978, - "narHash": "sha256-HxkNW8b/iG+hEaZmbpiwLbGUVRmR7FgE1PAJEHD3zes=", - "owner": "rafamadriz", - "repo": "friendly-snippets", - "rev": "f674dae71b9daf5ba4a4daf0734f7780417237b1", - "type": "github" - }, - "original": { - "owner": "rafamadriz", - "repo": "friendly-snippets", - "type": "github" - } - }, "gamescope-git-src": { "flake": false, "locked": { @@ -354,7 +338,6 @@ "inputs": { "catppuccin-hyprland": "catppuccin-hyprland", "chaotic-nyx": "chaotic-nyx", - "friendly-snippets": "friendly-snippets", "grub2-themes": "grub2-themes", "gruvbox-kvantum": "gruvbox-kvantum", "home-manager": "home-manager", diff --git a/flake.nix b/flake.nix index 2171600..72d24a6 100755 --- a/flake.nix +++ b/flake.nix @@ -9,11 +9,6 @@ inputs.nixpkgs.follows = "nixpkgs"; }; - friendly-snippets = { - url = "github:rafamadriz/friendly-snippets"; - flake = false; - }; - xorg-git = { url = "gitlab:xorg/xserver?host=gitlab.freedesktop.org"; flake = false; diff --git a/user/configs/beets/default.nix b/user/configs/beets/default.nix index 4ba9f99..565cbce 100755 --- a/user/configs/beets/default.nix +++ b/user/configs/beets/default.nix @@ -3,7 +3,7 @@ enable = true; settings = { - plugins = "ftintitle fetchart embedart chroma edit replaygain"; + plugins = "ftintitle fetchart embedart chroma edit replaygain badfiles fish"; directory = "/mnt/hdd/Music"; library = "/mnt/hdd/Music/library.db"; diff --git a/user/configs/neovim/default.nix b/user/configs/neovim/default.nix index 2e13e72..7d3f512 100644 --- a/user/configs/neovim/default.nix +++ b/user/configs/neovim/default.nix @@ -14,6 +14,9 @@ neo-tree-nvim nvim-notify which-key-nvim + nvim-surround + luasnip + dressing-nvim telescope-nvim telescope-fzf-native-nvim @@ -27,6 +30,8 @@ cmp-path cmp-buffer cmp-nvim-lsp + cmp_luasnip + friendly-snippets ]; extraLuaConfig = builtins.readFile ./init.lua; diff --git a/user/configs/neovim/init.lua b/user/configs/neovim/init.lua index 5ac8d76..bc4f357 100644 --- a/user/configs/neovim/init.lua +++ b/user/configs/neovim/init.lua @@ -16,27 +16,6 @@ vim.o.timeoutlen = 100 vim.wo.number = true vim.wo.relativenumber = true --- keymaps -vim.keymap.set("n", "", "h", { desc = "Go to left window" }) -vim.keymap.set("n", "", "j", { desc = "Go to lower window" }) -vim.keymap.set("n", "", "k", { desc = "Go to upper window" }) -vim.keymap.set("n", "", "l", { desc = "Go to right window" }) - -vim.keymap.set("n", "", "resize +2", { desc = "Increase window height" }) -vim.keymap.set("n", "", "resize -2", { desc = "Decrease window height" }) -vim.keymap.set("n", "", "vertical resize -2", { desc = "Decrease window width" }) -vim.keymap.set("n", "", "vertical resize +2", { desc = "Increase window width" }) - -vim.keymap.set("n", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" }) -vim.keymap.set("x", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" }) -vim.keymap.set("o", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" }) -vim.keymap.set("n", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" }) -vim.keymap.set("x", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" }) -vim.keymap.set("o", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" }) -vim.keymap.set({ "i", "n" }, "", "noh", { desc = "Escape and clear hlsearch" }) - - - require("catppuccin").setup({ flavour = "macchiato", transparent_background = true, @@ -45,10 +24,12 @@ vim.cmd.colorscheme "catppuccin" require("lualine").setup({ options = { - theme = "catppuccin" + theme = "catppuccin", } }) +require("dressing").setup() + require("bufferline").setup({ highlights = require("catppuccin.groups.integrations.bufferline").get(), options = { @@ -105,7 +86,6 @@ require("neo-tree").setup({ } }, }) -vim.keymap.set("n", "", "NeoTreeFocusToggle") require("nvim-treesitter.configs").setup({ highlight = { enable = true, }, @@ -122,9 +102,15 @@ vim.keymap.set('n', 'fc', ts_builtin.git_files, { desc = "Find Files (Gi require("telescope").load_extension("fzf") +require('nvim-surround').setup() + +local capabilities = require('cmp_nvim_lsp').default_capabilities() local lspconfig = require("lspconfig") -lspconfig.rnix.setup {} +lspconfig.rnix.setup { + capabilities = capabilities +} lspconfig.lua_ls.setup { + capabilities = capabilities, settings = { Lua = { diagnostics = { @@ -138,15 +124,23 @@ lspconfig.lua_ls.setup { } lspconfig.clangd.setup {} +require("luasnip.loaders.from_vscode").lazy_load() + +local has_words_before = function() + unpack = unpack or table.unpack + local line, col = unpack(vim.api.nvim_win_get_cursor(0)) + return col ~= 0 and vim.api.nvim_buf_get_lines(0, line - 1, line, true)[1]:sub(col, col):match("%s") == nil +end + local cmp = require("cmp") + local lspkind = require("lspkind") +local luasnip = require("luasnip") cmp.setup({ preselect = cmp.PreselectMode.None, formatting = { format = lspkind.cmp_format ({ mode = "symbol", - maxwidth = 50, - ellipsis_char = "...", symbol_map = { Text = "󰉿", @@ -175,10 +169,15 @@ cmp.setup({ Operator = "󰆕", TypeParameter = "" }, - }), }, + snippet = { + expand = function(args) + require('luasnip').lsp_expand(args.body) + end, + }, + window = { completion = cmp.config.window.bordered(), documentation = cmp.config.window.bordered(), @@ -188,6 +187,7 @@ cmp.setup({ { name = "buffer" }, { name = "path" }, { name = "nvim_lsp" }, + { name = "luasnip" }, }), mapping = cmp.mapping.preset.insert({ @@ -196,13 +196,37 @@ cmp.setup({ [''] = cmp.mapping.complete(), [''] = cmp.mapping.abort(), [''] = cmp.mapping.confirm({ select = false }), + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_next_item() + -- You could replace the expand_or_jumpable() calls with expand_or_locally_jumpable() + -- they way you will only jump inside the snippet region + elseif luasnip.expand_or_jumpable() then + luasnip.expand_or_jump() + elseif has_words_before() then + cmp.complete() + else + fallback() + end + end, { "i", "s" }), + + [""] = cmp.mapping(function(fallback) + if cmp.visible() then + cmp.select_prev_item() + elseif luasnip.jumpable(-1) then + luasnip.jump(-1) + else + fallback() + end + end, { "i", "s" }), }), }) local cmp_autopairs = require('nvim-autopairs.completion.cmp') cmp.event:on( - 'confirm_done', - cmp_autopairs.on_confirm_done() +'confirm_done', +cmp_autopairs.on_confirm_done() ) cmp.setup.cmdline(":", { @@ -219,3 +243,29 @@ cmp.setup.cmdline("/", { { name = "buffer" }, }) }) + +-- keymaps +vim.keymap.set("n", "", "NeoTreeFocusToggle") + +vim.keymap.set("n", "", "h", { desc = "Go to left window" }) +vim.keymap.set("n", "", "j", { desc = "Go to lower window" }) +vim.keymap.set("n", "", "k", { desc = "Go to upper window" }) +vim.keymap.set("n", "", "l", { desc = "Go to right window" }) + +vim.keymap.set("n", "", "resize +2", { desc = "Increase window height" }) +vim.keymap.set("n", "", "resize -2", { desc = "Decrease window height" }) +vim.keymap.set("n", "", "vertical resize -2", { desc = "Decrease window width" }) +vim.keymap.set("n", "", "vertical resize +2", { desc = "Increase window width" }) + +vim.keymap.set("n", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" }) +vim.keymap.set("x", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" }) +vim.keymap.set("o", "n", "'Nn'[v:searchforward]", { expr = true, desc = "Next search result" }) +vim.keymap.set("n", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" }) +vim.keymap.set("x", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" }) +vim.keymap.set("o", "N", "'nN'[v:searchforward]", { expr = true, desc = "Prev search result" }) +vim.keymap.set({ "i", "n" }, "", "noh", { desc = "Escape and clear hlsearch" }) + +vim.keymap.set("n", "", "BufferLineCyclePrev", { desc = "Prev buffer" }) +vim.keymap.set("n", "", "BufferLineCycleNext", { desc = "Next buffer" }) +vim.keymap.set("n", "[b", "BufferLineCyclePrev", { desc = "Prev buffer" }) +vim.keymap.set("n", "]b", "BufferLineCycleNext", { desc = "Next buffer" }) diff --git a/user/configs/tmux/default.nix b/user/configs/tmux/default.nix new file mode 100644 index 0000000..5cfe5cf --- /dev/null +++ b/user/configs/tmux/default.nix @@ -0,0 +1,6 @@ +{ config, pkgs, ... }: +{ + programs.tmux = { + enable = true; + }; +} diff --git a/user/configs/zellij.nix b/user/configs/zellij.nix deleted file mode 100644 index 9f65a82..0000000 --- a/user/configs/zellij.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ config, lib, pkgs, ...}: -{ - programs.zellij = { - enable = true; - enableFishIntegration = false; - - settings = { - theme = "catppuccin-macchiato"; - - themes.catppuccin-macchiato = { - bg = "#5b6078"; - fg = "#cad3f5"; - red = "#ed8796"; - green = "#a6da95"; - blue = "#8aadf4"; - yellow = "#eed49f"; - magenta = "#f5bde6"; - orange = "#f5a97f"; - cyan = "#91d7e3"; - black = "#1e2030"; - white = "#cad3f5"; - }; - }; - }; -} - diff --git a/user/home.nix b/user/home.nix index 0941580..18fb5e5 100755 --- a/user/home.nix +++ b/user/home.nix @@ -13,7 +13,7 @@ ./configs/dircolors.nix ./configs/xdg-mime.nix ./configs/kvantum - ./configs/zellij.nix + ./configs/tmux ]; # Home Manager needs a bit of information about you and the