templates/system/modules/ui/desktops/gnome.nix

55 lines
1.2 KiB
Nix

# Enables the Gnome desktop environment.
{
pkgs,
config,
lib,
...
}:
let
cfg = config.aux.system.ui.desktops.gnome;
in
{
options = {
aux.system.ui.desktops.gnome.enable = lib.mkEnableOption (
lib.mdDoc "Enables the Gnome Desktop Environment."
);
};
config = lib.mkIf cfg.enable {
aux.system.ui.desktops.enable = true;
# Enable Gnome
services.xserver = {
# Remove default packages that came with the install
excludePackages = [ pkgs.xterm ];
desktopManager.gnome.enable = true;
displayManager.gdm.enable = true;
};
environment = {
# Remove extraneous Gnome packages
gnome.excludePackages = with pkgs.gnome; [
gnome-software # Built-in software manager
tali # poker game
iagno # go game
hitori # sudoku game
atomix # puzzle game
];
# Install additional quality-of-life packages
systemPackages = with pkgs; [
gnome.gnome-tweaks # Gnome tweak tool
gnome.gnome-themes-extra # Additional themes
];
};
# Gnome UI integration for KDE apps
qt = {
enable = true;
platformTheme = "gnome";
style = "adwaita-dark";
};
};
}