summaryrefslogtreecommitdiffstats
path: root/nixos/modules/services/x11/display-managers
diff options
context:
space:
mode:
authorworldofpeace <worldofpeace@protonmail.ch>2019-12-12 09:04:58 -0500
committerworldofpeace <worldofpeace@protonmail.ch>2019-12-18 15:40:12 -0500
commit15a9c80c056b7c9a337874dabd3e053457cc776c (patch)
tree78dec34bd5fc6c2ab538d608aaaae98cce3aa385 /nixos/modules/services/x11/display-managers
parent6be14ee97b5ab32453dddd749fc14e859c2d9214 (diff)
nixos/gdm: use systemd tmpfiles instead of preStart
Thet was a mess before. This should be more reliable.
Diffstat (limited to 'nixos/modules/services/x11/display-managers')
-rw-r--r--nixos/modules/services/x11/display-managers/gdm.nix21
1 files changed, 10 insertions, 11 deletions
diff --git a/nixos/modules/services/x11/display-managers/gdm.nix b/nixos/modules/services/x11/display-managers/gdm.nix
index 6630f012f04f..4de3dbd87701 100644
--- a/nixos/modules/services/x11/display-managers/gdm.nix
+++ b/nixos/modules/services/x11/display-managers/gdm.nix
@@ -159,22 +159,21 @@ in
GDM_X_SESSION_WRAPPER = "${xSessionWrapper}";
};
execCmd = "exec ${gdm}/bin/gdm";
- preStart = optionalString config.hardware.pulseaudio.enable ''
- mkdir -p /run/gdm/.config/pulse
- ln -sf ${pulseConfig} /run/gdm/.config/pulse/default.pa
- chown -R gdm:gdm /run/gdm/.config
- '' + optionalString config.services.gnome3.gnome-initial-setup.enable ''
- # Create stamp file for gnome-initial-setup to prevent run.
- mkdir -p /run/gdm/.config
- cat - > /run/gdm/.config/gnome-initial-setup-done <<- EOF
- yes
- EOF
- '' + optionalString (defaultSessionName != null) ''
+ preStart = optionalString (defaultSessionName != null) ''
# Set default session in session chooser to a specified values – basically ignore session history.
${setSessionScript}/bin/set-session ${cfg.sessionData.autologinSession}
'';
};
+ systemd.tmpfiles.rules = [
+ "d /run/gdm/.config 0711 gdm gdm -"
+ ] ++ optionals config.hardware.pulseaudio.enable [
+ "L+ /run/gdm/.config/pulse - - - - ${pulseConfig}"
+ ] ++ optionals config.services.gnome3.gnome-initial-setup.enable [
+ # Create stamp file for gnome-initial-setup to prevent it starting in GDM.
+ "f /run/gdm/.config/gnome-initial-setup-done 0711 gdm gdm yes"
+ ];
+
systemd.services.display-manager.wants = [
# Because sd_login_monitor_new requires /run/systemd/machines
"systemd-machined.service"