cells/overlays
cells/overlays/default.nix is the bridge between custom package definitions, upstream overlays, and system package sets.
Up: cells
Down: pkgs | root overlays
What this node does
It composes the local package overlay with an upstream Neovim overlay, exports the result as flake.overlays.default, and injects overlays into the base branch.
let
defaultOverlay = inputs.nixpkgs.lib.composeManyExtensions [
(import ../../pkgs).overlay
inputs.neovim-nightly.overlays.default
];
in {
config.flake.overlays.default = defaultOverlay;
}Why it belongs in cells
The flake needs to expose overlays for external consumers and also use those overlays internally. A cell can do both: set config.flake.overlays.default and contribute a NixOS module that applies overlays to branch-selected systems.
Base branch injection
config.my.branches.base.nixosModules = [
{
nixpkgs.overlays = (import ../../overlays) ++ [
inputs.self.overlays.default
];
}
];This makes custom packages available to every system that selects base.