From 0d6dab2bb06c37b73e4c89e50e543da3335ade56 Mon Sep 17 00:00:00 2001 From: meml0rz Date: Wed, 13 Nov 2024 01:04:02 +0100 Subject: [PATCH] kekl --- modules/nix/nvim/cmp.nix | 226 +++++++++++++++++------------------ modules/nix/nvim/default.nix | 38 +++--- modules/nix/nvim/lsp.nix | 136 ++++++++++----------- modules/nix/nvim/opts.nix | 103 ++++++++-------- 4 files changed, 256 insertions(+), 247 deletions(-) diff --git a/modules/nix/nvim/cmp.nix b/modules/nix/nvim/cmp.nix index 40c956f..fb80200 100644 --- a/modules/nix/nvim/cmp.nix +++ b/modules/nix/nvim/cmp.nix @@ -1,125 +1,125 @@ _: let - get_bufnrs.__raw = '' - function() - local buf_size_limit = 1024 * 1024 -- 1MB size limit - local bufs = vim.api.nvim_list_bufs() - local valid_bufs = {} - for _, buf in ipairs(bufs) do - if vim.api.nvim_buf_is_loaded(buf) and vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) < buf_size_limit then - table.insert(valid_bufs, buf) - end + get_bufnrs.__raw = '' + function() + local buf_size_limit = 1024 * 1024 -- 1MB size limit + local bufs = vim.api.nvim_list_bufs() + local valid_bufs = {} + for _, buf in ipairs(bufs) do + if vim.api.nvim_buf_is_loaded(buf) and vim.api.nvim_buf_get_offset(buf, vim.api.nvim_buf_line_count(buf)) < buf_size_limit then + table.insert(valid_bufs, buf) end - return valid_bufs end - ''; + return valid_bufs + end + ''; in { - programs.nixvim.plugins = { - cmp = { - enable = true; - autoEnableSources = true; - settings = { - mapping = { - "" = "cmp.mapping.scroll_docs(-4)"; - "" = "cmp.mapping.scroll_docs(4)"; - "" = "cmp.mapping.complete()"; - "" = "cmp.mapping.abort()"; - "" = "cmp.mapping.abort()"; - "" = "cmp.mapping.confirm({ select = false })"; - }; - - preselect = "cmp.PreselectMode.None"; - - snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; - - sources = [ - { - name = "nvim_lsp"; - priority = 1000; - option = { - inherit get_bufnrs; - }; - } - { - name = "nvim_lsp_signature_help"; - priority = 1000; - option = { - inherit get_bufnrs; - }; - } - { - name = "nvim_lsp_document_symbol"; - priority = 1000; - option = { - inherit get_bufnrs; - }; - } - { - name = "treesitter"; - priority = 850; - option = { - inherit get_bufnrs; - }; - } - { - name = "luasnip"; - priority = 750; - } - { - name = "buffer"; - priority = 500; - option = { - inherit get_bufnrs; - }; - } - { - name = "path"; - priority = 300; - } - { - name = "cmdline"; - priority = 300; - } - { - name = "git"; - priority = 250; - } - { - name = "calc"; - priority = 150; - } - { - name = "emoji"; - priority = 100; - } - ]; - }; + programs.nixvim.plugins = { + cmp = { + enable = true; + autoEnableSources = true; + settings = { + mapping = { + "" = "cmp.mapping.scroll_docs(-4)"; + "" = "cmp.mapping.scroll_docs(4)"; + "" = "cmp.mapping.complete()"; + "" = "cmp.mapping.abort()"; + "" = "cmp.mapping.abort()"; + "" = "cmp.mapping.confirm({ select = false })"; }; - friendly-snippets.enable = true; - luasnip.enable = true; + preselect = "cmp.PreselectMode.None"; - lspkind = { - enable = true; - cmp = { - enable = true; - menu = { - buffer = ""; - calc = ""; - cmdline = ""; - codeium = "󱜙"; - emoji = "󰞅"; - git = ""; - luasnip = "󰩫"; - neorg = ""; - nvim_lsp = ""; - nvim_lua = ""; - path = ""; - spell = ""; - treesitter = "󰔱"; - }; + snippet.expand = "function(args) require('luasnip').lsp_expand(args.body) end"; + + sources = [ + { + name = "nvim_lsp"; + priority = 1000; + option = { + inherit get_bufnrs; }; - }; + } + { + name = "nvim_lsp_signature_help"; + priority = 1000; + option = { + inherit get_bufnrs; + }; + } + { + name = "nvim_lsp_document_symbol"; + priority = 1000; + option = { + inherit get_bufnrs; + }; + } + { + name = "treesitter"; + priority = 850; + option = { + inherit get_bufnrs; + }; + } + { + name = "luasnip"; + priority = 750; + } + { + name = "buffer"; + priority = 500; + option = { + inherit get_bufnrs; + }; + } + { + name = "path"; + priority = 300; + } + { + name = "cmdline"; + priority = 300; + } + { + name = "git"; + priority = 250; + } + { + name = "calc"; + priority = 150; + } + { + name = "emoji"; + priority = 100; + } + ]; + }; }; + + friendly-snippets.enable = true; + luasnip.enable = true; + + lspkind = { + enable = true; + cmp = { + enable = true; + menu = { + buffer = ""; + calc = ""; + cmdline = ""; + codeium = "󱜙"; + emoji = "󰞅"; + git = ""; + luasnip = "󰩫"; + neorg = ""; + nvim_lsp = ""; + nvim_lua = ""; + path = ""; + spell = ""; + treesitter = "󰔱"; + }; + }; + }; + }; } diff --git a/modules/nix/nvim/default.nix b/modules/nix/nvim/default.nix index 1cb8add..3d11af2 100644 --- a/modules/nix/nvim/default.nix +++ b/modules/nix/nvim/default.nix @@ -1,19 +1,23 @@ -{ config, pkgs, nixvim, ... }: { - imports = [ - nixvim.homeManagerModules.nixvim - ./cmp.nix - ./lsp.nix - ./neotree.nix - ./opts.nix - ./lualine.nix - ./alpha.nix - ./dev.nix - ./nonels.nix - ]; - programs.nixvim = { - enable = true; - colorschemes.oxocarbon.enable = true; - }; + config, + pkgs, + nixvim, + ... +}: +{ + imports = [ + nixvim.homeManagerModules.nixvim + ./cmp.nix + ./lsp.nix + ./neotree.nix + ./opts.nix + ./lualine.nix + ./alpha.nix + ./dev.nix + ./nonels.nix + ]; + programs.nixvim = { + enable = true; + colorschemes.oxocarbon.enable = true; + }; } - diff --git a/modules/nix/nvim/lsp.nix b/modules/nix/nvim/lsp.nix index 9d0f647..17fae1e 100644 --- a/modules/nix/nvim/lsp.nix +++ b/modules/nix/nvim/lsp.nix @@ -1,71 +1,71 @@ { - programs.nixvim.plugins = { - lsp-format = { - enable = true; - }; - lsp = { - enable = true; - inlayHints = true; - servers = { - html = { - enable = true; - }; - lua_ls = { - enable = true; - }; - nixd = { - enable = true; - extraOptions = { - nixos = { - expr = "(builtins.getFlake \"/etc/nixos\").nixosConfigurations.aurelionite.options"; - }; - home_manager = { - expr = "(builtins.getFlake \"/etc/nixos\").homeConfigurations.aurelionite.options"; - }; - }; - }; - marksman = { - enable = true; - }; - pyright = { - enable = true; - }; - gopls = { - enable = true; - }; - yamlls = { - enable = true; - }; - }; - keymaps = { - silent = true; - lspBuf = { - gd = { - action = "definition"; - desc = "Goto Definition"; - }; - gr = { - action = "references"; - desc = "Goto References"; - }; - gD = { - action = "declaration"; - desc = "Goto Declaration"; - }; - gI = { - action = "implementation"; - desc = "Goto Implementation"; - }; - gT = { - action = "type_definition"; - desc = "Type Definition"; - }; - "cr" = { - action = "rename"; - desc = "Rename"; - }; - }; - }; - }; + programs.nixvim.plugins = { + lsp-format = { + enable = true; }; + lsp = { + enable = false; + inlayHints = true; + servers = { + html = { + enable = true; + }; + lua_ls = { + enable = true; + }; + nixd = { + enable = true; + extraOptions = { + nixos = { + expr = "(builtins.getFlake \"/etc/nixos\").nixosConfigurations.aurelionite.options"; + }; + home_manager = { + expr = "(builtins.getFlake \"/etc/nixos\").homeConfigurations.aurelionite.options"; + }; + }; + }; + marksman = { + enable = true; + }; + pyright = { + enable = true; + }; + gopls = { + enable = true; + }; + yamlls = { + enable = true; + }; + }; + keymaps = { + silent = true; + lspBuf = { + gd = { + action = "definition"; + desc = "Goto Definition"; + }; + gr = { + action = "references"; + desc = "Goto References"; + }; + gD = { + action = "declaration"; + desc = "Goto Declaration"; + }; + gI = { + action = "implementation"; + desc = "Goto Implementation"; + }; + gT = { + action = "type_definition"; + desc = "Type Definition"; + }; + "cr" = { + action = "rename"; + desc = "Rename"; + }; + }; + }; + }; + }; } diff --git a/modules/nix/nvim/opts.nix b/modules/nix/nvim/opts.nix index 8dcf4db..3aeef3b 100644 --- a/modules/nix/nvim/opts.nix +++ b/modules/nix/nvim/opts.nix @@ -1,58 +1,63 @@ -{ config, pkgs, nixvim, ... }: { - programs.nixvim = { - extraConfigLua = '' - local map = vim.api.nvim_set_keymap - local opts = { noremap = true, silent = true } + config, + pkgs, + nixvim, + ... +}: +{ + programs.nixvim = { + extraConfigLua = '' + local map = vim.api.nvim_set_keymap + local opts = { noremap = true, silent = true } - vim.g.mapleader = " " - map('n', '', ":ToggleTerm size=40 direction=float", opts) - map('n', '', ":Neotree filesystem reveal right toggle", opts) + vim.g.mapleader = " " + map('n', '', ":ToggleTerm size=40 direction=float", opts) + map('n', '', ":Neotree filesystem reveal right toggle", opts) - map('v', '', '>gv', opts) - map('v', '', '', '>gv', opts) + map('v', '', '