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.
45 lines
925 B
Nix
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;
|
|
}
|
|
];
|
|
}
|