37 lines
1007 B
Nix
37 lines
1007 B
Nix
{ lib, config, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
let
|
|
cfg = config.roles.desktop;
|
|
in
|
|
{
|
|
options.roles.desktop = {
|
|
enable = mkEnableOption "Enable the desktop role.";
|
|
x11 = mkOption { type = types.bool; default = false; description = "Enable X11 support."; };
|
|
wayland = mkOption { type = types.bool; default = false; description = "Enable Wayland support."; };
|
|
kde = mkOption { type = types.bool; default = false; description = "Enable KDE."; };
|
|
gaming = mkOption { type = types.bool; default = false; description = "Enable gaming support."; };
|
|
sddm = mkOption { type = types.bool; default = false; description = "Enable SDDM greeter."; };
|
|
};
|
|
|
|
imports = [
|
|
./x11.nix
|
|
./wayland.nix
|
|
./gaming.nix
|
|
./kde.nix
|
|
./sddm.nix
|
|
];
|
|
|
|
config = mkIf cfg.enable {
|
|
environment.systemPackages = with pkgs; [
|
|
brightnessctl
|
|
emacs-nox
|
|
];
|
|
|
|
programs.dconf.enable = true;
|
|
services.gnome.gnome-keyring.enable = true;
|
|
programs.kdeconnect.enable = true;
|
|
};
|
|
}
|