Xfce Desktop Environment
To enable the Xfce Desktop Environment, set
services.xserver.desktopManager = {
xfce.enable = true;
default = "xfce";
};
Optionally, compton
can be enabled for nice graphical effects, some example settings:
services.compton = {
enable = true;
fade = true;
inactiveOpacity = "0.9";
shadow = true;
fadeDelta = 4;
};
Some Xfce programs are not installed automatically.
To install them manually (system wide), put them into your
environment.systemPackages.
NixOS’s default display manageris SLiM.
(DM is the program that provides a graphical login prompt
and manages the X server.)
You can, for example, select KDE’s
sddm instead:
services.xserver.displayManager.sddm.enable = true;
Thunar Volume Support
To enable
Thunar
volume support, put
services.xserver.desktopManager.xfce.enable = true;
into your configuration.nix.
Polkit Authentication Agent
There is no authentication agent automatically installed alongside
Xfce. To allow mounting of local (non-removable) filesystems, you
will need to install one.
Installing polkit_gnome, a rebuild, logout and
login did the trick.
Troubleshooting
Even after enabling udisks2, volume management might not work.
Thunar and/or the desktop takes time to show up.
Thunar will spit out this kind of message on start
(look at journalctl --user -b).
Thunar:2410): GVFS-RemoteVolumeMonitor-WARNING **: remote volume monitor with dbus name org.gtk.Private.UDisks2VolumeMonitor is not supported
This is caused by some needed GNOME services not running.
This is all fixed by enabling "Launch GNOME services on startup" in
the Advanced tab of the Session and Startup settings panel.
Alternatively, you can run this command to do the same thing.
$ xfconf-query -c xfce4-session -p /compat/LaunchGNOME -s true
A log-out and re-log will be needed for this to take effect.