1 # This module gets rid of all dependencies on X11 client libraries
2 # (including fontconfig).
10 environment.noXlibs = mkOption {
13 description = lib.mdDoc ''
14 Switch off the options in the default configuration that
15 require X11 libraries. This includes client-side font
16 configuration and SSH forwarding of X11 authentication
17 in. Thus, you probably do not want to enable this option if
18 you want to run X11 programs on this machine via SSH.
23 config = mkIf config.environment.noXlibs {
24 programs.ssh.setXAuthLocation = false;
25 security.pam.services.su.forwardXAuth = lib.mkForce false;
27 fonts.fontconfig.enable = false;
29 nixpkgs.overlays = singleton (const (super: {
30 beam = super.beam_nox;
31 cairo = super.cairo.override { x11Support = false; };
32 dbus = super.dbus.override { x11Support = false; };
33 ffmpeg_4 = super.ffmpeg_4.override { sdlSupport = false; vdpauSupport = false; };
34 ffmpeg_5 = super.ffmpeg_5.override { sdlSupport = false; vdpauSupport = false; };
35 gobject-introspection = super.gobject-introspection.override { x11Support = false; };
36 libva = super.libva-minimal;
37 networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
38 networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
39 networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
40 networkmanager-openconnect = super.networkmanager-openconnect.override { withGnome = false; };
41 networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
42 networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
43 networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
44 qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };