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

This commit is contained in:
isabel 2025-05-08 20:31:42 +01:00 committed by GitHub
commit d0d992d748
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -7,6 +7,7 @@
let let
cfg = config.programs.regreet; cfg = config.programs.regreet;
settingsFormat = pkgs.formats.toml { }; settingsFormat = pkgs.formats.toml { };
user = config.services.greetd.settings.default_session.user;
in in
{ {
options.programs.regreet = { options.programs.regreet = {
@ -25,7 +26,10 @@ in
''; '';
}; };
package = lib.mkPackageOption pkgs [ "greetd" "regreet" ] { }; package = lib.mkPackageOption pkgs [
"greetd"
"regreet"
] { };
settings = lib.mkOption { settings = lib.mkOption {
type = settingsFormat.type; type = settingsFormat.type;
@ -157,14 +161,19 @@ in
"greetd/regreet.css" = "greetd/regreet.css" =
if lib.isPath cfg.extraCss then { source = cfg.extraCss; } else { text = cfg.extraCss; }; if lib.isPath cfg.extraCss then { source = cfg.extraCss; } else { text = cfg.extraCss; };
"greetd/regreet.toml".source = settingsFormat.generate "regreet.toml" cfg.settings; "greetd/regreet.toml".source =
if lib.isPath cfg.settings then
cfg.settings
else
settingsFormat.generate "regreet.toml" cfg.settings;
}; };
systemd.tmpfiles.settings."10-regreet" = systemd.tmpfiles.settings."10-regreet" =
let let
defaultConfig = { defaultConfig = {
user = "greeter"; inherit user;
group = config.users.users.${config.services.greetd.settings.default_session.user}.group; group =
if config.users.users.${user}.group != "" then config.users.users.${user}.group else "greeter";
mode = "0755"; mode = "0755";
}; };
dataDir = dataDir =
@ -177,5 +186,12 @@ in
"/var/log/regreet".d = defaultConfig; "/var/log/regreet".d = defaultConfig;
} }
// dataDir; // dataDir;
assertions = [
{
assertion = (config.users.users.${user} or { }) != { };
message = "regreet: user ${user} does not exist. Please create it before referencing it.";
}
];
}; };
} }