feat(neovim): switch to LazyVim via lazyvim-nix and add just-lsp

This commit is contained in:
2026-04-11 22:06:53 +08:00
parent 55207459e6
commit 43b69e3c27
5 changed files with 31 additions and 15 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
{ {
"recommendations": ["jnoortheen.nix-ide"] "recommendations": ["jnoortheen.nix-ide", "nefrob.vscode-just-syntax"]
} }
+2
View File
@@ -28,6 +28,8 @@
url = "github:catppuccin/nix"; url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
lazyvim.url = "github:pfassina/lazyvim-nix";
}; };
outputs = outputs =
+1
View File
@@ -22,6 +22,7 @@
dockerfile-language-server dockerfile-language-server
lua-language-server lua-language-server
nixd # Nix LSP nixd # Nix LSP
just-lsp # Justfile LSP
# ── Linter / Formatter ── # ── Linter / Formatter ──
biome biome
+26 -14
View File
@@ -1,23 +1,35 @@
{ inputs, pkgs, ... }: { pkgs, ... }:
{ {
# catppuccin/nix's nvim package is missing nvimSkipModule for detect_integrations # Disable catppuccin/nix neovim integration — LazyVim manages its own colorscheme
# Override with higher priority than mkDefault to fix require check failure catppuccin.nvim.enable = false;
catppuccin.sources.nvim =
(inputs.catppuccin.packages.${pkgs.stdenv.hostPlatform.system}.nvim).overrideAttrs
(old: {
nvimSkipModule = (old.nvimSkipModule or [ ]) ++ [
"catppuccin.lib.detect_integrations"
];
});
programs.neovim = { programs.neovim = {
enable = true;
defaultEditor = true; defaultEditor = true;
viAlias = true; viAlias = true;
vimAlias = 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" },
}
'';
};
}; };
} }
+1
View File
@@ -11,6 +11,7 @@ let
backupFileExtension = "bak"; backupFileExtension = "bak";
sharedModules = [ sharedModules = [
inputs.sops-nix.homeManagerModules.sops inputs.sops-nix.homeManagerModules.sops
inputs.lazyvim.homeManagerModules.default
]; ];
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs username; inherit inputs username;