blob: ecc5203cf595392a8aea21d2558a4fad8934f4e9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
{
config,
lib,
...
}: let
cfg = config.base.defaultRoot;
inherit (lib) mkDefault mkEnableOption mkIf;
# yes this is a bad way to detect which option should be used (or exists)
# but i'm lazy. please do not copy this
passwordFile =
if lib.versionAtLeast config.system.stateVersion "23.11"
then "hashedPasswordFile"
else "passwordFile";
in {
options.base.defaultRoot.enable = mkEnableOption "default root user";
config = mkIf cfg.enable {
users.users.root = {
home = mkDefault "/root";
uid = mkDefault config.ids.uids.root;
group = mkDefault "root";
"${passwordFile}" = mkDefault config.age.secrets.rootPassword.path;
};
};
}
|