2014-04-16 15:58:06 +01:00
|
|
|
# This module gets rid of all dependencies on X11 client libraries
|
|
|
|
# (including fontconfig).
|
|
|
|
|
2018-07-20 21:56:59 +01:00
|
|
|
{ config, lib, ... }:
|
2009-09-20 16:07:19 +01:00
|
|
|
|
2014-04-14 15:26:48 +01:00
|
|
|
with lib;
|
2013-10-30 16:37:45 +00:00
|
|
|
|
2009-09-20 16:07:19 +01:00
|
|
|
{
|
|
|
|
options = {
|
2013-10-30 16:37:45 +00:00
|
|
|
environment.noXlibs = mkOption {
|
|
|
|
type = types.bool;
|
2009-09-20 16:07:19 +01:00
|
|
|
default = false;
|
2022-07-28 22:19:15 +01:00
|
|
|
description = lib.mdDoc ''
|
2014-04-16 15:58:06 +01:00
|
|
|
Switch off the options in the default configuration that
|
|
|
|
require X11 libraries. This includes client-side font
|
|
|
|
configuration and SSH forwarding of X11 authentication
|
|
|
|
in. Thus, you probably do not want to enable this option if
|
|
|
|
you want to run X11 programs on this machine via SSH.
|
2009-09-20 19:15:52 +01:00
|
|
|
'';
|
2009-09-20 16:07:19 +01:00
|
|
|
};
|
|
|
|
};
|
2013-10-01 13:45:20 +01:00
|
|
|
|
2013-10-30 16:37:45 +00:00
|
|
|
config = mkIf config.environment.noXlibs {
|
2012-03-25 16:42:05 +01:00
|
|
|
programs.ssh.setXAuthLocation = false;
|
2014-04-16 15:58:06 +01:00
|
|
|
security.pam.services.su.forwardXAuth = lib.mkForce false;
|
|
|
|
|
2014-11-30 19:36:49 +00:00
|
|
|
fonts.fontconfig.enable = false;
|
2014-04-16 15:58:06 +01:00
|
|
|
|
2018-06-11 19:12:22 +01:00
|
|
|
nixpkgs.overlays = singleton (const (super: {
|
2022-09-02 21:00:23 +01:00
|
|
|
beam = super.beam_nox;
|
2020-08-01 22:04:18 +01:00
|
|
|
cairo = super.cairo.override { x11Support = false; };
|
2018-06-11 19:12:22 +01:00
|
|
|
dbus = super.dbus.override { x11Support = false; };
|
2022-10-23 02:37:54 +01:00
|
|
|
ffmpeg_4 = super.ffmpeg_4-headless;
|
|
|
|
ffmpeg_5 = super.ffmpeg_5-headless;
|
2022-09-02 21:00:23 +01:00
|
|
|
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
|
2022-12-21 21:24:48 +00:00
|
|
|
gpsd = super.gpsd.override { guiSupport = false; };
|
2022-12-05 01:02:31 +00:00
|
|
|
imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; };
|
|
|
|
imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };
|
2022-12-16 21:04:57 +00:00
|
|
|
libextractor = super.libextractor.override { gstreamerSupport = false; gtkSupport = false; };
|
2022-09-02 21:02:48 +01:00
|
|
|
libva = super.libva-minimal;
|
2022-12-21 21:24:48 +00:00
|
|
|
limesuite = super.limesuite.override { withGui = false; };
|
2022-12-16 19:10:13 +00:00
|
|
|
msmtp = super.msmtp.override { withKeyring = false; };
|
2018-06-11 19:12:22 +01:00
|
|
|
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
|
2020-10-20 23:04:02 +01:00
|
|
|
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
|
2018-06-11 19:12:22 +01:00
|
|
|
networkmanager-l2tp = super.networkmanager-l2tp.override { withGnome = false; };
|
|
|
|
networkmanager-openconnect = super.networkmanager-openconnect.override { withGnome = false; };
|
|
|
|
networkmanager-openvpn = super.networkmanager-openvpn.override { withGnome = false; };
|
2020-10-20 23:04:02 +01:00
|
|
|
networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
|
2018-06-11 19:12:22 +01:00
|
|
|
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
|
2022-12-05 01:42:50 +00:00
|
|
|
pinentry = super.pinentry.override { enabledFlavors = [ "curses" "tty" "emacs" ]; withLibsecret = false; };
|
2020-08-16 17:08:49 +01:00
|
|
|
qemu = super.qemu.override { gtkSupport = false; spiceSupport = false; sdlSupport = false; };
|
2022-12-04 22:05:31 +00:00
|
|
|
qrencode = super.qrencode.overrideAttrs (_: { doCheck = false; });
|
2022-12-04 23:51:58 +00:00
|
|
|
zbar = super.zbar.override { enableVideo = false; withXorg = false; };
|
2018-06-11 19:12:22 +01:00
|
|
|
}));
|
2009-09-20 16:07:19 +01:00
|
|
|
};
|
|
|
|
}
|