nanuqsaurus/modules/desktop/gnome-minimal.nix

77 lines
2.5 KiB
Nix

{ pkgs, lib, ... }:
let
# Patched Logo Menu extension (same patch as installed system-wide).
logoMenuExtension = pkgs.gnomeExtensions.logo-menu.overrideAttrs (old: {
patches = (old.patches or []) ++ [ ./patches/logo-menu-custom-menu.patch ];
});
# Expose the extension schema in the layout expected by gsettings overrides.
logoMenuSchemas = pkgs.runCommand "logo-menu-gsettings-schemas" { } ''
schemaSrc="${logoMenuExtension}/share/gnome-shell/extensions/logomenu@aryan_k/schemas";
dest=$out/share/gsettings-schemas/logo-menu-gsettings-schemas/glib-2.0/schemas
mkdir -p "$dest"
cp -a "$schemaSrc"/*.xml "$dest"/
'';
in {
services.displayManager.gdm.enable = true;
services.desktopManager.gnome.enable = true;
services.desktopManager.gnome.extraGSettingsOverridePackages = [
pkgs.gnome-shell
logoMenuSchemas
];
# Ensure GNOME sees the compiled overrides.
environment.profileRelativeEnvVars.XDG_DATA_DIRS = lib.mkAfter [
"/share/gsettings-schemas/nixos-gsettings-overrides"
];
services.gnome.core-developer-tools.enable = false;
services.gnome.games.enable = false;
# System default GNOME Shell extensions (user can still toggle/override).
services.desktopManager.gnome.extraGSettingsOverrides = ''
[org/gnome/shell]
disable-user-extensions=false
enabled-extensions=['all-in-one-clipboard@NiffirgkcaJ.github.com','AlphabeticalAppGrid@stuarthayhurst','app-hider@lynith.dev','blur-my-shell@aunetx','caffeine@patapon.info','logomenu@aryan_k','restartto@tiagoporsch.github.io']
[org/gnome/shell/extensions/logo-menu]
menu-button-icon-image=51
menu-button-terminal='ghostty'
menu-button-system-monitor='flatpak run io.missioncenter.MissionCenter'
menu-button-extensions-app='com.mattjakeman.ExtensionManager.desktop'
hide-softwarecentre=true
'';
environment.gnome.excludePackages = with pkgs; [
# comment out to include
gnome-tour
gnome-user-docs
# baobab # disk usage analyzer
decibels # audio player
epiphany # web browser
geary # email client
# gnome-text-editor # text editor
# gnome-backgrounds
gnome-calculator
gnome-calendar
gnome-characters
# gnome-clocks
gnome-console
gnome-contacts
# gnome-font-viewer
# gnome-logs
gnome-maps
gnome-music
gnome-system-monitor
gnome-weather
loupe
nautilus
papers
# gnome-connections
showtime
simple-scan
snapshot
yelp
];
}