desktop: replace Thunar with Nautilus, add File Roller

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>
This commit is contained in:
randogoth 2026-07-23 16:15:20 +02:00
parent 1565c4cb5c
commit be7ecfc0ea
4 changed files with 6 additions and 55 deletions

View file

@ -1,30 +1,6 @@
{ lib, pkgs, ... }: { lib, pkgs, ... }:
let let
thunarDesktopOverride = pkgs.makeDesktopItem {
name = "thunar";
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";
};
ptyxisDesktopOverride = pkgs.makeDesktopItem { ptyxisDesktopOverride = pkgs.makeDesktopItem {
name = "org.gnome.Ptyxis"; name = "org.gnome.Ptyxis";
desktopName = "Terminal"; desktopName = "Terminal";
@ -41,7 +17,6 @@ let
in in
{ {
environment.systemPackages = lib.mkAfter [ environment.systemPackages = lib.mkAfter [
(lib.hiPrio thunarDesktopOverride)
(lib.hiPrio ptyxisDesktopOverride) (lib.hiPrio ptyxisDesktopOverride)
]; ];
} }

View file

@ -1,27 +0,0 @@
{ pkgs, ... }:
{
environment.etc."xdg/xfce4/xfconf/xfce-perchannel-xml/exo.xml".text = ''
<?xml version="1.0" encoding="UTF-8"?>
<channel name="exo" version="1.0">
<property name="helpers" type="empty">
<property name="TerminalEmulator" type="string" value="${pkgs.ptyxis}/bin/ptyxis"/>
</property>
</channel>
'';
services.gvfs.enable = true;
services.tumbler.enable = true;
programs.thunar = {
enable = true;
plugins = [
pkgs.xfce.thunar-archive-plugin
pkgs.xfce.thunar-media-tags-plugin
pkgs.xfce.thunar-vcs-plugin
pkgs.xfce.thunar-volman
];
};
programs.xfconf.enable = true;
}

View file

@ -30,6 +30,9 @@ in
services.displayManager.gdm.enable = true; services.displayManager.gdm.enable = true;
services.desktopManager.gnome.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.core-developer-tools.enable = false;
services.gnome.games.enable = false; services.gnome.games.enable = false;
@ -41,7 +44,7 @@ in
"org/gnome/shell" = { "org/gnome/shell" = {
disable-user-extensions = false; disable-user-extensions = false;
favorite-apps = [ favorite-apps = [
"thunar.desktop" "org.gnome.Nautilus.desktop"
"org.gnome.Ptyxis.desktop" "org.gnome.Ptyxis.desktop"
"com.ranfdev.DistroShelf.desktop" "com.ranfdev.DistroShelf.desktop"
"io.github.kolunmi.Bazaar.desktop" "io.github.kolunmi.Bazaar.desktop"
@ -94,6 +97,8 @@ in
pkgs.gnome-extension-manager pkgs.gnome-extension-manager
pkgs.mission-center pkgs.mission-center
pkgs.papirus-icon-theme pkgs.papirus-icon-theme
pkgs.file-roller
pkgs.unrar
pkgs.gnomeExtensions.all-in-one-clipboard pkgs.gnomeExtensions.all-in-one-clipboard
pkgs.gnomeExtensions.alphabetical-app-grid pkgs.gnomeExtensions.alphabetical-app-grid
pkgs.gnomeExtensions.app-hider pkgs.gnomeExtensions.app-hider
@ -129,7 +134,6 @@ in
pkgs.gnome-system-monitor pkgs.gnome-system-monitor
pkgs.gnome-weather pkgs.gnome-weather
pkgs.loupe pkgs.loupe
pkgs.nautilus
pkgs.papers pkgs.papers
# gnome-connections # gnome-connections
pkgs.showtime pkgs.showtime

View file

@ -16,7 +16,6 @@
../system/printer.nix ../system/printer.nix
../system/impermanence.nix ../system/impermanence.nix
../desktop/desktop-entries.nix ../desktop/desktop-entries.nix
../desktop/file-manager.nix
../desktop/gnome.nix ../desktop/gnome.nix
../users/admin.nix ../users/admin.nix
]; ];