{ lib, pkgs, ... }: let # Override Thunar desktop entry to show as "Files". thunarDesktopOverride = pkgs.makeDesktopItem { name = "thunar"; # same filename to shadow upstream entry desktopName = "Files"; genericName = "File Manager"; tryExec = "thunar"; exec = "thunar %U"; icon = "org.xfce.thunar"; categories = [ "Utility" "FileManager" ]; mimeTypes = [ "inode/directory" ]; keywords = [ "folder" "manager" "explorer" "files" ]; startupNotify = true; startupWMClass = "Thunar"; terminal = false; comment = "Browse files"; }; # Override Ghostty desktop entry to show as "Terminal". ghosttyDesktopOverride = pkgs.makeDesktopItem { name = "com.mitchellh.ghostty"; desktopName = "Terminal"; genericName = "Terminal Emulator"; exec = "ghostty"; icon = "com.mitchellh.ghostty"; categories = [ "System" "TerminalEmulator" "Utility" ]; terminal = false; comment = "Fast GPU-accelerated terminal"; }; in { # Baseline system tools available everywhere; users run Home Manager standalone. config.environment.systemPackages = lib.mkAfter [ (lib.hiPrio thunarDesktopOverride) (lib.hiPrio ghosttyDesktopOverride) pkgs.distrobox pkgs.distroshelf pkgs.dnsmasq pkgs.fastfetch pkgs.flatpak pkgs.ghostty pkgs.git pkgs.gnome-browser-connector # lets users install extensions from GNOME Extensions website pkgs.gnome-extension-manager # GUI to browse/install GNOME Shell extensions pkgs.gnomeExtensions.all-in-one-clipboard pkgs.gnomeExtensions.alphabetical-app-grid pkgs.gnomeExtensions.app-hider pkgs.gnomeExtensions.apps pkgs.gnomeExtensions.blur-my-shell pkgs.gnomeExtensions.caffeine (pkgs.gnomeExtensions.logo-menu.overrideAttrs (old: { # Pin extension source so our patch stays compatible. version = "38"; src = pkgs.fetchzip { url = "https://extensions.gnome.org/extension-data/logomenuaryan_k.v38.shell-extension.zip"; hash = "sha256-GdGn7YKfOOEM0kV1Gd9H5c1KKjs/+/4XCsxO2pFdqu4="; stripRoot = false; }; patches = (old.patches or []) ++ [ ../desktop/patches/logo-menu-custom-menu.patch ]; })) pkgs.gnomeExtensions.places-status-indicator pkgs.gnomeExtensions.restart-to pkgs.home-manager pkgs.just pkgs.libnotify pkgs.micro pkgs.mission-center pkgs.p7zip pkgs.podman-compose pkgs.papirus-icon-theme pkgs.xdg-utils ]; }