nanuqsaurus/modules/desktop/gnome-minimal.nix
randogoth c299acb87d gnome: custom logo menu + dconf defaults
- Patch Logo Menu v38 to custom entries incl. Containers (DistroShelf)\n- Switch GNOME defaults to programs.dconf profile\n- Add desktop overrides for Thunar->Files and Ghostty->Terminal\n- Enable Thunar integration (gvfs/tumbler/xfconf) and add virt-manager tooling
2026-02-03 22:02:35 +02:00

96 lines
2.8 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.gnome.core-developer-tools.enable = false;
services.gnome.games.enable = false;
programs.dconf = {
enable = true;
profiles.user.databases = [
{
settings = {
"org/gnome/shell" = {
disable-user-extensions = false;
favorite-apps = [
"thunar.desktop"
"com.mitchellh.ghostty.desktop"
"com.ranfdev.DistroShelf.desktop"
"io.github.kolunmi.Bazaar.desktop"
];
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/desktop/interface" = {
icon-theme = "Papirus-Dark";
gtk-theme = "Adwaita-dark";
color-scheme = "prefer-dark";
};
"org/gnome/shell/extensions/logo-menu" = {
menu-button-icon-image = lib.gvariant.mkInt32 51;
menu-button-terminal = "ghostty";
menu-button-system-monitor = "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
];
}