2024-06-13 14:00:35 +00:00
|
|
|
# Enables the Gnome desktop environment.
|
|
|
|
{
|
|
|
|
pkgs,
|
|
|
|
config,
|
|
|
|
lib,
|
|
|
|
...
|
|
|
|
}:
|
|
|
|
let
|
2024-06-16 16:52:46 +00:00
|
|
|
cfg = config.aux.system.ui.desktops.gnome;
|
2024-06-13 14:00:35 +00:00
|
|
|
in
|
|
|
|
{
|
|
|
|
options = {
|
2024-06-16 16:52:46 +00:00
|
|
|
aux.system.ui.desktops.gnome.enable = lib.mkEnableOption (
|
2024-06-13 14:00:35 +00:00
|
|
|
lib.mdDoc "Enables the Gnome Desktop Environment."
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
config = lib.mkIf cfg.enable {
|
2024-06-29 16:23:26 +00:00
|
|
|
aux.system.ui.desktops = {
|
|
|
|
enable = true;
|
|
|
|
displayManager = lib.mkOverride 500 "gdm";
|
|
|
|
};
|
2024-06-13 14:00:35 +00:00
|
|
|
|
|
|
|
# Enable Gnome
|
|
|
|
services.xserver = {
|
|
|
|
# Remove default packages that came with the install
|
|
|
|
excludePackages = [ pkgs.xterm ];
|
|
|
|
|
2024-06-29 16:23:26 +00:00
|
|
|
desktopManager.gnome.enable = lib.mkDefault true;
|
2024-06-13 14:00:35 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
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
|
|
|
|
];
|
|
|
|
};
|
|
|
|
|
2024-06-29 16:23:26 +00:00
|
|
|
# Manually set askPassword to avoid a conflict with KDE
|
|
|
|
programs.ssh.askPassword = "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
|
|
|
|
|
2024-06-13 14:00:35 +00:00
|
|
|
# Gnome UI integration for KDE apps
|
|
|
|
qt = {
|
|
|
|
enable = true;
|
|
|
|
platformTheme = "gnome";
|
|
|
|
style = "adwaita-dark";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|