nixos-configuration/nixosModules/gnome.nix
2026-05-03 13:45:51 +02:00

65 lines
1.6 KiB
Nix

{
lib,
config,
pkgs,
...
}:
{
options = {
my.gnome.enable = lib.mkEnableOption "GNOME desktop environment";
my.gnome.keep-default-apps = lib.mkEnableOption "keep gnome default apps";
};
config = lib.mkIf config.my.gnome.enable (
lib.mkMerge [
{
services = {
xserver.excludePackages = [ pkgs.xterm ];
# Enable the GNOME Desktop Environment.
displayManager.gdm.enable = true;
desktopManager.gnome = {
enable = true;
extraGSettingsOverridePackages = [ pkgs.mutter ];
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
};
gnome = {
tinysparql.enable = false;
localsearch.enable = false;
sushi.enable = true;
};
};
programs = {
dconf.enable = true;
gpaste.enable = true;
};
}
(lib.mkIf (!config.my.gnome.keep-default-apps) {
environment.gnome.excludePackages = with pkgs; [
cheese # photo booth
epiphany # web browser
evince # document viewer
geary # email client
gnome-maps
gnome-weather
gnome-tour
sysprof
orca # screen reader
gnome-weather
gnome-backgrounds
gnome-user-docs
yelp # help app
gnome-music
totem # video player
snapshot # camera
baobab # disk usage
];
})
]
);
}