From f8e84b1e18d39632ead22b7c45fe4e97691bed29 Mon Sep 17 00:00:00 2001 From: Tom van der Lee Date: Mon, 21 Sep 2026 12:16:50 +0200 Subject: Fix Neovim plugins never loading via sideloadInitLua home-manager's programs.neovim module always writes a non-empty ~/.config/nvim/init.lua, which permanently conflicts with Stow linking the dotfiles-owned lazy.nvim config to that same path - Stow skips the package and plugins never load. Setting sideloadInitLua = true frees that path for the dotfiles config to own exclusively. Also provisions a C compiler and tree-sitter (moved from dev-tools.nix) so natively- built plugins can compile on every platform. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01BBSd4VBfoKHjE1HR3P8kmn --- modules/home/dev-tools.nix | 1 - modules/home/editor.nix | 13 +++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) (limited to 'modules/home') diff --git a/modules/home/dev-tools.nix b/modules/home/dev-tools.nix index f98790e..f74c2b7 100644 --- a/modules/home/dev-tools.nix +++ b/modules/home/dev-tools.nix @@ -5,7 +5,6 @@ tmux htop yq-go - tree-sitter docker docker-compose kubectl diff --git a/modules/home/editor.nix b/modules/home/editor.nix index b687552..413ca8f 100644 --- a/modules/home/editor.nix +++ b/modules/home/editor.nix @@ -1,7 +1,20 @@ +{ pkgs, ... }: { programs.neovim = { enable = true; defaultEditor = true; vimAlias = true; + # Never write ~/.config/nvim/init.lua ourselves - that path is owned by + # the externally-managed dotfiles config (lazy.nvim + plugins), stowed + # in separately. Without this, home-manager's own generated init.lua + # permanently conflicts with that stow package and it gets skipped. + sideloadInitLua = true; }; + + # tree-sitter (parser compilation) and a C compiler for natively-built + # Neovim plugins declared by the dotfiles-owned config above. + home.packages = with pkgs; [ + tree-sitter + stdenv.cc + ]; } -- cgit v1.3