{ config, lib, pkgs, ... }: { # this actually does not enable xorg, but it is required for GDM services.xserver.enable = true; services.xserver.displayManager.gdm.enable = true; services.xserver.desktopManager.gnome.enable = true; # here we set wayland to be used services.xserver.displayManager.gdm.wayland = true; options = { services.gdm = { enable = lib.mkEnableOption "Enable GDM"; # Add any additional GDM options here }; }; config = { services.gdm = if config.services.gdm.enable then gdmConfig else {}; }; }