Thunar didn't integrate cleanly with the GNOME session. Drop the XFCE file-manager module (thunar/xfconf/exo/tumbler) and restore Nautilus as the native file manager: un-exclude nautilus, point the dash favorite at org.gnome.Nautilus.desktop, remove the Thunar desktop override, and keep gvfs (moved into gnome.nix) for mounting, trash, and network shares. Add file-roller for archive-manager integration in Nautilus. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
144 lines
4.1 KiB
Nix
144 lines
4.1 KiB
Nix
{ pkgs, lib, ... }:
|
|
|
|
let
|
|
logoMenuExtension = pkgs.gnomeExtensions.logo-menu.overrideAttrs (old: {
|
|
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 [ ]) ++ [ ./patches/logo-menu-custom-menu.patch ];
|
|
});
|
|
in
|
|
{
|
|
xdg.portal = {
|
|
enable = true;
|
|
config = {
|
|
common = {
|
|
# Use GTK portal for file chooser to avoid hard dependency on Nautilus.
|
|
default = "gnome";
|
|
"org.freedesktop.impl.portal.FileChooser" = "gtk";
|
|
};
|
|
};
|
|
extraPortals = [
|
|
pkgs.xdg-desktop-portal-gnome
|
|
pkgs.xdg-desktop-portal-gtk
|
|
];
|
|
};
|
|
|
|
services.displayManager.gdm.enable = true;
|
|
services.desktopManager.gnome.enable = true;
|
|
|
|
# Virtual filesystem backend for Nautilus: mounting, trash, network shares.
|
|
services.gvfs.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 = [
|
|
"org.gnome.Nautilus.desktop"
|
|
"org.gnome.Ptyxis.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"
|
|
"status-tray@keithvassallo.com"
|
|
];
|
|
};
|
|
|
|
"org/gnome/desktop/interface" = {
|
|
icon-theme = "Papirus-Dark";
|
|
gtk-theme = "Adwaita-dark";
|
|
color-scheme = "prefer-dark";
|
|
};
|
|
|
|
"org/gnome/desktop/wm/preferences" = {
|
|
button-layout = "appmenu:minimize,maximize,close";
|
|
};
|
|
|
|
"org/gnome/desktop/search-providers" = {
|
|
enabled = [
|
|
"io.github.kolunmi.Bazaar.desktop"
|
|
"org.gnome.Settings.desktop"
|
|
"org.gnome.clocks.desktop"
|
|
"org.gnome.seahorse.Application.desktop"
|
|
];
|
|
};
|
|
|
|
"org/gnome/shell/extensions/logo-menu" = {
|
|
menu-button-icon-image = lib.gvariant.mkInt32 51;
|
|
menu-button-terminal = "ptyxis";
|
|
menu-button-system-monitor = "missioncenter";
|
|
menu-button-extensions-app = "com.mattjakeman.ExtensionManager.desktop";
|
|
hide-softwarecentre = true;
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
environment.systemPackages = lib.mkAfter [
|
|
pkgs.gnome-browser-connector
|
|
pkgs.gnome-extension-manager
|
|
pkgs.mission-center
|
|
pkgs.papirus-icon-theme
|
|
pkgs.file-roller
|
|
pkgs.unrar
|
|
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
|
|
logoMenuExtension
|
|
pkgs.gnomeExtensions.places-status-indicator
|
|
pkgs.gnomeExtensions.restart-to
|
|
];
|
|
|
|
environment.gnome.excludePackages = [
|
|
# comment out to include
|
|
pkgs.gnome-tour
|
|
pkgs.gnome-user-docs
|
|
pkgs.gnome-software
|
|
# baobab # disk usage analyzer
|
|
pkgs.decibels # audio player
|
|
pkgs.epiphany # web browser
|
|
pkgs.geary # email client
|
|
# gnome-text-editor # text editor
|
|
# gnome-backgrounds
|
|
pkgs.gnome-calculator
|
|
pkgs.gnome-calendar
|
|
pkgs.gnome-characters
|
|
# gnome-clocks
|
|
pkgs.gnome-console
|
|
pkgs.gnome-contacts
|
|
# gnome-font-viewer
|
|
# gnome-logs
|
|
pkgs.gnome-maps
|
|
pkgs.gnome-music
|
|
pkgs.gnome-system-monitor
|
|
pkgs.gnome-weather
|
|
pkgs.loupe
|
|
pkgs.papers
|
|
# gnome-connections
|
|
pkgs.showtime
|
|
pkgs.simple-scan
|
|
pkgs.snapshot
|
|
pkgs.yelp
|
|
];
|
|
}
|