Add modules.toolkit, an aggregator that enables fish, tmux, nvim, git, and direnv as one unit, so any Host or Guest shell feels identical. Each member is set via mkDefault, so a Host can still override any single piece while the one flag brings up the whole bundle. neogaia now enables the bundle as a single line in place of its five individual enables, keeping the Host a flat checklist.
19 lines
643 B
Nix
19 lines
643 B
Nix
{ config, lib, ... }:
|
|
# The baseline interactive toolset as one deliberate bundle.
|
|
let
|
|
cfg = config.modules.toolkit;
|
|
in
|
|
{
|
|
options.modules.toolkit.enable =
|
|
lib.mkEnableOption "the baseline interactive environment — fish, tmux, nvim, git, and direnv — as one unit";
|
|
|
|
# Each piece is turned on at default priority, so a host can still override any one of them.
|
|
config = lib.mkIf cfg.enable {
|
|
modules.fish.enable = lib.mkDefault true;
|
|
modules.tmux.enable = lib.mkDefault true;
|
|
modules.nvim.enable = lib.mkDefault true;
|
|
modules.git.enable = lib.mkDefault true;
|
|
modules.direnv.enable = lib.mkDefault true;
|
|
};
|
|
}
|