diff options
author | worldofpeace <worldofpeace@protonmail.ch> | 2019-12-12 09:04:58 -0500 |
---|---|---|
committer | worldofpeace <worldofpeace@protonmail.ch> | 2019-12-18 15:40:12 -0500 |
commit | 15a9c80c056b7c9a337874dabd3e053457cc776c (patch) | |
tree | 78dec34bd5fc6c2ab538d608aaaae98cce3aa385 /nixos | |
parent | 6be14ee97b5ab32453dddd749fc14e859c2d9214 (diff) | |
download | nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.tar nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.tar.gz nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.tar.bz2 nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.tar.lz nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.tar.xz nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.tar.zst nixpkgs-15a9c80c056b7c9a337874dabd3e053457cc776c.zip |
nixos/gdm: use systemd tmpfiles instead of preStart
Thet was a mess before. This should be more reliable.
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/x11/display-managers/gdm.nix | 21 |
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 6630f012f04..4de3dbd8770 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" |