python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / nixos / modules / config / no-x-libs.nix
blob946c9bf38c4701913f05720f9744e5ad01a998a1
1 # This module gets rid of all dependencies on X11 client libraries
2 # (including fontconfig).
4 { config, lib, ... }:
6 with lib;
9   options = {
10     environment.noXlibs = mkOption {
11       type = types.bool;
12       default = false;
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.
19       '';
20     };
21   };
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; };
45     }));
46   };