nixos-configs/nixosModules/gnome.nix

83 lines
2.4 KiB
Nix
Raw Normal View History

2025-09-13 18:20:00 +02:00
{
2025-09-15 17:52:33 +02:00
lib,
config,
pkgs,
2025-09-15 17:52:33 +02:00
...
}:
{
2026-05-03 16:33:56 +02:00
options.my.gnome = {
enable = lib.mkEnableOption "GNOME desktop environment";
keep-default-apps = lib.mkEnableOption "keep gnome default apps";
2025-09-15 17:52:33 +02:00
};
2025-09-13 18:20:00 +02:00
config = lib.mkIf config.my.gnome.enable (
lib.mkMerge [
{
2026-05-27 22:52:59 +02:00
# Workaround for GDM 50 + NixOS 26.05: greeter PAM session strips PATH so
# gdm-wayland-session can't find `gnome-session` and exits 70.
# https://github.com/NixOS/nixpkgs/issues/523332 — drop once #523948 lands.
security.pam.services.gdm-launch-environment.rules.session.env-greeter = {
control = "required";
modulePath = "${config.security.pam.package}/lib/security/pam_env.so";
settings.conffile = pkgs.writeText "gdm-launch-environment-env-conf" ''
PATH DEFAULT="''${PATH}:${pkgs.gnome-session}/bin"
XDG_DATA_DIRS DEFAULT="''${XDG_DATA_DIRS}:/run/current-system/sw/share"
'';
settings.readenv = 0;
order = 12200;
};
services = {
xserver.excludePackages = [ pkgs.xterm ];
# Enable the GNOME Desktop Environment.
2026-05-27 22:52:59 +02:00
displayManager.gdm = {
enable = true;
debug = true;
};
desktopManager.gnome = {
enable = true;
extraGSettingsOverridePackages = [ pkgs.mutter ];
extraGSettingsOverrides = ''
[org.gnome.mutter]
experimental-features=['scale-monitor-framebuffer']
'';
};
2025-09-13 18:20:00 +02:00
gnome = {
tinysparql.enable = false;
localsearch.enable = false;
sushi.enable = true;
};
2025-09-15 17:52:33 +02:00
};
programs = {
dconf.enable = true;
gpaste.enable = true;
};
}
2026-05-03 13:45:51 +02:00
(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
];
})
]
);
2025-09-13 18:20:00 +02:00
}