2026-02-03 17:58:54 +02:00
|
|
|
{ pkgs, lib, ... }:
|
2026-02-01 21:36:06 +02:00
|
|
|
|
2026-02-03 17:58:54 +02:00
|
|
|
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 {
|
2026-02-01 21:36:06 +02:00
|
|
|
services.displayManager.gdm.enable = true;
|
|
|
|
|
services.desktopManager.gnome.enable = true;
|
2026-02-03 17:58:54 +02:00
|
|
|
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"
|
|
|
|
|
];
|
2026-02-01 21:36:06 +02:00
|
|
|
|
|
|
|
|
services.gnome.core-developer-tools.enable = false;
|
|
|
|
|
services.gnome.games.enable = false;
|
|
|
|
|
|
2026-02-03 17:58:54 +02:00
|
|
|
# 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','apps@github.com.howbea','blur-my-shell@aunetx','caffeine@patapon.info','logomenu@aryan_k','places-menu@gnome-shell-extensions.gcampax.github.com','restartto@tiagoporsch.github.io']
|
|
|
|
|
favorite-apps=['firefox.desktop','org.gnome.Settings.desktop','org.gnome.Ptyxis.desktop','com.mattjakeman.ExtensionManager.desktop']
|
|
|
|
|
|
|
|
|
|
[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
|
|
|
|
|
'';
|
|
|
|
|
|
2026-02-01 21:36:06 +02:00
|
|
|
environment.gnome.excludePackages = with pkgs; [
|
2026-02-01 22:54:27 +02:00
|
|
|
# comment out to include
|
2026-02-01 21:36:06 +02:00
|
|
|
gnome-tour
|
|
|
|
|
gnome-user-docs
|
2026-02-01 22:54:27 +02:00
|
|
|
# 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
|
2026-02-01 21:36:06 +02:00
|
|
|
];
|
|
|
|
|
}
|