Set your environment variables, kids!

Just recording for posterity the solution to an incredibly stupid problem.
When I switched my users.users.<name>.shell = to the extremely nice fish shell, I neglected to add programs.fish.enable = true; in my configuration.nix.

This meant a few crucial environment variables were not set in my login shell (even though most were there!), one of which being a few entries in $GIO_EXTRA_MODULES relating to GVFS (mentioned here). This manifested in the file manager refusing to open the trash ("Sorry, could not display all the contents of trash:/// : Operation not supported"), mount sftp, automount USB drives, or show file metadata.

So don’t miss this step! Although it really should warn you.

Though the effect of pure functional builds in the maddening month of troubleshooting I went through is knowing reinstalling will have absolutely no effect, the problem is in your configuration.nix.

6 Likes

Thank you for this post!

This solved my problem mentioned in the Github issue :smiley: Thanks a lot!

1 Like

I use the default shell with my user and have this problem. Also, no available protocols for “Connect to Server”. Any suggestions?

Btw., I just discovered, that I can’t change nautilus preferences either.