| author | |
| committer | |
| log | 4c139f1a7a3fc1e1cd9297d9c09fe17986b75f6e |
| tree | dbfdad24b5dc1ce080b53e95efaafe2c30bfccf6 |
| parent | e6df94da34173479bbe43e8a3035538c0493d396 |
| signature | Commit is signed but in an unrecognized format. |
7 files changed, 62 insertions(+), 131 deletions(-)
modules/neovim/default.nix+52-2| ... | ... | @@ -17,6 +17,24 @@ |
| 17 | 17 | theme = { |
| 18 | 18 | enable = true; |
| 19 | 19 | }; |
| 20 | ||
| 21 | options = { | |
| 22 | tabstop = 2; | |
| 23 | softtabstop = 2; | |
| 24 | shiftwidth = 2; | |
| 25 | undofile = true; | |
| 26 | swapfile = false; | |
| 27 | showmode = false; | |
| 28 | foldlevel = 99; | |
| 29 | foldcolumn = "1"; | |
| 30 | foldlevelstart = 99; | |
| 31 | foldenable = true; | |
| 32 | foldmethod = "expr"; | |
| 33 | #Default to treesitter folding | |
| 34 | foldexpr = "v:lua.vim.treesitter.foldexpr()"; | |
| 35 | }; | |
| 36 | ||
| 37 | ||
| 20 | 38 | visuals = { |
| 21 | 39 | # notification system |
| 22 | 40 | # https://github.com/j-hui/fidget.nvim |
| ... | ... | @@ -26,7 +44,7 @@ |
| 26 | 44 | highlight-undo.enable = true; |
| 27 | 45 | # indentation guides |
| 28 | 46 | # https://github.com/lukas-reineke/indent-blankline.nvim |
| 29 | indent-blankline.enable = false; | |
| 47 | indent-blankline.enable = true; | |
| 30 | 48 | # extra icons |
| 31 | 49 | nvim-web-devicons.enable = true; |
| 32 | 50 | # https://github.com/petertriho/nvim-scrollbar |
| ... | ... | @@ -35,16 +53,41 @@ |
| 35 | 53 | lsp = { |
| 36 | 54 | # Must be enabled for language modules to hook into the LSP API. |
| 37 | 55 | enable = true; |
| 56 | # enable debug adapter protocal by default | |
| 57 | enableDAP = true; | |
| 58 | ||
| 38 | 59 | formatOnSave = true; |
| 39 | 60 | # show errors inline |
| 40 | 61 | # https://github.com/folke/trouble.nvim |
| 41 | 62 | trouble.enable = true; |
| 42 | 63 | # show lightbulb icon in gutter to indicate code actions |
| 43 | 64 | # https://github.com/kosayoda/nvim-lightbulb |
| 44 | lightbulb.enable = true; | |
| 65 | lightbulb.enable = false; | |
| 45 | 66 | # show icons in auto-completion menu |
| 46 | 67 | # https://github.com/onsails/lspkind.nvim |
| 47 | 68 | lspkind.enable = config.vim.autocomplete.blink-cmp.enable; |
| 69 | # Enables inlay hints (types info in rust and shit) | |
| 70 | inlayHints.enable = true; | |
| 71 | #Nice mappings that i use :3 | |
| 72 | mappings = { | |
| 73 | codeAction = "<leader>ca"; | |
| 74 | goToDeclaration = "gD"; | |
| 75 | goToDefinition = "gd"; | |
| 76 | listReferences = "gr"; | |
| 77 | goToType = "gy"; | |
| 78 | hover = "K"; | |
| 79 | nextDiagnostic = "<leader>d"; | |
| 80 | openDiagnosticFloat = "<leader>df"; | |
| 81 | renameSymbol = "rn"; | |
| 82 | documentHighlight = null; | |
| 83 | listDocumentSymbols = null; | |
| 84 | listImplementations = null; | |
| 85 | listWorkspaceFolders = null; | |
| 86 | previousDiagnostic = null; | |
| 87 | removeWorkspaceFolder = null; | |
| 88 | signatureHelp = null; | |
| 89 | toggleFormatOnSave = null; | |
| 90 | }; | |
| 48 | 91 | }; |
| 49 | 92 | treesitter = { |
| 50 | 93 | enable = true; |
| ... | ... | @@ -73,6 +116,7 @@ |
| 73 | 116 | rust.enable = true; |
| 74 | 117 | ts.enable = true; |
| 75 | 118 | zig.enable = true; |
| 119 | lua.enable = true; | |
| 76 | 120 | # sort-lines: off |
| 77 | 121 | |
| 78 | 122 | ts.format.enable = false; # deno fmt is enabled elsewhere |
| ... | ... | @@ -207,5 +251,11 @@ |
| 207 | 251 | gitsigns.enable = true; |
| 208 | 252 | gitsigns.codeActions.enable = false; # throws an annoying debug message |
| 209 | 253 | }; |
| 254 | # Better help docs | |
| 255 | lazy.plugins."helpview.nvim" = { | |
| 256 | enabled = true; | |
| 257 | package = pkgs.vimPlugins.helpview-nvim; | |
| 258 | lazy = false; | |
| 259 | }; | |
| 210 | 260 | }; |
| 211 | 261 | } |
users/chloe/vim.nix-16| ... | ... | @@ -1,17 +1,6 @@ |
| 1 | 1 | _: { |
| 2 | 2 | vim = { |
| 3 | languages.astro.enable = true; | |
| 4 | 3 | options = { |
| 5 | tabstop = 2; | |
| 6 | softtabstop = 2; | |
| 7 | shiftwidth = 2; | |
| 8 | undofile = true; | |
| 9 | swapfile = false; | |
| 10 | showmode = false; | |
| 11 | foldlevel = 99; | |
| 12 | foldcolumn = "1"; | |
| 13 | foldlevelstart = 99; | |
| 14 | foldenable = true; | |
| 15 | 4 | linebreak = true; |
| 16 | 5 | }; |
| 17 | 6 | git = { |
| ... | ... | @@ -41,11 +30,6 @@ _: { |
| 41 | 30 | # Find Files |
| 42 | 31 | (n "<leader><space>" ":lua require('snacks').picker.smart()<CR>" "Smart Find Files") |
| 43 | 32 | (n "<leader>f" ":lua require('snacks').picker.grep()<CR>" "Grep Files") |
| 44 | # Lsp | |
| 45 | (n "K" ":Lspsaga hover_doc<CR>" "Hover docs") | |
| 46 | (n "lr" ":lua vim.lsp.buf.rename()<CR>" "Rename") | |
| 47 | (n "gd" ":lua vim.lsp.buf.definition()<CR>" "Go to Definition") | |
| 48 | (n "gD" ":lua vim.lsp.buf.declaration()<CR>" "Go to Declaration") | |
| 49 | 33 | ]; |
| 50 | 34 | }; |
| 51 | 35 | } |
users/julia/vim.nix-18| ... | ... | @@ -1,21 +1,3 @@ |
| 1 | 1 | { ... }: |
| 2 | 2 | { |
| 3 | vim.languages.astro.enable = true; | |
| 4 | vim.theme.extraConfig = '' | |
| 5 | if vim.g.neovide then | |
| 6 | vim.g.neovide_cursor_trail_size = 0.3 | |
| 7 | vim.g.neovide_scroll_animation_length = 0.1; | |
| 8 | ||
| 9 | vim.keymap.set('n', '<D-s>', ':w<CR>') -- Save | |
| 10 | vim.keymap.set('v', '<D-c>', '"+y') -- Copy | |
| 11 | vim.keymap.set('n', '<D-v>', '"+P') -- Paste normal mode | |
| 12 | vim.keymap.set('v', '<D-v>', '"+P') -- Paste visual mode | |
| 13 | vim.keymap.set('c', '<D-v>', '<C-R>+') -- Paste command mode | |
| 14 | vim.keymap.set('i', '<D-v>', '<ESC>l"+Pli') -- Paste insert mode | |
| 15 | end | |
| 16 | vim.api.nvim_set_keymap("", '<D-v>', '+p<CR>', { noremap = true, silent = true}) | |
| 17 | vim.api.nvim_set_keymap('!', '<D-v>', '<C-R>+', { noremap = true, silent = true}) | |
| 18 | vim.api.nvim_set_keymap('t', '<D-v>', '<C-R>+', { noremap = true, silent = true}) | |
| 19 | vim.api.nvim_set_keymap('v', '<D-v>', '<C-R>+', { noremap = true, silent = true}) | |
| 20 | ''; | |
| 21 | 3 | } |
users/natalie/vim.nix-34| ... | ... | @@ -9,21 +9,6 @@ |
| 9 | 9 | withPython3 = true; |
| 10 | 10 | python3Packages = [ "pynvim" ]; |
| 11 | 11 | |
| 12 | options = { | |
| 13 | tabstop = 2; | |
| 14 | softtabstop = 2; | |
| 15 | shiftwidth = 2; | |
| 16 | undofile = true; | |
| 17 | swapfile = false; | |
| 18 | showmode = false; | |
| 19 | foldlevel = 99; | |
| 20 | foldcolumn = "1"; | |
| 21 | foldlevelstart = 99; | |
| 22 | foldenable = true; | |
| 23 | foldmethod = "expr"; | |
| 24 | #Default to treesitter folding | |
| 25 | foldexpr = "v:lua.vim.treesitter.foldexpr()"; | |
| 26 | }; | |
| 27 | 12 | |
| 28 | 13 | autocmds = [ |
| 29 | 14 | #Autocommand to fall back to treesitter folding if LSP doesnt support it |
| ... | ... | @@ -44,28 +29,9 @@ |
| 44 | 29 | tabline = { |
| 45 | 30 | nvimBufferline.enable = true; |
| 46 | 31 | }; |
| 47 | # nvf versions is VERY outdated | |
| 48 | # pluginOverrides = { | |
| 49 | # hardtime-nvim = pkgs.fetchFromGitHub { | |
| 50 | # owner = "m4xshen"; | |
| 51 | # repo = "hardtime.nvim"; | |
| 52 | # rev = "v1.0.1"; | |
| 53 | # hash = "sha256-5tqiSuGvBJcr8l6anEBojXEaaxFS1P5T1ROr46ylVhk="; | |
| 54 | # }; | |
| 55 | # }; | |
| 56 | 32 | startPlugins = [ |
| 57 | 33 | "nui-nvim" |
| 58 | 34 | ]; |
| 59 | binds = { | |
| 60 | hardtime-nvim = { | |
| 61 | enable = false; | |
| 62 | setupOpts = { | |
| 63 | disable_mouse = false; | |
| 64 | restriction_mode = "warn"; | |
| 65 | }; | |
| 66 | }; | |
| 67 | }; | |
| 68 | ||
| 69 | 35 | theme = { |
| 70 | 36 | name = "catppuccin"; |
| 71 | 37 | style = "mocha"; |
users/natalie/vim/keybinds.nix+10-17| ... | ... | @@ -1,26 +1,19 @@ |
| 1 | 1 | { ... }: |
| 2 | let | |
| 3 | mkKeymap = mode: key: action: desc: { | |
| 4 | inherit | |
| 5 | mode | |
| 6 | key | |
| 7 | action | |
| 8 | desc | |
| 9 | ; | |
| 10 | }; | |
| 2 | let | |
| 3 | mkKeymap = mode: key: action: desc: { | |
| 4 | inherit mode; | |
| 5 | inherit key action desc; | |
| 6 | }; | |
| 7 | n = mkKeymap "n"; # normal mode | |
| 11 | 8 | in |
| 12 | 9 | { |
| 13 | 10 | vim = { |
| 14 | 11 | keymaps = [ |
| 15 | (mkKeymap "n" "<leader>e" ":lua require('snacks').explorer()<CR>" "File Explorer") | |
| 16 | ||
| 12 | (n "<leader>e" ":lua require('snacks').explorer()<CR>" "File Explorer") | |
| 17 | 13 | # Snacks Picker Replaces Telescope!? |
| 18 | (mkKeymap "n" "<leader><space>" ":lua require('snacks').picker.smart()<CR>" "Smart Find Files") | |
| 19 | (mkKeymap "n" "<leader>ff" ":lua require('snacks').picker.files()<CR>" "Find File") | |
| 20 | (mkKeymap "n" "<leader>fg" ":lua require('snacks').picker.grep()<CR>" "Grep Files") | |
| 21 | # Lsp | |
| 22 | (mkKeymap "n" "lr" ":lua vim.lsp.buf.rename()<CR>" "Rename") | |
| 23 | # (mkKeymap "n" "<leader>th" ":lua function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end<CR>" "Toggle Inlay Hints") | |
| 14 | (n "<leader><space>" ":lua require('snacks').picker.smart()<CR>" "Smart Find Files") | |
| 15 | (n "<leader>ff" ":lua require('snacks').picker.files()<CR>" "Find File") | |
| 16 | (n "<leader>fg" ":lua require('snacks').picker.grep()<CR>" "Grep Files") | |
| 24 | 17 | ]; |
| 25 | 18 | }; |
| 26 | 19 | } |
users/natalie/vim/languages.nix-33| ... | ... | @@ -12,17 +12,6 @@ |
| 12 | 12 | nixd |
| 13 | 13 | ]; |
| 14 | 14 | lsp = { |
| 15 | formatOnSave = true; | |
| 16 | lightbulb.enable = false; | |
| 17 | # lspsaga = { | |
| 18 | # enable = true; | |
| 19 | # setupOpts = { | |
| 20 | # lightbulb = { | |
| 21 | # virtual_text = false; | |
| 22 | # }; | |
| 23 | # }; | |
| 24 | # }; | |
| 25 | inlayHints.enable = true; | |
| 26 | 15 | servers = { |
| 27 | 16 | nil = { |
| 28 | 17 | settings.nil.nix.flake = { |
| ... | ... | @@ -58,30 +47,8 @@ |
| 58 | 47 | }; |
| 59 | 48 | }; |
| 60 | 49 | }; |
| 61 | mappings = { | |
| 62 | codeAction = "<leader>ca"; | |
| 63 | goToDeclaration = "gD"; | |
| 64 | goToDefinition = "gd"; | |
| 65 | listReferences = "gr"; | |
| 66 | goToType = "gy"; | |
| 67 | hover = "K"; | |
| 68 | nextDiagnostic = "<leader>d"; | |
| 69 | openDiagnosticFloat = "<leader>df"; | |
| 70 | renameSymbol = "rn"; | |
| 71 | documentHighlight = null; | |
| 72 | listDocumentSymbols = null; | |
| 73 | listImplementations = null; | |
| 74 | listWorkspaceFolders = null; | |
| 75 | previousDiagnostic = null; | |
| 76 | removeWorkspaceFolder = null; | |
| 77 | signatureHelp = null; | |
| 78 | toggleFormatOnSave = null; | |
| 79 | }; | |
| 80 | 50 | }; |
| 81 | 51 | languages = { |
| 82 | enableDAP = true; | |
| 83 | lua.enable = true; | |
| 84 | python.enable = true; | |
| 85 | 52 | python.format.type = "ruff"; |
| 86 | 53 | markdown = { |
| 87 | 54 | enable = true; |
users/natalie/vim/visuals.nix-11| ... | ... | @@ -1,11 +1,6 @@ |
| 1 | 1 | { pkgs, ... }: |
| 2 | 2 | { |
| 3 | 3 | vim = { |
| 4 | visuals = { | |
| 5 | indent-blankline = { | |
| 6 | enable = true; | |
| 7 | }; | |
| 8 | }; | |
| 9 | 4 | ui = { |
| 10 | 5 | noice = { |
| 11 | 6 | enable = true; |
| ... | ... | @@ -28,11 +23,5 @@ |
| 28 | 23 | }; |
| 29 | 24 | }; |
| 30 | 25 | |
| 31 | # Better help docs | |
| 32 | lazy.plugins."helpview.nvim" = { | |
| 33 | enabled = true; | |
| 34 | package = pkgs.vimPlugins.helpview-nvim; | |
| 35 | lazy = false; | |
| 36 | }; | |
| 37 | 26 | }; |
| 38 | 27 | } |