summaryrefslogtreecommitdiff
path: root/users
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2026-05-21 22:48:23 -0500
committerTim Keller <tjk@tjkeller.xyz>2026-05-21 22:48:23 -0500
commit6055a9d94861e865ed293c7babd033e30777b002 (patch)
treee580e17aab102e93b487e332c44220645f22bc3a /users
parent4e4ec16117af9dbf1043e8b9e82e908e0efbfa75 (diff)
downloadnixos-6055a9d94861e865ed293c7babd033e30777b002.tar.xz
nixos-6055a9d94861e865ed293c7babd033e30777b002.zip
neovim native plugins and entire hm config section for nvimHEADstandalone-homemaster
Diffstat (limited to 'users')
-rw-r--r--users/timmy/home.nix46
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
+ ];
+ };
};
}