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:
@@ -17,10 +17,6 @@
|
||||
userCli.enable = true;
|
||||
};
|
||||
|
||||
chiasson.users.extraModules.olivier =
|
||||
self.lib.wisdomCatalogExtraModules self
|
||||
++ [
|
||||
self.homeManagerModules.desktopHomeDefaults
|
||||
];
|
||||
chiasson.users.extraModules.olivier = self.lib.wisdomCatalogExtraModules self;
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,77 +0,0 @@
|
||||
# Shared HM defaults for desktop hosts (git identity, wisdom catalog toggles).
|
||||
{ ... }: {
|
||||
flake.homeManagerModules.desktopHomeDefaults =
|
||||
{ lib, pkgs, ... }:
|
||||
let
|
||||
aarch64 = pkgs.stdenv.hostPlatform.isAarch64;
|
||||
in
|
||||
{
|
||||
programs.git = {
|
||||
enable = lib.mkDefault true;
|
||||
settings.user = {
|
||||
name = "OlivierChiasson";
|
||||
email = "olivierchiasson@hotmail.fr";
|
||||
};
|
||||
};
|
||||
|
||||
#TODO[epic=Moderate] Check if git-crypt should belong in desktop-home-base.
|
||||
home.packages = [ pkgs.git-crypt pkgs.feishin ];
|
||||
|
||||
chiasson.home = {
|
||||
shell = {
|
||||
fish.enable = lib.mkDefault true;
|
||||
ohMyPosh.enable = lib.mkDefault true;
|
||||
yazi.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
terminals.kitty.enable = lib.mkDefault true;
|
||||
|
||||
filebrowsers.nemo.enable = lib.mkDefault true;
|
||||
|
||||
browsers = {
|
||||
chrome.enable = lib.mkDefault false;
|
||||
chromiumHevc = {
|
||||
enable = lib.mkDefault true;
|
||||
packages = lib.mkDefault (
|
||||
if aarch64 then
|
||||
[ "chromium" ]
|
||||
else
|
||||
[ "google-chrome" ]
|
||||
);
|
||||
} // lib.optionalAttrs (!aarch64) {
|
||||
vaapi.gpu = lib.mkDefault "intel";
|
||||
};
|
||||
edge.enable = lib.mkDefault false;
|
||||
flow.enable = lib.mkDefault false;
|
||||
orion.enable = lib.mkDefault false;
|
||||
zen.enable = lib.mkDefault false;
|
||||
};
|
||||
|
||||
editors = {
|
||||
cursor.enable = lib.mkDefault true;
|
||||
kate.enable = lib.mkDefault false;
|
||||
obsidian.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
apps = {
|
||||
discord.enable = lib.mkDefault false;
|
||||
localsend.enable = lib.mkDefault true;
|
||||
pokeclicker.enable = lib.mkDefault false;
|
||||
spotify = {
|
||||
enable = lib.mkDefault false;
|
||||
openDiscoveryFirewall = lib.mkDefault false;
|
||||
};
|
||||
};
|
||||
|
||||
desktop = {
|
||||
screenshot = {
|
||||
enable = lib.mkDefault true;
|
||||
swiftshareApiKeyFile = "/run/secrets/swiftshare/API_KEY"; #TODO[epic=sops] redo this by passing sops file output directly
|
||||
};
|
||||
theming.enable = lib.mkDefault true;
|
||||
};
|
||||
|
||||
hardware.uconsoleGamepad.enable = lib.mkDefault false;
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user