Hi all,
Since updating past NixOS 25.05 (running nixos-unstable, previous config was also unstable but pre-25.05 release) I’ve been having problems with GNOME and Nautilus:
- New USB drives and devices aren’t being automatically mounted
- I can’t see unmounted but permamently attached drives in Nautilus
- Clicking the ‘Network’ tab in Nautilus causes the program to crash
- The ‘Wastebasket’ tab fails with a popup saying
Oops! Something went wrong.
“trash” locations are not supported.
This was all working correctly pre-upgrade. I’ve traced the issues to the majority of the GVFS services failing to start with the graphical session. After boot and login, the GVFS user services (as checked through systemctl --user status
) are as follows:
Service name | Status |
---|---|
gvfs-afc-volume-monitor.service | inactive (dead) |
gvfs-daemon.service | active (running) |
gvfs-goa-volume-monitor.service | inactive (dead) |
gvfs-gphoto2-volume-monitor.service | inactive (dead) |
gvfs-metadata.service | inactive (dead) |
gvfs-mtp-volume-monitor.service | inactive (dead) |
gvfs-udisks2-volume-monitor.service | inactive (dead) |
By contrast, on a computer still running with my last version of nixpkgs (pre 25.05), all these services are started after login. If I manually enable all the inactive services above and log out and back in, GNOME and Nautilus function properly and the problems above stop occurring until next restart, when the services fail to be started again.
This seems to be happening at the dbus level — on my computer running the old config, journalctl --boot | grep gvfs
returns the following:
May 29 09:59:44 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.UDisks2VolumeMonitor' unit='gvfs-udisks2-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.GPhoto2VolumeMonitor' unit='gvfs-gphoto2-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.MTPVolumeMonitor' unit='gvfs-mtp-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.GoaVolumeMonitor' unit='gvfs-goa-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 09:59:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.AfcVolumeMonitor' unit='gvfs-afc-volume-monitor.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
May 29 10:00:46 attlerock dbus-daemon[1970]: [session uid=1000 pid=1970] Activating via systemd: service name='org.gtk.vfs.Metadata' unit='gvfs-metadata.service' requested by ':1.11' (uid=1000 pid=2062 comm="/nix/store/zwd8khilq0h3y5i6nrxy9w2hxpd8ahm3-gnome-" label="kernel")
On the computer running latest unstable, there is no mention of these services starting or failing to start, with the exception of gvfs-daemon:
May 29 09:58:14 timber-hearth dbus-daemon[2496]: [session uid=1000 pid=2496] Activating via systemd: service name='org.gtk.vfs.Daemon' unit='gvfs-daemon.service' requested by ':1.42' (uid=1000 pid=2889 comm="/nix/store/qiibh0szsx2wmdcain37znnnh1bylnl2-gnome-")
At this point I’ve run out of ideas since I don’t know enough about how these things are started at the dbus level. There was an update to the gvfs
package as part of the GNOME: 47 → 48 PR, but I’ve checked the dbus and systemd service definitions supplied by both gvfs-1.56.1
and gvfs-1.57.2
in the nix store and (internal store paths aside) they’re identical.
My GNOME config is pretty normal, I’ve also tried manually enabling the gvfs module and made sure the GVFS package it’s using has GNOME support:
services = {
xserver = {
enable = true;
displayManager.gdm = {
enable = true;
wayland = true;
autoSuspend = true;
};
desktopManager.gnome.enable = true;
};
gvfs = {
enable = true;
package = pkgs.gnome.gvfs;
};
};
Has anyone else experienced this before, and/or does anyone have any next steps to figure out what’s gone wrong?