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:
2026-07-16 13:51:48 -03:00
parent 579a120326
commit 13f35677be
24 changed files with 80 additions and 107 deletions
+16 -2
View File
@@ -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 ];
}
]);
};
}