feat(toolkit): bundle the baseline interactive toolset (task 0001)
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.
This commit is contained in:
18
modules/toolkit.nix
Normal file
18
modules/toolkit.nix
Normal file
@@ -0,0 +1,18 @@
|
||||
{ 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;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user