Xfce
Xfce is a lightweight desktop environment based on GTK+. It includes a window manager, a file manager, desktop and panel.
Enabling
To use xfce set service.xserver.desktopManager.xfce.enable
to true
. For example:
/etc/nixos/configuration.nix
{ config, pkgs, callPackage, ... }: {
...
# if you use pulseaudio
nixpkgs.config.pulseaudio = true;
services.xserver = {
enable = true;
desktopManager = {
default = "xfce";
xterm.enable = false;
xfce.enable = true;
};
};
...
}
Using as a desktop manager and not a window manager
You can use xfce purely as a desktop manager, leaving window management to another window manager like i3 for example. In this scenario, xfce's role is to answer to media keys, prompt when plugging a new monitor and so on.
Example config:
/etc/nixos/configuration.nix
{ config, pkgs, callPackage, ... }: {
...
services.xserver = {
enable = true;
desktopManager = {
default = "xfce";
xterm.enable = false;
xfce = {
enable = true;
noDesktop = true;
enableXfwm = false;
};
};
windowManager.i3.enable = true;
};
...
}
On first login, make sure to choose the session xfce+i3
in your display manager.
If you choose xfce
you will end up in xfce without panels nor window manager, which
is unusable.
Note that xfce manages your session instead of i3: exiting i3 will blank your screen but not terminate your session.
In your i3 config, replace i3-msg exit
with xfce4-session-logout
.
Troubleshooting
Pulseaudio
If you use pulse audio, set nixpkgs.config.pulseaudio = true
as shown above. Otherwise, you may
experience glitches like being able to mute the sound card but not unmute it.