diff --git a/nixos/modules/system/boot/systemd/user.nix b/nixos/modules/system/boot/systemd/user.nix index 2ad3e1c1092f..dcab7edf4931 100644 --- a/nixos/modules/system/boot/systemd/user.nix +++ b/nixos/modules/system/boot/systemd/user.nix @@ -1,10 +1,12 @@ { config, lib, pkgs, utils, ... }: with utils; with systemdUtils.unitOptions; -with lib; let - cfg = config.systemd; +with lib; - systemd = cfg.package; +let + cfg = config.systemd.user; + + systemd = config.systemd.package; inherit (systemdUtils.lib) @@ -18,8 +20,7 @@ with lib; let serviceToUnit socketToUnit timerToUnit - pathToUnit - ; + pathToUnit; upstreamUserUnits = [ "app.slice" @@ -111,21 +112,21 @@ in { ]; environment.etc = { - "systemd/user".source = generateUnits "user" cfg.user.units upstreamUserUnits []; + "systemd/user".source = generateUnits "user" cfg.units upstreamUserUnits []; "systemd/user.conf".text = '' [Manager] - ${config.systemd.user.extraConfig} + ${cfg.extraConfig} ''; }; systemd.user.units = - mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.user.paths - // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.user.services - // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.user.slices - // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.user.sockets - // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.user.targets - // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.user.timers; + mapAttrs' (n: v: nameValuePair "${n}.path" (pathToUnit n v)) cfg.paths + // mapAttrs' (n: v: nameValuePair "${n}.service" (serviceToUnit n v)) cfg.services + // mapAttrs' (n: v: nameValuePair "${n}.slice" (sliceToUnit n v)) cfg.slices + // mapAttrs' (n: v: nameValuePair "${n}.socket" (socketToUnit n v)) cfg.sockets + // mapAttrs' (n: v: nameValuePair "${n}.target" (targetToUnit n v)) cfg.targets + // mapAttrs' (n: v: nameValuePair "${n}.timer" (timerToUnit n v)) cfg.timers; # Generate timer units for all services that have a ‘startAt’ value. systemd.user.timers = @@ -133,7 +134,7 @@ in { wantedBy = ["timers.target"]; timerConfig.OnCalendar = service.startAt; }) - (filterAttrs (name: service: service.startAt != []) cfg.user.services); + (filterAttrs (name: service: service.startAt != []) cfg.services); # Provide the systemd-user PAM service, required to run systemd # user instances.