From eb5ac0af229861c139e7a8c4bd731cde80ab31a4 Mon Sep 17 00:00:00 2001 From: SebastianStork Date: Thu, 18 Jul 2024 17:27:06 +0200 Subject: [PATCH] Extract GDM and Tuigreet configurations into separate files --- modules/system/dm.nix | 36 ---------------------------------- modules/system/dm/gdm.nix | 11 +++++++++++ modules/system/dm/tuigreet.nix | 32 ++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 36 deletions(-) delete mode 100644 modules/system/dm.nix create mode 100644 modules/system/dm/gdm.nix create mode 100644 modules/system/dm/tuigreet.nix diff --git a/modules/system/dm.nix b/modules/system/dm.nix deleted file mode 100644 index 2407edc..0000000 --- a/modules/system/dm.nix +++ /dev/null @@ -1,36 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -let - cfg = config.myConfig.dm; -in -{ - options.myConfig.dm = { - gdm.enable = lib.mkEnableOption ""; - tuigreet.enable = lib.mkEnableOption ""; - }; - - config = { - services.xserver = lib.mkIf cfg.gdm.enable { - enable = true; - displayManager.gdm.enable = true; - }; - - services.greetd = lib.mkIf cfg.tuigreet.enable { - enable = true; - settings = { - default_session = - let - base = config.services.xserver.displayManager.sessionData.desktops; - in - { - command = "${lib.getExe pkgs.greetd.tuigreet} --time --asterisks --remember --remember-user-session --sessions ${base}/share/wayland-sessions:${base}/share/xsessions"; - user = "greeter"; - }; - }; - }; - }; -} diff --git a/modules/system/dm/gdm.nix b/modules/system/dm/gdm.nix new file mode 100644 index 0000000..7d751bc --- /dev/null +++ b/modules/system/dm/gdm.nix @@ -0,0 +1,11 @@ +{ config, lib, ... }: +{ + options.myConfig.dm.gdm.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.myConfig.dm.gdm.enable { + services.xserver = { + enable = true; + displayManager.gdm.enable = true; + }; + }; +} diff --git a/modules/system/dm/tuigreet.nix b/modules/system/dm/tuigreet.nix new file mode 100644 index 0000000..14e7252 --- /dev/null +++ b/modules/system/dm/tuigreet.nix @@ -0,0 +1,32 @@ +{ + config, + pkgs, + lib, + ... +}: +{ + options.myConfig.dm.tuigreet.enable = lib.mkEnableOption ""; + + config = lib.mkIf config.myConfig.dm.tuigreet.enable { + services.greetd = { + enable = true; + settings = { + default_session = + let + sessionData = config.services.displayManager.sessionData.desktops; + in + { + user = "greeter"; + command = lib.concatStringsSep " " [ + (lib.getExe pkgs.greetd.tuigreet) + "--time" + "--asterisks" + "--remember" + "--remember-user-session" + "--sessions '${sessionData}/share/wayland-sessions:${sessionData}/share/xsessions'" + ]; + }; + }; + }; + }; +}