diff --git a/README.md b/README.md index 70c2e50..54985a2 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ The input is [the existing neovim-dots repository](https://git.cyber.ayyalasomay Home Manager deploys its files under `~/.config/nvim`, with the **Lua, AstroNvim, Lazy, Mason, plugins and keymaps unchanged**. `programs.neovim.configure` stays empty so Neovim discovers `init.lua` normally. No Nixvim or custom Lua loader. +- `tools.nix` supplies GCC/Make, pkg-config, Python, Node, Lua 5.1/LuaRocks and `nix-ld` for the existing plugin builds and Mason's upstream Linux executables. These are runtime prerequisites, not a replacement plugin manager or project-template framework. - Configuration files are linked from the pinned source and managed by Nix. Change the upstream repo and its input revision rather than editing generated links. - Lazy's `lazy-lock.json` must remain writable. The config seeds a copy at `~/.local/state/nvim/locks/.json` and links to it. A new dotfile revision gets its own original lock; repeated activation preserves runtime changes to an existing lock. - A declared migration preserves the earlier manual checkout intact at `~/projects/neovim-dots-before-nix`. It refuses to overwrite an existing backup. On a clean home this migration does nothing. diff --git a/tools.nix b/tools.nix index 04f5d3b..71c331b 100644 --- a/tools.nix +++ b/tools.nix @@ -6,10 +6,20 @@ in { programs.git.enable = true; programs.zsh.enable = true; + # Mason's upstream Linux executables expect a conventional dynamic loader. + programs.nix-ld.enable = true; environment.systemPackages = with pkgs; [ nixfmt pi-coding-agent + # Runtime build prerequisites for the unchanged Lazy/Mason plugin workflow. + gcc + gnumake + pkg-config + python3 + nodejs + lua5_1 + luajitPackages.luarocks ripgrep fd eza