Merge pull request #287304 from ambroisie/pyload-user-group

nixos/pyload: add user/group options
This commit is contained in:
Peder Bergebakken Sundt
2024-02-10 14:59:23 +01:00
committed by GitHub
+23 -4
View File
@@ -34,6 +34,18 @@ in
description = "Directory to store downloads.";
};
user = mkOption {
type = types.str;
default = "pyload";
description = "User under which pyLoad runs, and which owns the download directory.";
};
group = mkOption {
type = types.str;
default = "pyload";
description = "Group under which pyLoad runs, and which owns the download directory.";
};
credentialsFile = mkOption {
type = with types; nullOr path;
default = null;
@@ -52,7 +64,7 @@ in
config = lib.mkIf cfg.enable {
systemd.tmpfiles.settings.pyload = {
${cfg.downloadDirectory}.d = { };
${cfg.downloadDirectory}.d = { inherit (cfg) user group; };
};
systemd.services.pyload = {
@@ -80,9 +92,8 @@ in
cfg.downloadDirectory
];
User = "pyload";
Group = "pyload";
DynamicUser = true;
User = cfg.user;
Group = cfg.group;
EnvironmentFile = lib.optional (cfg.credentialsFile != null) cfg.credentialsFile;
@@ -143,5 +154,13 @@ in
];
};
};
users.users.pyload = lib.mkIf (cfg.user == "pyload") {
isSystemUser = true;
group = cfg.group;
home = stateDir;
};
users.groups.pyload = lib.mkIf (cfg.group == "pyload") { };
};
}