diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix index ec3abab..1b2608c 100644 --- a/modules/neovim/default.nix +++ b/modules/neovim/default.nix @@ -5,6 +5,7 @@ ... }: { + imports = [ ./options.nix ]; # based on default options from upstream: # https://github.com/NotAShelf/nvf/blob/main/configuration.nix # @@ -18,23 +19,6 @@ 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 @@ -110,7 +94,6 @@ css.enable = true; html.enable = true; markdown.enable = true; - nix.enable = true; python.enable = true; rust.crates.enable = true; rust.enable = true; @@ -120,7 +103,11 @@ # sort-lines: off ts.format.enable = false; # deno fmt is enabled elsewhere - nix.format.type = "nixfmt"; # looks so much nicer + nix = { + enable = true; + format.type = "nixfmt"; # looks so much nicer + lsp.options.autoArchive = true; + }; }; formatter.conform-nvim = { enable = true; diff --git a/modules/neovim/options.nix b/modules/neovim/options.nix new file mode 100644 index 0000000..032068c --- /dev/null +++ b/modules/neovim/options.nix @@ -0,0 +1,26 @@ +{ ... }: +{ + config.vim.options = { + # Indentation + tabstop = 2; + softtabstop = 2; + shiftwidth = 2; + showmode = false; + + # Default to treesitter folding + foldenable = true; + foldmethod = "expr"; + foldexpr = "v:lua.vim.treesitter.foldexpr()"; + foldlevel = 99; + foldcolumn = "1"; + foldlevelstart = 99; + + # Case-insensitive find-in-file + ignorecase = true; + smartcase = true; + + # Enable swapfile, but not in the same location as the source files. + undofile = true; + swapfile = true; + }; +}