2014-04-16 14:58:06 +00:00
|
|
|
# This module gets rid of all dependencies on X11 client libraries
|
|
|
|
# (including fontconfig).
|
|
|
|
|
2018-07-20 20:56:59 +00:00
|
|
|
{ config, lib, ... }:
|
2009-09-20 15:07:19 +00:00
|
|
|
|
2014-04-14 14:26:48 +00:00
|
|
|
with lib;
|
2013-10-30 16:37:45 +00:00
|
|
|
|
2009-09-20 15:07:19 +00:00
|
|
|
{
|
|
|
|
options = {
|
2013-10-30 16:37:45 +00:00
|
|
|
environment.noXlibs = mkOption {
|
|
|
|
type = types.bool;
|
2009-09-20 15:07:19 +00:00
|
|
|
default = false;
|
2024-04-13 12:54:15 +00:00
|
|
|
description = ''
|
2014-04-16 14:58:06 +00: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 18:15:52 +00:00
|
|
|
'';
|
2009-09-20 15:07:19 +00:00
|
|
|
};
|
|
|
|
};
|
2013-10-01 12:45:20 +00:00
|
|
|
|
2013-10-30 16:37:45 +00:00
|
|
|
config = mkIf config.environment.noXlibs {
|
2012-03-25 15:42:05 +00:00
|
|
|
programs.ssh.setXAuthLocation = false;
|
2014-04-16 14:58:06 +00:00
|
|
|
security.pam.services.su.forwardXAuth = lib.mkForce false;
|
|
|
|
|
2014-11-30 19:36:49 +00:00
|
|
|
fonts.fontconfig.enable = false;
|
2014-04-16 14:58:06 +00:00
|
|
|
|
2023-07-04 22:21:17 +00:00
|
|
|
nixpkgs.overlays = singleton (const (super: {
|
2022-09-02 20:00:23 +00:00
|
|
|
beam = super.beam_nox;
|
2020-08-01 21:04:18 +00:00
|
|
|
cairo = super.cairo.override { x11Support = false; };
|
2018-06-11 18:12:22 +00:00
|
|
|
dbus = super.dbus.override { x11Support = false; };
|
2024-02-04 22:25:46 +00:00
|
|
|
fastfetch = super.fastfetch.override { vulkanSupport = false; waylandSupport = false; x11Support = false; };
|
2024-04-28 15:10:59 +00:00
|
|
|
ffmpeg = super.ffmpeg.override { ffmpegVariant = "headless"; };
|
2023-02-14 22:29:23 +00:00
|
|
|
ffmpeg_4 = super.ffmpeg_4.override { ffmpegVariant = "headless"; };
|
|
|
|
ffmpeg_5 = super.ffmpeg_5.override { ffmpegVariant = "headless"; };
|
2024-04-28 15:10:59 +00:00
|
|
|
ffmpeg_6 = super.ffmpeg_6.override { ffmpegVariant = "headless"; };
|
|
|
|
ffmpeg_7 = super.ffmpeg_7.override { ffmpegVariant = "headless"; };
|
2022-12-10 19:44:43 +00:00
|
|
|
# dep of graphviz, libXpm is optional for Xpm support
|
|
|
|
gd = super.gd.override { withXorg = false; };
|
2023-12-06 18:29:18 +00:00
|
|
|
ghostscript = super.ghostscript.override { cupsSupport = false; x11Support = false; };
|
2023-12-25 20:16:57 +00:00
|
|
|
gjs = super.gjs.overrideAttrs { doCheck = false; installTests = false; }; # avoid test dependency on gtk3
|
2022-09-02 20:00:23 +00:00
|
|
|
gobject-introspection = super.gobject-introspection.override { x11Support = false; };
|
2024-01-29 09:35:22 +00:00
|
|
|
gpg-tui = super.gpg-tui.override { x11Support = false; };
|
2022-12-10 19:44:43 +00:00
|
|
|
gpsd = super.gpsd.override { guiSupport = false; };
|
|
|
|
graphviz = super.graphviz-nox;
|
2022-12-20 23:25:44 +00:00
|
|
|
gst_all_1 = super.gst_all_1 // {
|
2023-05-14 17:43:25 +00:00
|
|
|
gst-plugins-bad = super.gst_all_1.gst-plugins-bad.override { guiSupport = false; };
|
2024-05-24 23:23:02 +00:00
|
|
|
gst-plugins-base = super.gst_all_1.gst-plugins-base.override { enableGl = false; enableWayland = false; enableX11 = false; };
|
2024-04-28 16:58:53 +00:00
|
|
|
gst-plugins-good = super.gst_all_1.gst-plugins-good.override { enableWayland = false; enableX11 = false; gtkSupport = false; qt5Support = false; qt6Support = false; };
|
2024-05-24 23:22:51 +00:00
|
|
|
gst-plugins-rs = super.gst_all_1.gst-plugins-rs.override { withGtkPlugins = false; };
|
2022-12-20 23:25:44 +00:00
|
|
|
};
|
2022-12-05 01:02:31 +00:00
|
|
|
imagemagick = super.imagemagick.override { libX11Support = false; libXtSupport = false; };
|
|
|
|
imagemagickBig = super.imagemagickBig.override { libX11Support = false; libXtSupport = false; };
|
2023-09-01 14:21:42 +00:00
|
|
|
intel-vaapi-driver = super.intel-vaapi-driver.override { enableGui = false; };
|
2022-12-10 19:44:43 +00:00
|
|
|
libdevil = super.libdevil-nox;
|
2022-12-20 23:25:44 +00:00
|
|
|
libextractor = super.libextractor.override { gtkSupport = false; };
|
2024-05-25 00:35:31 +00:00
|
|
|
libplacebo = super.libplacebo.override { vulkanSupport = false; };
|
2022-09-02 20:02:48 +00:00
|
|
|
libva = super.libva-minimal;
|
2022-12-21 21:24:48 +00:00
|
|
|
limesuite = super.limesuite.override { withGui = false; };
|
2023-02-05 08:46:41 +00:00
|
|
|
mc = super.mc.override { x11Support = false; };
|
2024-05-24 23:55:50 +00:00
|
|
|
mpv-unwrapped = super.mpv-unwrapped.override { drmSupport = false; screenSaverSupport = false; sdl2Support = false; vulkanSupport = false; waylandSupport = false; x11Support = false; };
|
2022-12-16 19:10:13 +00:00
|
|
|
msmtp = super.msmtp.override { withKeyring = false; };
|
2023-12-08 01:52:54 +00:00
|
|
|
mupdf = super.mupdf.override { enableGL = false; enableX11 = false; };
|
2023-01-19 23:41:05 +00:00
|
|
|
neofetch = super.neofetch.override { x11Support = false; };
|
2018-06-11 18:12:22 +00:00
|
|
|
networkmanager-fortisslvpn = super.networkmanager-fortisslvpn.override { withGnome = false; };
|
2020-10-20 22:04:02 +00:00
|
|
|
networkmanager-iodine = super.networkmanager-iodine.override { withGnome = false; };
|
2018-06-11 18:12:22 +00: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 22:04:02 +00:00
|
|
|
networkmanager-sstp = super.networkmanager-vpnc.override { withGnome = false; };
|
2018-06-11 18:12:22 +00:00
|
|
|
networkmanager-vpnc = super.networkmanager-vpnc.override { withGnome = false; };
|
2022-12-10 19:44:43 +00:00
|
|
|
pango = super.pango.override { x11Support = false; };
|
2021-08-11 20:06:36 +00:00
|
|
|
pinentry-curses = super.pinentry-curses.override { withLibsecret = false; };
|
2024-05-26 21:22:07 +00:00
|
|
|
pinentry-tty = super.pinentry-tty.override { withLibsecret = false; };
|
2024-01-29 09:41:34 +00:00
|
|
|
pipewire = super.pipewire.override { vulkanSupport = false; x11Support = false; };
|
2023-07-04 22:21:17 +00:00
|
|
|
pythonPackagesExtensions = super.pythonPackagesExtensions ++ [
|
|
|
|
(python-final: python-prev: {
|
|
|
|
# tk feature requires wayland which fails to compile
|
|
|
|
matplotlib = python-prev.matplotlib.override { enableTk = false; };
|
|
|
|
})
|
|
|
|
];
|
2020-08-16 16:08:49 +00: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; });
|
2023-03-09 18:57:06 +00:00
|
|
|
qt5 = super.qt5.overrideScope (const (super': {
|
2023-12-25 20:31:25 +00:00
|
|
|
qtbase = super'.qtbase.override { withGtk3 = false; withQttranslation = false; };
|
2023-02-21 20:06:45 +00:00
|
|
|
}));
|
2022-12-10 19:44:43 +00:00
|
|
|
stoken = super.stoken.override { withGTK3 = false; };
|
|
|
|
# translateManpages -> perlPackages.po4a -> texlive-combined-basic -> texlive-core-big -> libX11
|
|
|
|
util-linux = super.util-linux.override { translateManpages = false; };
|
2022-12-29 19:17:54 +00:00
|
|
|
vim-full = super.vim-full.override { guiSupport = false; };
|
2022-12-27 03:25:05 +00:00
|
|
|
vte = super.vte.override { gtkVersion = null; };
|
2022-12-04 23:51:58 +00:00
|
|
|
zbar = super.zbar.override { enableVideo = false; withXorg = false; };
|
2023-07-04 22:21:17 +00:00
|
|
|
}));
|
2009-09-20 15:07:19 +00:00
|
|
|
};
|
|
|
|
}
|