Extract GDM and Tuigreet configurations into separate files

This commit is contained in:
SebastianStork 2024-07-18 17:27:06 +02:00
parent 61abb99a2f
commit eb5ac0af22
3 changed files with 43 additions and 36 deletions

View file

@ -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";
};
};
};
};
}

11
modules/system/dm/gdm.nix Normal file
View file

@ -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;
};
};
}

View file

@ -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'"
];
};
};
};
};
}