diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix index be917ad..30088d3 100644 --- a/modules/neovim/default.nix +++ b/modules/neovim/default.nix @@ -17,6 +17,24 @@ theme = { enable = true; }; + + options = { + tabstop = 2; + softtabstop = 2; + shiftwidth = 2; + undofile = true; + swapfile = false; + showmode = false; + foldlevel = 99; + foldcolumn = "1"; + foldlevelstart = 99; + foldenable = true; + foldmethod = "expr"; + #Default to treesitter folding + foldexpr = "v:lua.vim.treesitter.foldexpr()"; + }; + + visuals = { # notification system # https://github.com/j-hui/fidget.nvim @@ -26,7 +44,7 @@ highlight-undo.enable = true; # indentation guides # https://github.com/lukas-reineke/indent-blankline.nvim - indent-blankline.enable = false; + indent-blankline.enable = true; # extra icons nvim-web-devicons.enable = true; # https://github.com/petertriho/nvim-scrollbar @@ -35,16 +53,41 @@ lsp = { # Must be enabled for language modules to hook into the LSP API. enable = true; + # enable debug adapter protocal by default + enableDAP = true; + formatOnSave = true; # show errors inline # https://github.com/folke/trouble.nvim trouble.enable = true; # show lightbulb icon in gutter to indicate code actions # https://github.com/kosayoda/nvim-lightbulb - lightbulb.enable = true; + lightbulb.enable = false; # show icons in auto-completion menu # https://github.com/onsails/lspkind.nvim lspkind.enable = config.vim.autocomplete.blink-cmp.enable; + # Enables inlay hints (types info in rust and shit) + inlayHints.enable = true; + #Nice mappings that i use :3 + mappings = { + codeAction = "ca"; + goToDeclaration = "gD"; + goToDefinition = "gd"; + listReferences = "gr"; + goToType = "gy"; + hover = "K"; + nextDiagnostic = "d"; + openDiagnosticFloat = "df"; + renameSymbol = "rn"; + documentHighlight = null; + listDocumentSymbols = null; + listImplementations = null; + listWorkspaceFolders = null; + previousDiagnostic = null; + removeWorkspaceFolder = null; + signatureHelp = null; + toggleFormatOnSave = null; + }; }; treesitter = { enable = true; @@ -73,6 +116,7 @@ rust.enable = true; ts.enable = true; zig.enable = true; + lua.enable = true; # sort-lines: off ts.format.enable = false; # deno fmt is enabled elsewhere @@ -207,5 +251,11 @@ gitsigns.enable = true; gitsigns.codeActions.enable = false; # throws an annoying debug message }; + # Better help docs + lazy.plugins."helpview.nvim" = { + enabled = true; + package = pkgs.vimPlugins.helpview-nvim; + lazy = false; + }; }; } diff --git a/users/chloe/vim.nix b/users/chloe/vim.nix index 79cb730..0b3cc08 100644 --- a/users/chloe/vim.nix +++ b/users/chloe/vim.nix @@ -1,17 +1,6 @@ _: { vim = { - languages.astro.enable = true; options = { - tabstop = 2; - softtabstop = 2; - shiftwidth = 2; - undofile = true; - swapfile = false; - showmode = false; - foldlevel = 99; - foldcolumn = "1"; - foldlevelstart = 99; - foldenable = true; linebreak = true; }; git = { @@ -41,11 +30,6 @@ _: { # Find Files (n "" ":lua require('snacks').picker.smart()" "Smart Find Files") (n "f" ":lua require('snacks').picker.grep()" "Grep Files") - # Lsp - (n "K" ":Lspsaga hover_doc" "Hover docs") - (n "lr" ":lua vim.lsp.buf.rename()" "Rename") - (n "gd" ":lua vim.lsp.buf.definition()" "Go to Definition") - (n "gD" ":lua vim.lsp.buf.declaration()" "Go to Declaration") ]; }; } diff --git a/users/julia/vim.nix b/users/julia/vim.nix index eb49c66..52c14b8 100644 --- a/users/julia/vim.nix +++ b/users/julia/vim.nix @@ -1,21 +1,3 @@ { ... }: { - vim.languages.astro.enable = true; - vim.theme.extraConfig = '' - if vim.g.neovide then - vim.g.neovide_cursor_trail_size = 0.3 - vim.g.neovide_scroll_animation_length = 0.1; - - vim.keymap.set('n', '', ':w') -- Save - vim.keymap.set('v', '', '"+y') -- Copy - vim.keymap.set('n', '', '"+P') -- Paste normal mode - vim.keymap.set('v', '', '"+P') -- Paste visual mode - vim.keymap.set('c', '', '+') -- Paste command mode - vim.keymap.set('i', '', 'l"+Pli') -- Paste insert mode - end - vim.api.nvim_set_keymap("", '', '+p', { noremap = true, silent = true}) - vim.api.nvim_set_keymap('!', '', '+', { noremap = true, silent = true}) - vim.api.nvim_set_keymap('t', '', '+', { noremap = true, silent = true}) - vim.api.nvim_set_keymap('v', '', '+', { noremap = true, silent = true}) - ''; } diff --git a/users/natalie/vim.nix b/users/natalie/vim.nix index c58abf2..ec5865f 100644 --- a/users/natalie/vim.nix +++ b/users/natalie/vim.nix @@ -9,21 +9,6 @@ withPython3 = true; python3Packages = [ "pynvim" ]; - options = { - tabstop = 2; - softtabstop = 2; - shiftwidth = 2; - undofile = true; - swapfile = false; - showmode = false; - foldlevel = 99; - foldcolumn = "1"; - foldlevelstart = 99; - foldenable = true; - foldmethod = "expr"; - #Default to treesitter folding - foldexpr = "v:lua.vim.treesitter.foldexpr()"; - }; autocmds = [ #Autocommand to fall back to treesitter folding if LSP doesnt support it @@ -44,28 +29,9 @@ tabline = { nvimBufferline.enable = true; }; - # nvf versions is VERY outdated - # pluginOverrides = { - # hardtime-nvim = pkgs.fetchFromGitHub { - # owner = "m4xshen"; - # repo = "hardtime.nvim"; - # rev = "v1.0.1"; - # hash = "sha256-5tqiSuGvBJcr8l6anEBojXEaaxFS1P5T1ROr46ylVhk="; - # }; - # }; startPlugins = [ "nui-nvim" ]; - binds = { - hardtime-nvim = { - enable = false; - setupOpts = { - disable_mouse = false; - restriction_mode = "warn"; - }; - }; - }; - theme = { name = "catppuccin"; style = "mocha"; diff --git a/users/natalie/vim/keybinds.nix b/users/natalie/vim/keybinds.nix index 7ea6545..cc6d5d4 100644 --- a/users/natalie/vim/keybinds.nix +++ b/users/natalie/vim/keybinds.nix @@ -1,26 +1,19 @@ { ... }: -let - mkKeymap = mode: key: action: desc: { - inherit - mode - key - action - desc - ; - }; + let + mkKeymap = mode: key: action: desc: { + inherit mode; + inherit key action desc; + }; + n = mkKeymap "n"; # normal mode in { vim = { keymaps = [ - (mkKeymap "n" "e" ":lua require('snacks').explorer()" "File Explorer") - + (n "e" ":lua require('snacks').explorer()" "File Explorer") # Snacks Picker Replaces Telescope!? - (mkKeymap "n" "" ":lua require('snacks').picker.smart()" "Smart Find Files") - (mkKeymap "n" "ff" ":lua require('snacks').picker.files()" "Find File") - (mkKeymap "n" "fg" ":lua require('snacks').picker.grep()" "Grep Files") - # Lsp - (mkKeymap "n" "lr" ":lua vim.lsp.buf.rename()" "Rename") - # (mkKeymap "n" "th" ":lua function() vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) end" "Toggle Inlay Hints") + (n "" ":lua require('snacks').picker.smart()" "Smart Find Files") + (n "ff" ":lua require('snacks').picker.files()" "Find File") + (n "fg" ":lua require('snacks').picker.grep()" "Grep Files") ]; }; } diff --git a/users/natalie/vim/languages.nix b/users/natalie/vim/languages.nix index 630dacd..e434596 100644 --- a/users/natalie/vim/languages.nix +++ b/users/natalie/vim/languages.nix @@ -12,17 +12,6 @@ nixd ]; lsp = { - formatOnSave = true; - lightbulb.enable = false; - # lspsaga = { - # enable = true; - # setupOpts = { - # lightbulb = { - # virtual_text = false; - # }; - # }; - # }; - inlayHints.enable = true; servers = { nil = { settings.nil.nix.flake = { @@ -58,30 +47,8 @@ }; }; }; - mappings = { - codeAction = "ca"; - goToDeclaration = "gD"; - goToDefinition = "gd"; - listReferences = "gr"; - goToType = "gy"; - hover = "K"; - nextDiagnostic = "d"; - openDiagnosticFloat = "df"; - renameSymbol = "rn"; - documentHighlight = null; - listDocumentSymbols = null; - listImplementations = null; - listWorkspaceFolders = null; - previousDiagnostic = null; - removeWorkspaceFolder = null; - signatureHelp = null; - toggleFormatOnSave = null; - }; }; languages = { - enableDAP = true; - lua.enable = true; - python.enable = true; python.format.type = "ruff"; markdown = { enable = true; diff --git a/users/natalie/vim/visuals.nix b/users/natalie/vim/visuals.nix index 357fb36..09759c3 100644 --- a/users/natalie/vim/visuals.nix +++ b/users/natalie/vim/visuals.nix @@ -1,11 +1,6 @@ { pkgs, ... }: { vim = { - visuals = { - indent-blankline = { - enable = true; - }; - }; ui = { noice = { enable = true; @@ -28,11 +23,5 @@ }; }; - # Better help docs - lazy.plugins."helpview.nvim" = { - enabled = true; - package = pkgs.vimPlugins.helpview-nvim; - lazy = false; - }; }; }