treewide: Switch to system users (#71055)

treewide: Switch to system users

+1
nixos/modules/programs/x2goserver.nix
···
users.users.x2go = {
home = "/var/lib/x2go/db";
group = "x2go";
};
security.wrappers.x2gosqliteWrapper = {
···
users.users.x2go = {
home = "/var/lib/x2go/db";
group = "x2go";
+
isSystemUser = true;
};
security.wrappers.x2gosqliteWrapper = {
+1
nixos/modules/services/admin/oxidized.nix
···
group = cfg.group;
home = cfg.dataDir;
createHome = true;
};
systemd.services.oxidized = {
···
group = cfg.group;
home = cfg.dataDir;
createHome = true;
+
isSystemUser = true;
};
systemd.services.oxidized = {
+1
nixos/modules/services/audio/jack.nix
···
group = "jackaudio";
extraGroups = [ "audio" ];
description = "JACK Audio system service user";
};
# http://jackaudio.org/faq/linux_rt_config.html
security.pam.loginLimits = [
···
group = "jackaudio";
extraGroups = [ "audio" ];
description = "JACK Audio system service user";
+
isSystemUser = true;
};
# http://jackaudio.org/faq/linux_rt_config.html
security.pam.loginLimits = [
+4 -1
nixos/modules/services/backup/automysqlbackup.nix
···
environment.systemPackages = [ pkg ];
-
users.users.${user}.group = group;
users.groups.${group} = { };
systemd.tmpfiles.rules = [
···
environment.systemPackages = [ pkg ];
+
users.users.${user} = {
+
group = group;
+
isSystemUser = true;
+
};
users.groups.${group} = { };
systemd.tmpfiles.rules = [
+1
nixos/modules/services/continuous-integration/buildkite-agent.nix
···
createHome = true;
description = "Buildkite agent user";
extraGroups = [ "keys" ];
};
environment.systemPackages = [ cfg.package ];
···
createHome = true;
description = "Buildkite agent user";
extraGroups = [ "keys" ];
+
isSystemUser = true;
};
environment.systemPackages = [ cfg.package ];
+4 -1
nixos/modules/services/databases/redis.nix
···
allowedTCPPorts = [ cfg.port ];
};
-
users.users.redis.description = "Redis database user";
environment.systemPackages = [ cfg.package ];
···
allowedTCPPorts = [ cfg.port ];
};
+
users.users.redis = {
+
description = "Redis database user";
+
isSystemUser = true;
+
};
environment.systemPackages = [ cfg.package ];
+1
nixos/modules/services/databases/rethinkdb.nix
···
users.users.rethinkdb = mkIf (cfg.user == "rethinkdb")
{ name = "rethinkdb";
description = "RethinkDB server user";
};
users.groups = optionalAttrs (cfg.group == "rethinkdb") (singleton
···
users.users.rethinkdb = mkIf (cfg.user == "rethinkdb")
{ name = "rethinkdb";
description = "RethinkDB server user";
+
isSystemUser = true;
};
users.groups = optionalAttrs (cfg.group == "rethinkdb") (singleton
+1
nixos/modules/services/editors/infinoted.nix
···
{ name = "infinoted";
description = "Infinoted user";
group = cfg.group;
};
users.groups = optional (cfg.group == "infinoted")
{ name = "infinoted";
···
{ name = "infinoted";
description = "Infinoted user";
group = cfg.group;
+
isSystemUser = true;
};
users.groups = optional (cfg.group == "infinoted")
{ name = "infinoted";
+1
nixos/modules/services/hardware/trezord.nix
···
users.users.trezord = {
group = "trezord";
description = "Trezor bridge daemon user";
};
users.groups.trezord = {};
···
users.users.trezord = {
group = "trezord";
description = "Trezor bridge daemon user";
+
isSystemUser = true;
};
users.groups.trezord = {};
+1
nixos/modules/services/hardware/usbmuxd.nix
···
name = cfg.user;
description = "usbmuxd user";
group = cfg.group;
};
users.groups = optional (cfg.group == defaultUserGroup) {
···
name = cfg.user;
description = "usbmuxd user";
group = cfg.group;
+
isSystemUser = true;
};
users.groups = optional (cfg.group == defaultUserGroup) {
+1
nixos/modules/services/hardware/vdr.nix
···
users.users.vdr = {
group = "vdr";
home = libDir;
};
users.groups.vdr = {};
···
users.users.vdr = {
group = "vdr";
home = libDir;
+
isSystemUser = true;
};
users.groups.vdr = {};
+1
nixos/modules/services/mail/mailhog.nix
···
users.users.mailhog = {
name = cfg.user;
description = "MailHog service user";
};
systemd.services.mailhog = {
···
users.users.mailhog = {
name = cfg.user;
description = "MailHog service user";
+
isSystemUser = true;
};
systemd.services.mailhog = {
+1
nixos/modules/services/misc/airsonic.nix
···
name = cfg.user;
home = cfg.home;
createHome = true;
};
};
}
···
name = cfg.user;
home = cfg.home;
createHome = true;
+
isSystemUser = true;
};
};
}
+4 -2
nixos/modules/services/misc/docker-registry.nix
···
};
users.users.docker-registry =
-
if cfg.storagePath != null
then {
createHome = true;
home = cfg.storagePath;
}
-
else {};
};
}
···
};
users.users.docker-registry =
+
(if cfg.storagePath != null
then {
createHome = true;
home = cfg.storagePath;
}
+
else {}) // {
+
isSystemUser = true;
+
};
};
}
+4 -1
nixos/modules/services/misc/errbot.nix
···
};
config = mkIf (cfg.instances != {}) {
-
users.users.errbot.group = "errbot";
users.groups.errbot = {};
systemd.services = mapAttrs' (name: instanceCfg: nameValuePair "errbot-${name}" (
···
};
config = mkIf (cfg.instances != {}) {
+
users.users.errbot = {
+
group = "errbot";
+
isSystemUser = true;
+
};
users.groups.errbot = {};
systemd.services = mapAttrs' (name: instanceCfg: nameValuePair "errbot-${name}" (
+1
nixos/modules/services/misc/gitea.nix
···
home = cfg.stateDir;
useDefaultShell = true;
group = "gitea";
};
};
···
home = cfg.stateDir;
useDefaultShell = true;
group = "gitea";
+
isSystemUser = true;
};
};
+1
nixos/modules/services/misc/gollum.nix
···
group = config.users.users.gollum.name;
description = "Gollum user";
createHome = false;
};
users.groups.gollum = { };
···
group = config.users.users.gollum.name;
description = "Gollum user";
createHome = false;
+
isSystemUser = true;
};
users.groups.gollum = { };
+4 -1
nixos/modules/services/misc/jellyfin.nix
···
};
users.users = mkIf (cfg.user == "jellyfin") {
-
jellyfin.group = cfg.group;
};
users.groups = mkIf (cfg.group == "jellyfin") {
···
};
users.users = mkIf (cfg.user == "jellyfin") {
+
jellyfin = {
+
group = cfg.group;
+
isSystemUser = true;
+
};
};
users.groups = mkIf (cfg.group == "jellyfin") {
+1
nixos/modules/services/misc/osrm.nix
···
group = config.users.users.osrm.name;
description = "OSRM user";
createHome = false;
};
users.groups.osrm = { };
···
group = config.users.users.osrm.name;
description = "OSRM user";
createHome = false;
+
isSystemUser = true;
};
users.groups.osrm = { };
+1
nixos/modules/services/monitoring/collectd.nix
···
users.users = optional (cfg.user == "collectd") {
name = "collectd";
};
};
}
···
users.users = optional (cfg.user == "collectd") {
name = "collectd";
+
isSystemUser = true;
};
};
}
+1
nixos/modules/services/monitoring/fusion-inventory.nix
···
users.users = singleton {
name = "fusion-inventory";
description = "FusionInventory user";
};
systemd.services.fusion-inventory = {
···
users.users = singleton {
name = "fusion-inventory";
description = "FusionInventory user";
+
isSystemUser = true;
};
systemd.services.fusion-inventory = {
+1
nixos/modules/services/monitoring/netdata.nix
···
users.users = optional (cfg.user == defaultUser) {
name = defaultUser;
};
users.groups = optional (cfg.group == defaultUser) {
···
users.users = optional (cfg.user == defaultUser) {
name = defaultUser;
+
isSystemUser = true;
};
users.groups = optional (cfg.group == defaultUser) {
+1
nixos/modules/services/monitoring/zabbix-agent.nix
···
users.users.${user} = {
description = "Zabbix Agent daemon user";
inherit group;
};
users.groups.${group} = { };
···
users.users.${user} = {
description = "Zabbix Agent daemon user";
inherit group;
+
isSystemUser = true;
};
users.groups.${group} = { };
+1
nixos/modules/services/networking/bitcoind.nix
···
group = cfg.group;
description = "Bitcoin daemon user";
home = cfg.dataDir;
};
users.groups.${cfg.group} = {
name = cfg.group;
···
group = cfg.group;
description = "Bitcoin daemon user";
home = cfg.dataDir;
+
isSystemUser = true;
};
users.groups.${cfg.group} = {
name = cfg.group;
+1 -1
nixos/modules/services/networking/dnscache.nix
···
config = mkIf config.services.dnscache.enable {
environment.systemPackages = [ pkgs.djbdns ];
-
users.users.dnscache = {};
systemd.services.dnscache = {
description = "djbdns dnscache server";
···
config = mkIf config.services.dnscache.enable {
environment.systemPackages = [ pkgs.djbdns ];
+
users.users.dnscache.isSystemUser = true;
systemd.services.dnscache = {
description = "djbdns dnscache server";
+1
nixos/modules/services/networking/dnscrypt-wrapper.nix
···
description = "dnscrypt-wrapper daemon user";
home = "${dataDir}";
createHome = true;
};
users.groups.dnscrypt-wrapper = { };
···
description = "dnscrypt-wrapper daemon user";
home = "${dataDir}";
createHome = true;
+
isSystemUser = true;
};
users.groups.dnscrypt-wrapper = { };
+1
nixos/modules/services/networking/hans.nix
···
users.users = singleton {
name = hansUser;
description = "Hans daemon user";
};
};
···
users.users = singleton {
name = hansUser;
description = "Hans daemon user";
+
isSystemUser = true;
};
};
+1
nixos/modules/services/networking/matterbridge.nix
···
users.users = optional (cfg.user == "matterbridge")
{ name = "matterbridge";
group = "matterbridge";
};
users.groups = optional (cfg.group == "matterbridge")
···
users.users = optional (cfg.user == "matterbridge")
{ name = "matterbridge";
group = "matterbridge";
+
isSystemUser = true;
};
users.groups = optional (cfg.group == "matterbridge")
+1
nixos/modules/services/networking/morty.nix
···
{ description = "Morty user";
createHome = true;
home = "/var/lib/morty";
};
systemd.services.morty =
···
{ description = "Morty user";
createHome = true;
home = "/var/lib/morty";
+
isSystemUser = true;
};
systemd.services.morty =
+1
nixos/modules/services/networking/nghttpx/default.nix
···
users.groups.nghttpx = { };
users.users.nghttpx = {
group = config.users.groups.nghttpx.name;
};
···
users.groups.nghttpx = { };
users.users.nghttpx = {
group = config.users.groups.nghttpx.name;
+
isSystemUser = true;
};
+1
nixos/modules/services/networking/owamp.nix
···
name = "owamp";
group = "owamp";
description = "Owamp daemon";
};
users.groups = singleton {
···
name = "owamp";
group = "owamp";
description = "Owamp daemon";
+
isSystemUser = true;
};
users.groups = singleton {
+1
nixos/modules/services/networking/thelounge.nix
···
users.users.thelounge = {
description = "thelounge service user";
group = "thelounge";
};
users.groups.thelounge = {};
systemd.services.thelounge = {
···
users.users.thelounge = {
description = "thelounge service user";
group = "thelounge";
+
isSystemUser = true;
};
users.groups.thelounge = {};
systemd.services.thelounge = {
+1 -1
nixos/modules/services/networking/tinydns.nix
···
config = mkIf config.services.tinydns.enable {
environment.systemPackages = [ pkgs.djbdns ];
-
users.users.tinydns = {};
systemd.services.tinydns = {
description = "djbdns tinydns server";
···
config = mkIf config.services.tinydns.enable {
environment.systemPackages = [ pkgs.djbdns ];
+
users.users.tinydns.isSystemUser = true;
systemd.services.tinydns = {
description = "djbdns tinydns server";
+1 -1
nixos/modules/services/scheduling/marathon.nix
···
};
};
-
users.users.${cfg.user} = { };
};
}
···
};
};
+
users.users.${cfg.user}.isSystemUser = true;
};
}
+4 -1
nixos/modules/services/security/bitwarden_rs/default.nix
···
webVaultEnabled = mkDefault true;
};
-
users.users.bitwarden_rs = { inherit group; };
users.groups.bitwarden_rs = { };
systemd.services.bitwarden_rs = {
···
webVaultEnabled = mkDefault true;
};
+
users.users.bitwarden_rs = {
+
inherit group;
+
isSystemUser = true;
+
};
users.groups.bitwarden_rs = { };
systemd.services.bitwarden_rs = {
+1
nixos/modules/services/security/oauth2_proxy.nix
···
users.users.oauth2_proxy = {
description = "OAuth2 Proxy";
};
systemd.services.oauth2_proxy = {
···
users.users.oauth2_proxy = {
description = "OAuth2 Proxy";
+
isSystemUser = true;
};
systemd.services.oauth2_proxy = {
+1
nixos/modules/services/torrent/magnetico.nix
···
users.users.magnetico = {
description = "Magnetico daemons user";
};
systemd.services.magneticod = {
···
users.users.magnetico = {
description = "Magnetico daemons user";
+
isSystemUser = true;
};
systemd.services.magneticod = {
+1
nixos/modules/services/web-apps/codimd.nix
···
extraGroups = cfg.groups;
home = cfg.workDir;
createHome = true;
};
systemd.services.codimd = {
···
extraGroups = cfg.groups;
home = cfg.workDir;
createHome = true;
+
isSystemUser = true;
};
systemd.services.codimd = {
+1
nixos/modules/services/web-apps/frab.nix
···
{ name = cfg.user;
group = cfg.group;
home = "${cfg.statePath}";
}
];
···
{ name = cfg.user;
group = cfg.group;
home = "${cfg.statePath}";
+
isSystemUser = true;
}
];
+4 -1
nixos/modules/services/web-apps/limesurvey.nix
···
systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
-
users.users.${user}.group = group;
};
}
···
systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+
users.users.${user} = {
+
group = group;
+
isSystemUser = true;
+
};
};
}
+4 -1
nixos/modules/services/web-apps/mediawiki.nix
···
systemd.services.httpd.after = optional (cfg.database.createLocally && cfg.database.type == "mysql") "mysql.service";
-
users.users.${user}.group = group;
environment.systemPackages = [ mediawikiScripts ];
};
···
systemd.services.httpd.after = optional (cfg.database.createLocally && cfg.database.type == "mysql") "mysql.service";
+
users.users.${user} = {
+
group = group;
+
isSystemUser = true;
+
};
environment.systemPackages = [ mediawikiScripts ];
};
+4 -2
nixos/modules/services/web-apps/moodle.nix
···
systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
-
users.users.${user}.group = group;
-
};
}
···
systemd.services.httpd.after = optional mysqlLocal "mysql.service" ++ optional pgsqlLocal "postgresql.service";
+
users.users.${user} = {
+
group = group;
+
isSystemUser = true;
+
};
};
}
+1
nixos/modules/services/web-apps/virtlyst.nix
···
home = stateDir;
createHome = true;
group = mkIf config.virtualisation.libvirtd.enable "libvirtd";
};
systemd.services.virtlyst = {
···
home = stateDir;
createHome = true;
group = mkIf config.virtualisation.libvirtd.enable "libvirtd";
+
isSystemUser = true;
};
systemd.services.virtlyst = {
+4 -1
nixos/modules/services/web-apps/wordpress.nix
···
})
];
-
users.users.${user}.group = group;
};
}
···
})
];
+
users.users.${user} = {
+
group = group;
+
isSystemUser = true;
+
};
};
}
+4 -1
nixos/modules/services/web-servers/hitch/default.nix
···
environment.systemPackages = [ pkgs.hitch ];
-
users.users.hitch.group = "hitch";
users.groups.hitch = {};
};
}
···
environment.systemPackages = [ pkgs.hitch ];
+
users.users.hitch = {
+
group = "hitch";
+
isSystemUser = true;
+
};
users.groups.hitch = {};
};
}
+1
nixos/modules/services/web-servers/traefik.nix
···
group = "traefik";
home = cfg.dataDir;
createHome = true;
};
users.groups.traefik = {};
···
group = "traefik";
home = cfg.dataDir;
createHome = true;
+
isSystemUser = true;
};
users.groups.traefik = {};
+1
nixos/modules/services/web-servers/unit/default.nix
···
users.users = optionalAttrs (cfg.user == "unit") (singleton {
name = "unit";
group = cfg.group;
});
users.groups = optionalAttrs (cfg.group == "unit") (singleton {
···
users.users = optionalAttrs (cfg.user == "unit") (singleton {
name = "unit";
group = cfg.group;
+
isSystemUser = true;
});
users.groups = optionalAttrs (cfg.group == "unit") (singleton {