36 lines
1.1 KiB
Nix
36 lines
1.1 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
let
|
|
inherit (lib) mkIf mkMerge mkOption types;
|
|
cfg = config.qenya.base-graphical;
|
|
in
|
|
{
|
|
options.qenya.base-graphical.desktop = mkOption {
|
|
type = types.enum [ "gnome" "plasma6" ];
|
|
default = "gnome";
|
|
example = "plasma6";
|
|
description = "Which display manager and desktop manager to use.";
|
|
};
|
|
|
|
config = mkIf cfg.enable (mkMerge [
|
|
(mkIf (cfg.desktop == "gnome") {
|
|
services.xserver.displayManager.gdm.enable = true;
|
|
services.xserver.desktopManager.gnome.enable = true;
|
|
# TODO: agree on this with randomcat as it affects her too, since for some reason this is system-wide
|
|
# environment.gnome.excludePackages = with pkgs.gnome; [
|
|
# pkgs.gnome-tour
|
|
# epiphany # GNOME Web
|
|
# geary
|
|
# gnome-calendar
|
|
# gnome-contacts
|
|
# gnome-music
|
|
# ];
|
|
})
|
|
(mkIf (cfg.desktop == "plasma6") {
|
|
services.displayManager.sddm.enable = true;
|
|
services.displayManager.sddm.wayland.enable = true;
|
|
services.desktopManager.plasma6.enable = true;
|
|
})
|
|
]);
|
|
}
|