diff --git a/modules/nixos/programs/gnome-session/default.nix b/modules/nixos/programs/gnome-session/default.nix index 58c169ae..dbce644e 100644 --- a/modules/nixos/programs/gnome-session/default.nix +++ b/modules/nixos/programs/gnome-session/default.nix @@ -159,6 +159,11 @@ in (_: session: session.sessionPackage) cfg.sessions; + + sessionSystemdUnits = lib.mapAttrsToList + (_: session: + session.systemdUserUnits) + cfg.sessions; in { # Install all of the desktop session files. @@ -169,7 +174,8 @@ in environment.pathsToLink = [ "/share/gnome-session" ]; # Import those systemd units from gnome-session as well. - systemd.packages = [ cfg.package ] ++ sessionPackages; + systemd.packages = [ cfg.package ]; + systemd.user.units = lib.mkMerge sessionSystemdUnits; } ); } diff --git a/modules/nixos/programs/gnome-session/submodules.nix b/modules/nixos/programs/gnome-session/submodules.nix index 0b7dd00e..47aa1b1b 100644 --- a/modules/nixos/programs/gnome-session/submodules.nix +++ b/modules/nixos/programs/gnome-session/submodules.nix @@ -529,7 +529,6 @@ rec { * gnome-session `.session` file. * The gnome-session systemd target drop-in file. * The components `.desktop` file. - * The components' systemd unit files. ''; readOnly = true; }; @@ -645,19 +644,6 @@ rec { displayScripts.${display}) config.display; - installSystemdUserUnits = lib.mapAttrsToList - (n: v: - if (v ? overrideStrategy && v.overrideStrategy == "asDropin") then '' - ( - unit="${v.unit}/${n}" - unit_filename=$(basename "$unit") - install -Dm0644 "$unit" "$out/share/systemd/user/''${unit_filename}.d/session.conf" - ) - '' else '' - install -Dm0644 "${v.unit}/${n}" -t "$out/share/systemd/user" - '') - config.systemdUserUnits; - installDesktops = lib.mapAttrsToList (_: p: '' install -Dm0644 ${p.desktopPackage}/share/applications/*.desktop -t $out/share/applications @@ -684,9 +670,6 @@ rec { ${lib.concatStringsSep "\n" installDesktopSessions} - ${lib.concatStringsSep "\n" installSystemdUserUnits} - mkdir -p "$out/lib/systemd" && ln -sfn "$out/share/systemd/user" "$out/lib/systemd/user" - ${lib.concatStringsSep "\n" installDesktops} ''; };