diff --git a/modules/neovim/default.nix b/modules/neovim/default.nix index 9357898..d534b68 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,24 +19,6 @@ enable = true; }; - undoFile.enable = true; - - options = { - tabstop = 2; - softtabstop = 2; - shiftwidth = 2; - 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 +93,6 @@ css.enable = true; html.enable = true; markdown.enable = true; - nix.enable = true; python.enable = true; rust.crates.enable = true; rust.enable = true; @@ -119,8 +101,12 @@ lua.enable = true; # sort-lines: off - ts.format.enable = true; # deno fmt is enabled elsewhere - nix.format.type = "nixfmt"; # looks so much nicer + ts.format.enable = false; # deno fmt is enabled elsewhere + 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; + }; +} diff --git a/users/chloe/home.nix b/users/chloe/home.nix index ee1c0ea..1899685 100644 --- a/users/chloe/home.nix +++ b/users/chloe/home.nix @@ -19,6 +19,7 @@ in ]; # packages to install for desktop environments (non-server) desktop = [ + git-town ]; # packages to install on all servers server = [ ]; @@ -46,7 +47,7 @@ in shader = "cursor-smear-black.glsl"; package = null; settings = { - theme = "catppuccin-latte"; + theme = "light:catppuccin-latte,dark:catppuccin-macchiato"; font-family = "AT Name Mono"; adjust-cursor-thickness = 1; minimum-contrast = 1.1; diff --git a/users/chloe/paperback/home.nix b/users/chloe/paperback/home.nix index bf0affe..e2ce2a7 100644 --- a/users/chloe/paperback/home.nix +++ b/users/chloe/paperback/home.nix @@ -2,8 +2,16 @@ { # these programs are not globally installed to reduce distractions. # most of these are needed for my work environment. - programs.bun.enable = true; - programs.zed-editor.enable = true; + programs = { + bun.enable = true; + zed-editor.enable = true; + zsh.profileExtra = '' + _bun() { + local context state line + _arguments -C '*:file:_files' + } + ''; + }; home.packages = with pkgs; [ doppler nodejs_22 @@ -14,5 +22,7 @@ yt-dlp spotdl zig + ssm-session-manager-plugin + awscli ]; }