diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2026-05-21 22:48:23 -0500 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2026-05-21 22:48:23 -0500 |
| commit | 6055a9d94861e865ed293c7babd033e30777b002 (patch) | |
| tree | e580e17aab102e93b487e332c44220645f22bc3a /users/timmy | |
| parent | 4e4ec16117af9dbf1043e8b9e82e908e0efbfa75 (diff) | |
| download | nixos-6055a9d94861e865ed293c7babd033e30777b002.tar.xz nixos-6055a9d94861e865ed293c7babd033e30777b002.zip | |
neovim native plugins and entire hm config section for nvimHEADstandalone-homemaster
Diffstat (limited to 'users/timmy')
| -rw-r--r-- | users/timmy/home.nix | 46 |
1 files changed, 45 insertions, 1 deletions
diff --git a/users/timmy/home.nix b/users/timmy/home.nix index cb99456..77934bc 100644 --- a/users/timmy/home.nix +++ b/users/timmy/home.nix @@ -1,4 +1,4 @@ -{ lib, config, ... }: let +{ lib, pkgs, config, ... }: let cfg = config._users.${username}.home; username = "timmy"; email = "tjk@tjkeller.xyz"; @@ -19,6 +19,9 @@ in { options._users.${username}.home = { enable = lib.mkEnableOption "configure home for user ${username}"; + #neovim = { + # enableLSP = lib.mkEnableOption "whether to enable lsp"; + #}; }; config = lib.mkIf cfg.enable { @@ -61,5 +64,46 @@ in { lib.mkIf (dir != null) "file://${dir} ${lib.toUpper (lib.substring 0 1 name)}${lib.substring 1 (-1) name}" # Make first letter upper case ) userDirs ); + + # Setup neovim + programs._neovim = { + enable = true; + package = pkgs.unstable.neovim; + viAlias = true; + vimAlias = true; + plugins = { + lsp = { + enable = lib.mkDefault true; + languageServers.packages = with pkgs; [ + python313Packages.python-lsp-server + svelte-language-server + tailwindcss-language-server + typescript-language-server + vscode-langservers-extracted + ]; + }; + treesitter = let + allTSParserPackages = builtins.filter lib.isDerivation + (builtins.attrValues pkgs.vimPlugins.nvim-treesitter-parsers); + in { + enable = lib.mkDefault true; + parsers.packages = allTSParserPackages; + }; + packages.start = with pkgs.vimPlugins; [ + autoclose-nvim + blink-cmp + gruvbox-nvim + minitab-nvim + nvim-colorizer-lua + nvim-ts-autotag # depends on treesitter + pkgs.unstable.vimPlugins.rainbow-delimiters-nvim # depends on treesitter + snacks-nvim + ]; + }; + extraPackages = with pkgs; [ + gcc # Treesitter requires a C compiler + unzip # For zip, xlsx, etc. files + ]; + }; }; } |
