refactor(fish): split config.fish into fragments concatenated by Nix

Break the interactive init into concern-scoped fish files under
modules/fish/config/ (bindings, env, done, path) and assemble them with
lib.concatMapStringsSep + readFile into a single interactiveShellInit, so
home-manager still writes one ~/.config/fish/config.fish. The pieces stay
editable as separate fish files; the rendered file is unchanged.
This commit is contained in:
2026-07-18 19:05:39 -04:00
parent 95869fb11f
commit f54d0460ad
7 changed files with 32 additions and 25 deletions

View File

@@ -115,7 +115,15 @@ in
};
};
interactiveShellInit = builtins.readFile ./config.fish;
# config.fish is assembled here, in order, from the fragments under
# ./config so each concern stays an editable fish file while
# home-manager still writes a single ~/.config/fish/config.fish.
interactiveShellInit = lib.concatMapStringsSep "\n" builtins.readFile [
./config/bindings.fish
./config/env.fish
./config/done.fish
./config/path.fish
];
};
};
};