46 lines
1.1 KiB
Nix
Raw Permalink Normal View History

2025-05-04 02:47:36 +02:00
{
config,
lib,
...
}:
with lib; let
2025-07-05 00:02:39 +02:00
cfg = config.system.desktop.xserver;
2025-05-04 02:47:36 +02:00
in {
2025-07-05 00:02:39 +02:00
options.system.desktop.xserver = {
enable = mkEnableOption "Enables xserver";
2025-05-04 02:47:36 +02:00
de = mkOption {
type = types.enum ["gnome" "kde"];
default = "gnome";
example = "kde";
description = "Which DE to enable";
};
};
2025-07-05 00:02:39 +02:00
config.services = mkIf cfg.enable {
2025-06-21 23:53:27 +02:00
displayManager = {
sddm.enable = mkIf (cfg.de == "kde") true;
gdm.enable = mkIf (cfg.de == "gnome") true;
};
desktopManager = {
plasma6.enable = mkIf (cfg.de == "kde") true;
gnome.enable = mkIf (cfg.de == "gnome") true;
};
2025-05-04 02:47:36 +02:00
gnome = mkIf (cfg.de == "gnome") {
gnome-browser-connector.enable = true;
games.enable = false;
gnome-remote-desktop.enable = true;
gnome-online-accounts.enable = true;
sushi.enable = true;
};
xserver = {
2025-07-05 00:02:39 +02:00
inherit (cfg) enable;
videoDrivers = lists.optional config.system.hardware.amdgpu.enable "amdgpu";
2025-05-04 02:47:36 +02:00
xkb = {
layout = "fr";
variant = "bepo_afnor";
};
};
};
}