nixos/regreet: use proper user in tmpfiles (#284722)

Changed files
+20 -4
nixos
modules
programs
+20 -4
nixos/modules/programs/regreet.nix
···
let
cfg = config.programs.regreet;
settingsFormat = pkgs.formats.toml { };
in
{
options.programs.regreet = {
···
'';
};
-
package = lib.mkPackageOption pkgs [ "greetd" "regreet" ] { };
settings = lib.mkOption {
type = settingsFormat.type;
···
"greetd/regreet.css" =
if lib.isPath cfg.extraCss then { source = cfg.extraCss; } else { text = cfg.extraCss; };
-
"greetd/regreet.toml".source = settingsFormat.generate "regreet.toml" cfg.settings;
};
systemd.tmpfiles.settings."10-regreet" =
let
defaultConfig = {
-
user = "greeter";
-
group = config.users.users.${config.services.greetd.settings.default_session.user}.group;
mode = "0755";
};
dataDir =
···
"/var/log/regreet".d = defaultConfig;
}
// dataDir;
};
}
···
let
cfg = config.programs.regreet;
settingsFormat = pkgs.formats.toml { };
+
user = config.services.greetd.settings.default_session.user;
in
{
options.programs.regreet = {
···
'';
};
+
package = lib.mkPackageOption pkgs [
+
"greetd"
+
"regreet"
+
] { };
settings = lib.mkOption {
type = settingsFormat.type;
···
"greetd/regreet.css" =
if lib.isPath cfg.extraCss then { source = cfg.extraCss; } else { text = cfg.extraCss; };
+
"greetd/regreet.toml".source =
+
if lib.isPath cfg.settings then
+
cfg.settings
+
else
+
settingsFormat.generate "regreet.toml" cfg.settings;
};
systemd.tmpfiles.settings."10-regreet" =
let
defaultConfig = {
+
inherit user;
+
group =
+
if config.users.users.${user}.group != "" then config.users.users.${user}.group else "greeter";
mode = "0755";
};
dataDir =
···
"/var/log/regreet".d = defaultConfig;
}
// dataDir;
+
+
assertions = [
+
{
+
assertion = (config.users.users.${user} or { }) != { };
+
message = "regreet: user ${user} does not exist. Please create it before referencing it.";
+
}
+
];
};
}