|
13 | 13 | withPython3 = false; |
14 | 14 |
|
15 | 15 | extraPackages = with pkgs; [ |
16 | | - # LazyVim dependencies |
| 16 | + # LazyVim-specific deps. ripgrep/fd/gnumake/gcc/unzip/tree-sitter live |
| 17 | + # on user PATH via home/dev.nix + home/shell/packages.nix — neovim |
| 18 | + # finds them there, so no need to duplicate into the wrapper. |
17 | 19 | lazygit |
18 | | - ripgrep |
19 | | - fd |
20 | 20 |
|
21 | | - # Build tools often needed by Mason/Lazy |
22 | | - gnumake |
23 | | - gcc |
24 | | - unzip |
25 | | - tree-sitter |
26 | | - |
27 | | - # Language servers / Formatters |
| 21 | + # Language servers / Formatters not shared with other tools |
28 | 22 | lua-language-server |
29 | 23 | stylua |
30 | 24 | ]; |
|
44 | 38 | require("lazy").setup({ |
45 | 39 | spec = { |
46 | 40 | { "LazyVim/LazyVim", import = "lazyvim.plugins" }, |
| 41 | + -- Language extras (need matching LSPs on PATH via home/dev.nix) |
| 42 | + { import = "lazyvim.plugins.extras.lang.nix" }, |
| 43 | + { import = "lazyvim.plugins.extras.lang.go" }, |
| 44 | + { import = "lazyvim.plugins.extras.lang.typescript" }, |
| 45 | + { import = "lazyvim.plugins.extras.lang.python" }, |
| 46 | + { import = "lazyvim.plugins.extras.lang.toml" }, |
| 47 | + { import = "lazyvim.plugins.extras.lang.markdown" }, |
47 | 48 | { import = "plugins" }, |
48 | 49 | }, |
49 | 50 | defaults = { |
50 | 51 | lazy = false, |
51 | 52 | version = false, |
52 | 53 | }, |
53 | | - install = { colorscheme = { "tokyonight", "habamax" } }, |
| 54 | + install = { colorscheme = { "catppuccin-mocha", "habamax" } }, |
54 | 55 | checker = { enabled = false }, |
| 56 | + -- Plugin specs come from immutable Nix store paths; the rebuild bumps |
| 57 | + -- the path on every HM switch and lazy.nvim emits noisy "config |
| 58 | + -- changed" reload prompts. Disable detection entirely. |
| 59 | + change_detection = { |
| 60 | + enabled = false, |
| 61 | + notify = false, |
| 62 | + }, |
55 | 63 | performance = { |
56 | 64 | rtp = { |
57 | 65 | disabled_plugins = { |
|
70 | 78 | vim.g.mapleader = " " |
71 | 79 | ''; |
72 | 80 |
|
73 | | - "nvim/lua/plugins/example.lua".text = '' |
74 | | - return {} |
| 81 | + "nvim/lua/plugins/colorscheme.lua".text = '' |
| 82 | + return { |
| 83 | + { "catppuccin/nvim", name = "catppuccin", priority = 1000 }, |
| 84 | + { |
| 85 | + "LazyVim/LazyVim", |
| 86 | + opts = { colorscheme = "catppuccin-mocha" }, |
| 87 | + }, |
| 88 | + } |
| 89 | + ''; |
| 90 | + |
| 91 | + # Disable Mason entirely. Mason downloads prebuilt ELF binaries that |
| 92 | + # need a glibc FHS layout — broken on NixOS. nvim-lspconfig keeps |
| 93 | + # running and picks up LSPs/formatters from system PATH (installed |
| 94 | + # via home/dev.nix + home/shell/packages.nix). |
| 95 | + "nvim/lua/plugins/disable-mason.lua".text = '' |
| 96 | + return { |
| 97 | + { "mason-org/mason.nvim", enabled = false }, |
| 98 | + { "mason-org/mason-lspconfig.nvim", enabled = false }, |
| 99 | + { "WhoIsSethDaniel/mason-tool-installer.nvim", enabled = false }, |
| 100 | + { "jay-babu/mason-nvim-dap.nvim", enabled = false }, |
| 101 | + } |
75 | 102 | ''; |
76 | 103 | }; |
77 | 104 | } |
0 commit comments