nixos/regreet: use proper user in tmpfiles

This commit is contained in:
Mihai Fufezan 2024-01-29 10:41:13 +02:00 committed by Mihai Fufezan
parent 43fd8c10aa
commit bc77f0e719
No known key found for this signature in database

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.";
}
];
}; };
} }