···3434On NixOS, it can be installed using the following expression:
35353636```nix
3737-{ pkgs, ... }: { fonts.fonts = with pkgs; [ noto-fonts-emoji ]; }
3737+{ pkgs, ... }: {
3838+ fonts.packages = with pkgs; [ noto-fonts-emoji ];
3939+}
3840```
+5-2
doc/languages-frameworks/cuda.section.md
···12121313To use one or more CUDA packages in an expression, give the expression a `cudaPackages` parameter, and in case CUDA is optional
1414```nix
1515-cudaSupport ? false
1616-cudaPackages ? {}
1515+{ config
1616+, cudaSupport ? config.cudaSupport
1717+, cudaPackages ? { }
1818+, ...
1919+}:
1720```
18211922When using `callPackage`, you can choose to pass in a different variant, e.g.
+3-2
lib/generators.nix
···8181 */
8282 toKeyValue = {
8383 mkKeyValue ? mkKeyValueDefault {} "=",
8484- listsAsDuplicateKeys ? false
8484+ listsAsDuplicateKeys ? false,
8585+ indent ? ""
8586 }:
8686- let mkLine = k: v: mkKeyValue k v + "\n";
8787+ let mkLine = k: v: indent + mkKeyValue k v + "\n";
8788 mkLines = if listsAsDuplicateKeys
8889 then k: v: map (mkLine k) (if lib.isList v then v else [v])
8990 else k: v: [ (mkLine k v) ];
···83838484- [gitea-actions-runner](https://gitea.com/gitea/act_runner), a CI runner for Gitea/Forgejo Actions. Available as [services.gitea-actions-runner](#opt-services.gitea-actions-runner.instances).
85858686+- [evdevremapkeys](https://github.com/philipl/evdevremapkeys), a daemon to remap key events. Available as [services.evdevremapkeys](#opt-services.evdevremapkeys.enable).
8787+8688- [gmediarender](https://github.com/hzeller/gmrender-resurrect), a simple, headless UPnP/DLNA renderer. Available as [services.gmediarender](options.html#opt-services.gmediarender.enable).
87898890- [go2rtc](https://github.com/AlexxIT/go2rtc), a camera streaming appliation with support for RTSP, WebRTC, HomeKit, FFMPEG, RTMP and other protocols. Available as [services.go2rtc](options.html#opt-services.go2rtc.enable).
+2
nixos/doc/manual/release-notes/rl-2311.section.md
···123123124124- `buildGoModule` `go-modules` attrs have been renamed to `goModules`.
125125126126+- The `fonts.fonts` and `fonts.enableDefaultFonts` options have been renamed to `fonts.packages` and `fonts.enableDefaultPackages` respectively.
127127+126128- `services.fail2ban.jails` can now be configured with attribute sets defining settings and filters instead of lines. The stringed options `daemonConfig` and `extraSettings` have respectively been replaced by `daemonSettings` and `jails.DEFAULT.settings` which use attribute sets.
127129128130- The module [services.ankisyncd](#opt-services.ankisyncd.package) has been switched to [anki-sync-server-rs](https://github.com/ankicommunity/anki-sync-server-rs) from the old python version, which was difficult to update, had not been updated in a while, and did not support recent versions of anki.
···11-{ config, lib, pkgs, ... }:
22-33-with lib;
44-55-let
66- cfg = config.fonts;
77-88- defaultFonts =
99- [ pkgs.dejavu_fonts
1010- pkgs.freefont_ttf
1111- pkgs.gyre-fonts # TrueType substitutes for standard PostScript fonts
1212- pkgs.liberation_ttf
1313- pkgs.unifont
1414- pkgs.noto-fonts-emoji
1515- ];
1616-in
1717-{
1818- imports = [
1919- (mkRemovedOptionModule [ "fonts" "enableCoreFonts" ] "Use fonts.fonts = [ pkgs.corefonts ]; instead.")
2020- ];
2121-2222- options = {
2323-2424- fonts = {
2525-2626- # TODO: find another name for it.
2727- fonts = mkOption {
2828- type = types.listOf types.path;
2929- default = [];
3030- example = literalExpression "[ pkgs.dejavu_fonts ]";
3131- description = lib.mdDoc "List of primary font paths.";
3232- };
3333-3434- enableDefaultFonts = mkOption {
3535- type = types.bool;
3636- default = false;
3737- description = lib.mdDoc ''
3838- Enable a basic set of fonts providing several font styles
3939- and families and reasonable coverage of Unicode.
4040- '';
4141- };
4242- };
4343-4444- };
4545-4646- config = { fonts.fonts = mkIf cfg.enableDefaultFonts defaultFonts; };
4747-}
+10-20
nixos/modules/config/fonts/ghostscript.nix
···33with lib;
4455{
66-76 options = {
88-99- fonts = {
1010-1111- enableGhostscriptFonts = mkOption {
1212- type = types.bool;
1313- default = false;
1414- description = lib.mdDoc ''
1515- Whether to add the fonts provided by Ghostscript (such as
1616- various URW fonts and the “Base-14” Postscript fonts) to the
1717- list of system fonts, making them available to X11
1818- applications.
1919- '';
2020- };
2121-77+ fonts.enableGhostscriptFonts = mkOption {
88+ type = types.bool;
99+ default = false;
1010+ description = lib.mdDoc ''
1111+ Whether to add the fonts provided by Ghostscript (such as
1212+ various URW fonts and the “Base-14” Postscript fonts) to the
1313+ list of system fonts, making them available to X11
1414+ applications.
1515+ '';
2216 };
23172418 };
25192626-2720 config = mkIf config.fonts.enableGhostscriptFonts {
2828-2929- fonts.fonts = [ "${pkgs.ghostscript}/share/ghostscript/fonts" ];
3030-2121+ fonts.packages = [ "${pkgs.ghostscript}/share/ghostscript/fonts" ];
3122 };
3232-3323}
···33 configuration to work.
4455 See also
66- - ./nix.nix
77- - ./nix-flakes.nix
66+ - ./nix.nix
77+ - ./nix-flakes.nix
88 */
99{ config, lib, ... }:
1010let
···2828 Whether the `nix-channel` command and state files are made available on the machine.
29293030 The following files are initialized when enabled:
3131- - `/nix/var/nix/profiles/per-user/root/channels`
3232- - `/root/.nix-channels`
3333- - `$HOME/.nix-defexpr/channels` (on login)
3131+ - `/nix/var/nix/profiles/per-user/root/channels`
3232+ - `/root/.nix-channels`
3333+ - `$HOME/.nix-defexpr/channels` (on login)
34343535 Disabling this option will not remove the state files from the system.
3636 '';
···4848 "nixos-config=/etc/nixos/configuration.nix"
4949 "/nix/var/nix/profiles/per-user/root/channels"
5050 ]
5151- else [];
5151+ else [ ];
5252 defaultText = ''
5353 if nix.channel.enable
5454 then [
···8686 '';
87878888 environment.extraSetup = mkIf (!cfg.channel.enable) ''
8989- rm $out/bin/nix-channel
8989+ rm --force $out/bin/nix-channel
9090 '';
91919292 # NIX_PATH has a non-empty default according to Nix docs, so we don't unset
···2626 lib.mapAttrs (_: toString) cfg.extraConfig
2727 );
28282929- manage =
3030- let
3131- setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
3232- in
3333- pkgs.writeShellScript "manage" ''
3434- ${setupEnv}
3535- exec ${pkg}/bin/paperless-ngx "$@"
3636- '';
2929+ manage = pkgs.writeShellScript "manage" ''
3030+ set -o allexport # Export the following env vars
3131+ ${lib.toShellVars env}
3232+ exec ${pkg}/bin/paperless-ngx "$@"
3333+ '';
37343835 # Secure the services
3936 defaultServiceConfig = {
···172169 description = lib.mdDoc "Web interface port.";
173170 };
174171172172+ # FIXME this should become an RFC42-style settings attr
175173 extraConfig = mkOption {
176174 type = types.attrs;
177175 default = { };
···180178181179 See [the documentation](https://paperless-ngx.readthedocs.io/en/latest/configuration.html)
182180 for available options.
181181+182182+ Note that some options such as `PAPERLESS_CONSUMER_IGNORE_PATTERN` expect JSON values. Use `builtins.toJSON` to ensure proper quoting.
183183 '';
184184- example = {
185185- PAPERLESS_OCR_LANGUAGE = "deu+eng";
186186- PAPERLESS_DBHOST = "/run/postgresql";
187187- };
184184+ example = literalExpression ''
185185+ {
186186+ PAPERLESS_OCR_LANGUAGE = "deu+eng";
187187+188188+ PAPERLESS_DBHOST = "/run/postgresql";
189189+190190+ PAPERLESS_CONSUMER_IGNORE_PATTERN = builtins.toJSON [ ".DS_STORE/*" "desktop.ini" ];
191191+192192+ PAPERLESS_OCR_USER_ARGS = builtins.toJSON {
193193+ optimize = 1;
194194+ pdfa_image_compression = "lossless";
195195+ };
196196+ };
197197+ '';
188198 };
189199190200 user = mkOption {
+1-1
nixos/modules/services/monitoring/munin.nix
···375375376376 # Munin is hardcoded to use DejaVu Mono and the graphs come out wrong if
377377 # it's not available.
378378- fonts.fonts = [ pkgs.dejavu_fonts ];
378378+ fonts.packages = [ pkgs.dejavu_fonts ];
379379380380 systemd.timers.munin-cron = {
381381 description = "batch Munin master programs";
···11+From 982d38084f08950863b55043f36ce5548bd73635 Mon Sep 17 00:00:00 2001
22+From: Maximilian Bosch <maximilian@mbosch.me>
33+Date: Mon, 24 Jul 2023 19:12:25 +0200
44+Subject: [PATCH] Strip away BUILDCONFIG
55+66+The `BuildConfig` field in `libsofficeapp.so` includes the entire
77+`PKG_CONFIG_PATH` and subsequently references to a lot of `dev` outputs
88+of library dependencies blowing up the closure.
99+1010+Since this is not strictly needed and the inputs are comprehensible via
1111+`nix derivation show`, this doesn't bring a real benefit in the case of
1212+nixpkgs anyways.
1313+---
1414+ desktop/source/lib/init.cxx | 2 +-
1515+ 1 file changed, 1 insertion(+), 1 deletion(-)
1616+1717+diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
1818+index 8d830c0cbd00..fbdc86aa7115 100644
1919+--- a/desktop/source/lib/init.cxx
2020++++ b/desktop/source/lib/init.cxx
2121+@@ -7097,7 +7097,7 @@ static char* lo_getVersionInfo(SAL_UNUSED_PARAMETER LibreOfficeKit* /*pThis*/)
2222+ "\"ProductVersion\": \"%PRODUCTVERSION\", "
2323+ "\"ProductExtension\": \"%PRODUCTEXTENSION\", "
2424+ "\"BuildId\": \"%BUILDID\", "
2525+- "\"BuildConfig\": \"" BUILDCONFIG "\" "
2626++ "\"BuildConfig\": \"removed to avoid runtime dependencies against dev outputs of each dependency. Use 'nix derivation show' against the package to find out details about BuildConfig.\" "
2727+ "}"));
2828+ }
2929+3030+--
3131+2.40.1
3232+
+16
pkgs/applications/office/libreoffice/default.nix
···214214 tar -xf ${srcs.translations}
215215 '';
216216217217+ # Remove build config to reduce the amount of `-dev` outputs in the
218218+ # runtime closure. This was introduced in upstream commit
219219+ # cbfac11330882c7d0a817b6c37a08b2ace2b66f4, so the patch doesn't apply
220220+ # for 7.4.
221221+ patches = lib.optionals (lib.versionAtLeast version "7.5") [
222222+ ./0001-Strip-away-BUILDCONFIG.patch
223223+ ];
224224+225225+ # libreoffice tries to reference the BUILDCONFIG (e.g. PKG_CONFIG_PATH)
226226+ # in the binary causing the closure size to blow up because of many unnecessary
227227+ # dependencies to dev outputs. This behavior was patched away in nixpkgs
228228+ # (see above), make sure these don't leak again by accident.
229229+ disallowedRequisites = lib.concatMap
230230+ (x: lib.optional (x?dev) x.dev)
231231+ buildInputs;
232232+217233 ### QT/KDE
218234 #
219235 # configure.ac assumes that the first directory that contains headers and
+4-1
pkgs/applications/radio/ax25-tools/default.nix
···1717 sha256 = "sha256-kqnLi1iobcufVWMPxUyaRsWKIPyTvtUkuMERGQs2qgY=";
1818 };
19192020- configureFlags = [ "--sysconfdir=/etc" ];
2020+ configureFlags = [
2121+ "--sysconfdir=/etc"
2222+ "--localstatedir=/var/lib"
2323+ ];
21242225 meta = with lib; {
2326 description = "Non-GUI tools used to configure an AX.25 enabled computer";
+1-1
pkgs/applications/radio/urh/default.nix
···3333 homepage = "https://github.com/jopohl/urh";
3434 description = "Universal Radio Hacker: investigate wireless protocols like a boss";
3535 license = licenses.gpl3;
3636- platforms = platforms.linux;
3636+ platforms = platforms.unix;
3737 maintainers = with maintainers; [ fpletz ];
3838 };
3939}
···11diff --git a/pkg/machine/qemu/machine.go b/pkg/machine/qemu/machine.go
22-index 4f25b4d26..8a79862fd 100644
22+index a118285f7..d775f0099 100644
33--- a/pkg/machine/qemu/machine.go
44+++ b/pkg/machine/qemu/machine.go
55-@@ -1509,11 +1509,6 @@ func (v *MachineVM) waitAPIAndPrintInfo(forwardState apiForwardingState, forward
66- case notInstalled:
55+@@ -1560,11 +1560,6 @@ func (v *MachineVM) waitAPIAndPrintInfo(forwardState machine.APIForwardingState,
66+ case machine.NotInstalled:
77 fmt.Printf("\nThe system helper service is not installed; the default Docker API socket\n")
88 fmt.Printf("address can't be used by podman. ")
99- if helper := findClaimHelper(); len(helper) > 0 {
···1111- fmt.Printf("\n\tsudo %s install\n", helper)
1212- fmt.Printf("\tpodman machine stop%s; podman machine start%s\n\n", suffix, suffix)
1313- }
1414- case machineLocal:
1414+ case machine.MachineLocal:
1515 fmt.Printf("\nAnother process was listening on the default Docker API socket address.\n")
1616- case claimUnsupported:
1616+ case machine.ClaimUnsupported:
···2424, libkrb5
2525, krb5
2626, makeWrapper
2727+, markForCudatoolkitRootHook
2728, ncurses5
2829, numactl
2930, nss
···3132, python3 # FIXME: CUDAToolkit 10 may still need python27
3233, pulseaudio
3334, requireFile
3535+, setupCudaHook
3436, stdenv
3537, backendStdenv # E.g. gcc11Stdenv, set in extension.nix
3638, unixODBC
···8082 addOpenGLRunpath
8183 autoPatchelfHook
8284 autoAddOpenGLRunpathHook
8585+ markForCudatoolkitRootHook
8386 ] ++ lib.optionals (lib.versionOlder version "11") [
8487 libsForQt5.wrapQtAppsHook
8588 ] ++ lib.optionals (lib.versionAtLeast version "11.8") [
8689 qt6Packages.wrapQtAppsHook
8790 ];
9191+ depsTargetTargetPropagated = [
9292+ setupCudaHook
9393+ ];
8894 buildInputs = lib.optionals (lib.versionOlder version "11") [
8995 libsForQt5.qt5.qtwebengine
9096 freeglut
···129135 (lib.getLib libtiff)
130136 qt6Packages.qtwayland
131137 rdma-core
132132- ucx
138138+ (ucx.override { enableCuda = false; }) # Avoid infinite recursion
133139 xorg.libxshmfence
134140 xorg.libxkbfile
135141 ] ++ (lib.optionals (lib.versionAtLeast version "12.1") (map lib.getLib ([
···280286 sed -i "1 i#define _BITS_FLOATN_H" "$out/include/host_defines.h"
281287 '' +
282288 # Point NVCC at a compatible compiler
283283- # FIXME: redist cuda_nvcc copy-pastes this code
284284- # Refer to comments in the overrides for cuda_nvcc for explanation
285289 # CUDA_TOOLKIT_ROOT_DIR is legacy,
286290 # Cf. https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
287287- # NOTE: We unconditionally set -Xfatbin=-compress-all, which reduces the size of the compiled
288288- # binaries. If binaries grow over 2GB, they will fail to link. This is a problem for us, as
289289- # the default set of CUDA capabilities we build can regularly cause this to occur (for
290290- # example, with Magma).
291291 ''
292292 mkdir -p $out/nix-support
293293 cat <<EOF >> $out/nix-support/setup-hook
294294 cmakeFlags+=' -DCUDA_TOOLKIT_ROOT_DIR=$out'
295295- cmakeFlags+=' -DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin'
296296- cmakeFlags+=' -DCMAKE_CUDA_HOST_COMPILER=${backendStdenv.cc}/bin'
297297- if [ -z "\''${CUDAHOSTCXX-}" ]; then
298298- export CUDAHOSTCXX=${backendStdenv.cc}/bin;
299299- fi
300300- export NVCC_PREPEND_FLAGS+=' --compiler-bindir=${backendStdenv.cc}/bin -Xfatbin=-compress-all'
301295 EOF
302296303297 # Move some libraries to the lib output so that programs that
···11+# shellcheck shell=bash
22+33+# CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
44+# CUDAToolkit_ROOT. We have to help it locate libcudart
55+export NVCC_APPEND_FLAGS+=" -L@cudartRoot@/lib -I@cudartRoot@/include"
···11+# shellcheck shell=bash
22+33+echo Sourcing setup-cuda-hook >&2
44+55+extendCUDAToolkit_ROOT() {
66+ if [[ -f "$1/nix-support/include-in-cudatoolkit-root" ]] ; then
77+ addToSearchPathWithCustomDelimiter ";" CUDAToolkit_ROOT "$1"
88+99+ if [[ -d "$1/include" ]] ; then
1010+ addToSearchPathWithCustomDelimiter ";" CUDAToolkit_INCLUDE_DIR "$1/include"
1111+ fi
1212+ fi
1313+}
1414+1515+addEnvHooks "$targetOffset" extendCUDAToolkit_ROOT
1616+1717+setupCUDAToolkitCompilers() {
1818+ echo Executing setupCUDAToolkitCompilers >&2
1919+2020+ if [[ -n "${dontSetupCUDAToolkitCompilers-}" ]] ; then
2121+ return
2222+ fi
2323+2424+ # Point NVCC at a compatible compiler
2525+2626+ # For CMake-based projects:
2727+ # https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
2828+ # https://cmake.org/cmake/help/latest/envvar/CUDAHOSTCXX.html
2929+ # https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_HOST_COMPILER.html
3030+3131+ export cmakeFlags+=" -DCUDA_HOST_COMPILER=@ccFullPath@"
3232+ export cmakeFlags+=" -DCMAKE_CUDA_HOST_COMPILER=@ccFullPath@"
3333+3434+ # For non-CMake projects:
3535+ # We prepend --compiler-bindir to nvcc flags.
3636+ # Downstream packages can override these, because NVCC
3737+ # uses the last --compiler-bindir it gets on the command line.
3838+ # FIXME: this results in "incompatible redefinition" warnings.
3939+ # https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#compiler-bindir-directory-ccbin
4040+ if [ -z "${CUDAHOSTCXX-}" ]; then
4141+ export CUDAHOSTCXX="@ccFullPath@";
4242+ fi
4343+4444+ export NVCC_PREPEND_FLAGS+=" --compiler-bindir=@ccRoot@/bin"
4545+4646+ # NOTE: We set -Xfatbin=-compress-all, which reduces the size of the compiled
4747+ # binaries. If binaries grow over 2GB, they will fail to link. This is a problem for us, as
4848+ # the default set of CUDA capabilities we build can regularly cause this to occur (for
4949+ # example, with Magma).
5050+ #
5151+ # @SomeoneSerge: original comment was made by @ConnorBaker in .../cudatoolkit/common.nix
5252+ if [[ -z "${dontCompressFatbin-}" ]]; then
5353+ export NVCC_PREPEND_FLAGS+=" -Xfatbin=-compress-all"
5454+ fi
5555+5656+ # CMake's enable_language(CUDA) runs a compiler test and it doesn't account for
5757+ # CUDAToolkit_ROOT. We have to help it locate libcudart
5858+ if [[ -z "${nvccDontPrependCudartFlags-}" ]] ; then
5959+ export NVCC_APPEND_FLAGS+=" -L@cudartRoot@/lib -I@cudartRoot@/include"
6060+ fi
6161+}
6262+6363+setupCMakeCUDAToolkit_ROOT() {
6464+ export cmakeFlags+=" -DCUDAToolkit_INCLUDE_DIR=$CUDAToolkit_INCLUDE_DIR -DCUDAToolkit_ROOT=$CUDAToolkit_ROOT"
6565+}
6666+6767+postHooks+=(setupCUDAToolkitCompilers)
6868+preConfigureHooks+=(setupCMakeCUDAToolkit_ROOT)
···2727 inherit (prev.backendStdenv) cc;
2828 in
2929 {
3030- # Point NVCC at a compatible compiler
3131- # FIXME: non-redist cudatoolkit copy-pastes this code
3030+ # Required by cmake's enable_language(CUDA) to build a test program
3131+ # When implementing cross-compilation support: this is
3232+ # final.pkgs.targetPackages.cudaPackages.cuda_cudart
3333+ env.cudartRoot = "${prev.lib.getDev final.cuda_cudart}";
32343333- # For CMake-based projects:
3434- # https://cmake.org/cmake/help/latest/module/FindCUDA.html#input-variables
3535- # https://cmake.org/cmake/help/latest/envvar/CUDAHOSTCXX.html
3636- # https://cmake.org/cmake/help/latest/variable/CMAKE_CUDA_HOST_COMPILER.html
3535+ # Point NVCC at a compatible compiler
37363838- # For non-CMake projects:
3939- # We prepend --compiler-bindir to nvcc flags.
4040- # Downstream packages can override these, because NVCC
4141- # uses the last --compiler-bindir it gets on the command line.
4242- # FIXME: this results in "incompatible redefinition" warnings.
4343- # https://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/index.html#compiler-bindir-directory-ccbin
4444- # NOTE: We unconditionally set -Xfatbin=-compress-all, which reduces the size of the
4545- # compiled binaries. If binaries grow over 2GB, they will fail to link. This is a problem
4646- # for us, as the default set of CUDA capabilities we build can regularly cause this to
4747- # occur (for example, with Magma).
4848- postInstall = (oldAttrs.postInstall or "") + ''
4949- mkdir -p $out/nix-support
5050- cat <<EOF >> $out/nix-support/setup-hook
5151- cmakeFlags+=' -DCUDA_HOST_COMPILER=${cc}/bin'
5252- cmakeFlags+=' -DCMAKE_CUDA_HOST_COMPILER=${cc}/bin'
5353- if [ -z "\''${CUDAHOSTCXX-}" ]; then
5454- export CUDAHOSTCXX=${cc}/bin;
5555- fi
5656- export NVCC_PREPEND_FLAGS+=' --compiler-bindir=${cc}/bin -Xfatbin=-compress-all'
5757- EOF
5858- '';
3737+ # Desiredata: whenever a package (e.g. magma) adds cuda_nvcc to
3838+ # nativeBuildInputs (offsets `(-1, 0)`), magma should also source the
3939+ # setupCudaHook, i.e. we want it the hook to be propagated into the
4040+ # same nativeBuildInputs.
4141+ #
4242+ # Logically, cuda_nvcc should include the hook in depsHostHostPropagated,
4343+ # so that the final offsets for the propagated hook would be `(-1, 0) +
4444+ # (0, 0) = (-1, 0)`.
4545+ #
4646+ # In practice, TargetTarget appears to work:
4747+ # https://gist.github.com/fd80ff142cd25e64603618a3700e7f82
4848+ depsTargetTargetPropagated = [
4949+ final.setupCudaHook
5050+ ];
5951 });
60526153 cuda_nvprof = prev.cuda_nvprof.overrideAttrs (oldAttrs: {
···44, avxSupport ? stdenv.hostPlatform.avxSupport
55, avx2Support ? stdenv.hostPlatform.avx2Support
66, avx512Support ? stdenv.hostPlatform.avx512Support
77+, config
78# Enable NIVIA GPU support
89# Note, that this needs to be built on a system with a GPU
910# present for the tests to succeed.
1010-, enableCuda ? false
1111+, enableCuda ? config.cudaSupport
1112# type of GPU architecture
1213, nvidiaArch ? "sm_60"
1314, cudatoolkit
···1717# that in nix as well. It would make some things easier and less confusing, but
1818# it would also make the default tensorflow package unfree. See
1919# https://groups.google.com/a/tensorflow.org/forum/#!topic/developers/iRCt5m4qUz0
2020-, cudaSupport ? false
2020+, config
2121+, cudaSupport ? config.cudaSupport
2122, cudaPackages ? { }
2223, cudaCapabilities ? cudaPackages.cudaFlags.cudaCapabilities
2324, mklSupport ? false, mkl
···11-# Wrap only the haskell-related tests from tests.writers
22-# in their own derivation for Hydra CI in the haskell-updates
33-# jobset. Can presumably removed as soon as tests.writers is
44-# always green on darwin as well:
55-# https://github.com/NixOS/nixpkgs/issues/126182
66-{ runCommand, tests }:
77-88-let
99- inherit (tests.writers)
1010- writeTest
1111- bin
1212- simple
1313- path
1414- ;
1515-in
1616-1717-runCommand "test-haskell-writers" {
1818- meta = {
1919- inherit (tests.writers.meta) platforms;
2020- };
2121-} ''
2222- ${writeTest "success" "test-haskell-bin-writer" "${bin.haskell}/bin/${bin.haskell.name}"}
2323- ${writeTest "success" "test-haskell-simple-writer" simple.haskell}
2424- ${writeTest "success" "test-haskell-path-writer" path.haskell}
2525- touch $out
2626-''
···103103 passthru = {
104104 # This is set primarily to help find-tarballs.nix to do its job
105105 packages = pkgList.all;
106106- # useful for inclusion in the `fonts.fonts` nixos option or for use in devshells
106106+ # useful for inclusion in the `fonts.packages` nixos option or for use in devshells
107107 fonts = "${texmfroot}/texmf-dist/fonts";
108108 };
109109