diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 9189a4e..2c6c2c2 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["jnoortheen.nix-ide"] + "recommendations": ["jnoortheen.nix-ide", "nefrob.vscode-just-syntax"] } diff --git a/flake.nix b/flake.nix index 23abb5f..d2ac833 100644 --- a/flake.nix +++ b/flake.nix @@ -28,6 +28,8 @@ url = "github:catppuccin/nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + + lazyvim.url = "github:pfassina/lazyvim-nix"; }; outputs = diff --git a/home/dev/languages.nix b/home/dev/languages.nix index 584a052..86d9f1a 100644 --- a/home/dev/languages.nix +++ b/home/dev/languages.nix @@ -22,6 +22,7 @@ dockerfile-language-server lua-language-server nixd # Nix LSP + just-lsp # Justfile LSP # ── Linter / Formatter ── biome diff --git a/home/dev/neovim.nix b/home/dev/neovim.nix index ba67c3a..d180ef3 100644 --- a/home/dev/neovim.nix +++ b/home/dev/neovim.nix @@ -1,23 +1,35 @@ -{ inputs, pkgs, ... }: +{ pkgs, ... }: { - # catppuccin/nix's nvim package is missing nvimSkipModule for detect_integrations - # Override with higher priority than mkDefault to fix require check failure - catppuccin.sources.nvim = - (inputs.catppuccin.packages.${pkgs.stdenv.hostPlatform.system}.nvim).overrideAttrs - (old: { - nvimSkipModule = (old.nvimSkipModule or [ ]) ++ [ - "catppuccin.lib.detect_integrations" - ]; - }); + # Disable catppuccin/nix neovim integration — LazyVim manages its own colorscheme + catppuccin.nvim.enable = false; programs.neovim = { - enable = true; defaultEditor = true; viAlias = true; vimAlias = true; - withNodeJs = true; - withPython3 = true; - withRuby = false; + }; + + programs.lazyvim = { + enable = true; + + extras = { + lang.nix.enable = true; + lang.go.enable = true; + lang.typescript.enable = true; + lang.python.enable = true; + lang.yaml.enable = true; + lang.docker.enable = true; + }; + + # Catppuccin Mocha colorscheme (managed by LazyVim, not catppuccin/nix) + plugins = { + colorscheme = '' + return { + "catppuccin/nvim", + opts = { flavour = "mocha" }, + } + ''; + }; }; } diff --git a/lib/default.nix b/lib/default.nix index 037ba72..bec5ce4 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -11,6 +11,7 @@ let backupFileExtension = "bak"; sharedModules = [ inputs.sops-nix.homeManagerModules.sops + inputs.lazyvim.homeManagerModules.default ]; extraSpecialArgs = { inherit inputs username;