refactor(wisdom): decentralize module defaults and update conventions
Move Home Manager module defaults from a centralized `desktop-home-defaults.nix` file into their respective `wisdom` slices. This change aligns with the updated documentation regarding module ownership, where defaults live with the option that owns them rather than in a shared defaults file. Additionally, update `docs/conventions.md` to reflect this new pattern for defining `mkEnableOption` defaults and move base git/encryption configurations into the core `wisdom` module. - Delete `modules/hosts/desktop-home-defaults.nix` - Update `modules/wisdom/default.nix` to include shared git and package defaults - Add `default = ...` to `mkEnableOption` in various `wisdom` modules - Update `docs/conventions.md` with new HM slice guidelines
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
# Root module: chiasson.home.enable + bash. Other `wisdom*` slices auto-wire via
|
||||
# `lib.wisdomCatalogExtraModules`; hosts flip `chiasson.home.*.enable` rather than re-importing.
|
||||
flake.homeManagerModules.wisdom =
|
||||
{ config, lib, ... }:
|
||||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
cfg = config.chiasson.home;
|
||||
in
|
||||
@@ -29,6 +29,20 @@
|
||||
};
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable { home.packages = cfg.extraPackages; };
|
||||
config = lib.mkIf cfg.enable (lib.mkMerge [
|
||||
{ home.packages = cfg.extraPackages; }
|
||||
|
||||
# Base git identity + encryption/player tools shared by every HM user.
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings.user = {
|
||||
name = "OlivierChiasson";
|
||||
email = "olivierchiasson@hotmail.fr";
|
||||
};
|
||||
};
|
||||
home.packages = [ pkgs.git-crypt pkgs.feishin ];
|
||||
}
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user