flocon/modules/options/homeVars.nix
Anthony Rodriguez fc876b2ea5
treewide: update options API
The options API has been updated, in order for a more flexible setup
with `local.modules.desktop.enable` being replaced with an enum of
desktops at `local.systemVars.desktop`, which allows for switching
desktop environments by changing a single option. This is so that we can
switch to cosmic and only enable the programs we need (i.e. disable
greetd because we use cosmic-greeter and enable terminals since that is
desktop related). This is simpler than having a different module per
desktop.
2025-02-06 18:47:01 +01:00

45 lines
925 B
Nix

{
config,
lib,
options,
...
}: let
inherit (lib) mkOption;
inherit (lib.modules) mkIf;
inherit (lib.types) str;
in {
options.local.homeVars = {
fullName = mkOption {
type = str;
description = ''
your full name (used for git commits and user description)
'';
default = "User";
};
email = mkOption {
type = str;
description = ''
your email (used for git commits)
'';
default = null;
};
signingKey = mkOption {
type = str;
description = ''
your ssh public key (used for signing git commits)"
'';
};
};
config.assertions = mkIf (!config.local.profiles.server.enable) [
{
assertion = options.local.homeVars.fullName.isDefined;
}
{
assertion = options.local.homeVars.email.isDefined;
}
{
assertion = options.local.homeVars.signingKey.isDefined;
}
];
}