···45## Basic usage {#sec-citrix-base}
67-The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.de/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
89## Citrix Self-service {#sec-citrix-selfservice}
10···1920## Custom certificates {#sec-citrix-custom-certs}
2122-The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://developer-docs.citrix.com/projects/receiver-for-linux-command-reference/en/13.7/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
2324```nix
25with import <nixpkgs> { config.allowUnfree = true; };
···45## Basic usage {#sec-citrix-base}
67+The tarball archive needs to be downloaded manually, as the license agreements of the vendor for [Citrix Workspace](https://www.citrix.com/downloads/workspace-app/linux/workspace-app-for-linux-latest.html) needs to be accepted first. Then run `nix-prefetch-url file://$PWD/linuxx64-$version.tar.gz`. With the archive available in the store, the package can be built and installed with Nix.
89## Citrix Self-service {#sec-citrix-selfservice}
10···1920## Custom certificates {#sec-citrix-custom-certs}
2122+The `Citrix Workspace App` in `nixpkgs` trusts several certificates [from the Mozilla database](https://curl.haxx.se/docs/caextract.html) by default. However, several companies using Citrix might require their own corporate certificate. On distros with imperative packaging, these certs can be stored easily in [`$ICAROOT`](https://citrix.github.io/receiver-for-linux-command-reference/), however this directory is a store path in `nixpkgs`. In order to work around this issue, the package provides a simple mechanism to add custom certificates without rebuilding the entire package using `symlinkJoin`:
2324```nix
25with import <nixpkgs> { config.allowUnfree = true; };
+1-1
doc/builders/packages/ibus.section.md
···45## Activating the engine {#sec-ibus-typing-booster-activate}
67-IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/documentation.html).
89On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
10
···45## Activating the engine {#sec-ibus-typing-booster-activate}
67+IBus needs to be configured accordingly to activate `typing-booster`. The configuration depends on the desktop manager in use. For detailed instructions, please refer to the [upstream docs](https://mike-fabian.github.io/ibus-typing-booster/).
89On NixOS, you need to explicitly enable `ibus` with given engines before customizing your desktop to use `typing-booster`. This can be achieved using the `ibus` module:
10
+2-2
doc/languages-frameworks/gnome.section.md
···3435### GdkPixbuf loaders {#ssec-gnome-gdk-pixbuf-loaders}
3637-GTK applications typically use [GdkPixbuf](https://developer.gnome.org/gdk-pixbuf/stable/) to load images. But `gdk-pixbuf` package only supports basic bitmap formats like JPEG, PNG or TIFF, requiring to use third-party loader modules for other formats. This is especially painful since GTK itself includes SVG icons, which cannot be rendered without a loader provided by `librsvg`.
3839Unlike other libraries mentioned in this section, GdkPixbuf only supports a single value in its controlling environment variable `GDK_PIXBUF_MODULE_FILE`. It is supposed to point to a cache file containing information about the available loaders. Each loader package will contain a `lib/gdk-pixbuf-2.0/2.10.0/loaders.cache` file describing the default loaders in `gdk-pixbuf` package plus the loader contained in the package itself. If you want to use multiple third-party loaders, you will need to create your own cache file manually. Fortunately, this is pretty rare as [not many loaders exist](https://gitlab.gnome.org/federico/gdk-pixbuf-survey/blob/master/src/modules.md).
40···7071### GTK Themes {#ssec-gnome-themes}
7273-Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for [elementary HIG](https://elementary.io/docs/human-interface-guidelines#human-interface-guidelines)) might require a special theme like `pantheon.elementary-gtk-theme`.
7475### GObject introspection typelibs {#ssec-gnome-typelibs}
76
···3435### GdkPixbuf loaders {#ssec-gnome-gdk-pixbuf-loaders}
3637+GTK applications typically use [GdkPixbuf](https://gitlab.gnome.org/GNOME/gdk-pixbuf/) to load images. But `gdk-pixbuf` package only supports basic bitmap formats like JPEG, PNG or TIFF, requiring to use third-party loader modules for other formats. This is especially painful since GTK itself includes SVG icons, which cannot be rendered without a loader provided by `librsvg`.
3839Unlike other libraries mentioned in this section, GdkPixbuf only supports a single value in its controlling environment variable `GDK_PIXBUF_MODULE_FILE`. It is supposed to point to a cache file containing information about the available loaders. Each loader package will contain a `lib/gdk-pixbuf-2.0/2.10.0/loaders.cache` file describing the default loaders in `gdk-pixbuf` package plus the loader contained in the package itself. If you want to use multiple third-party loaders, you will need to create your own cache file manually. Fortunately, this is pretty rare as [not many loaders exist](https://gitlab.gnome.org/federico/gdk-pixbuf-survey/blob/master/src/modules.md).
40···7071### GTK Themes {#ssec-gnome-themes}
7273+Previously, a GTK theme needed to be in `XDG_DATA_DIRS`. This is no longer necessary for most programs since GTK incorporated Adwaita theme. Some programs (for example, those designed for [elementary HIG](https://docs.elementary.io/hig)) might require a special theme like `pantheon.elementary-gtk-theme`.
7475### GObject introspection typelibs {#ssec-gnome-typelibs}
76
···3, enableWideVine, ungoogled
4}:
56-with lib;
7-8mkChromiumDerivation (base: rec {
9 name = "chromium-browser";
10 packageName = "chromium";
···7677 meta = {
78 description = "An open source web browser from Google"
79- + optionalString ungoogled ", with dependencies on Google web services removed";
80 longDescription = ''
81 Chromium is an open source web browser from Google that aims to build a
82 safer, faster, and more stable way for all Internet users to experience
···86 homepage = if ungoogled
87 then "https://github.com/Eloston/ungoogled-chromium"
88 else "https://www.chromium.org/";
89- maintainers = with maintainers; if ungoogled
90 then [ squalus primeos michaeladler ]
91 else [ primeos thefloweringash ];
92- license = if enableWideVine then licenses.unfree else licenses.bsd3;
93- platforms = platforms.linux;
94 mainProgram = "chromium";
95 hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium")
96 then ["aarch64-linux" "x86_64-linux"]
···3, enableWideVine, ungoogled
4}:
5006mkChromiumDerivation (base: rec {
7 name = "chromium-browser";
8 packageName = "chromium";
···7475 meta = {
76 description = "An open source web browser from Google"
77+ + lib.optionalString ungoogled ", with dependencies on Google web services removed";
78 longDescription = ''
79 Chromium is an open source web browser from Google that aims to build a
80 safer, faster, and more stable way for all Internet users to experience
···84 homepage = if ungoogled
85 then "https://github.com/Eloston/ungoogled-chromium"
86 else "https://www.chromium.org/";
87+ maintainers = with lib.maintainers; if ungoogled
88 then [ squalus primeos michaeladler ]
89 else [ primeos thefloweringash ];
90+ license = if enableWideVine then lib.licenses.unfree else lib.licenses.bsd3;
91+ platforms = lib.platforms.linux;
92 mainProgram = "chromium";
93 hydraPlatforms = if (channel == "stable" || channel == "ungoogled-chromium")
94 then ["aarch64-linux" "x86_64-linux"]
···25, pkgsBuildBuild
26}:
2728-with lib;
29-30# k3s is a kinda weird derivation. One of the main points of k3s is the
31# simplicity of it being one binary that can perform several tasks.
32# However, when you have a good package manager (like nix), that doesn't
···73 # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
74 criCtlVersion = "1.26.0-rc.0-k3s1";
7576- baseMeta = {
77 description = "A lightweight Kubernetes distribution";
78 license = licenses.asl20;
79 homepage = "https://k3s.io";
···25, pkgsBuildBuild
26}:
270028# k3s is a kinda weird derivation. One of the main points of k3s is the
29# simplicity of it being one binary that can perform several tasks.
30# However, when you have a good package manager (like nix), that doesn't
···71 # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
72 criCtlVersion = "1.26.0-rc.0-k3s1";
7374+ baseMeta = with lib; {
75 description = "A lightweight Kubernetes distribution";
76 license = licenses.asl20;
77 homepage = "https://k3s.io";
···1-{ lib, fetchzip }:
23-let
04 version = "20130214";
5-in fetchzip {
6- name = "caladea-${version}";
0000000078- url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-${version}.tar.gz";
9- postFetch = ''
10- tar -xzvf $downloadedFile --strip-components=1
11 mkdir -p $out/etc/fonts/conf.d
12 mkdir -p $out/share/fonts/truetype
13 cp -v *.ttf $out/share/fonts/truetype
14 cp -v ${./cambria-alias.conf} $out/etc/fonts/conf.d/30-cambria.conf
0015 '';
16- sha256 = "0kwm42ggr8kvcn3554cpmv90xzam1sdncx7x3zs3bzp88mxrnv1z";
1718 meta = with lib; {
19 # This font doesn't appear to have any official web site but this
···27 '';
28 license = licenses.asl20;
29 platforms = platforms.all;
30- maintainers = [maintainers.rycee];
3132 # Reduce the priority of this package. The intent is that if you
33 # also install the `vista-fonts` package, then you probably will
···1+{ lib, stdenvNoCC, fetchurl }:
23+stdenvNoCC.mkDerivation rec {
4+ pname = "caladea";
5 version = "20130214";
6+7+ src = fetchurl {
8+ url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-${version}.tar.gz";
9+ hash = "sha256-xI0cL9YTycBslZw02nuDiAWeJAjSuxmEXcPtNfduTQk=";
10+ };
11+12+ dontBuild = true;
13+14+ installPhase = ''
15+ runHook preInstall
1600017 mkdir -p $out/etc/fonts/conf.d
18 mkdir -p $out/share/fonts/truetype
19 cp -v *.ttf $out/share/fonts/truetype
20 cp -v ${./cambria-alias.conf} $out/etc/fonts/conf.d/30-cambria.conf
21+22+ runHook postInstall
23 '';
02425 meta = with lib; {
26 # This font doesn't appear to have any official web site but this
···34 '';
35 license = licenses.asl20;
36 platforms = platforms.all;
37+ maintainers = [ maintainers.rycee ];
3839 # Reduce the priority of this package. The intent is that if you
40 # also install the `vista-fonts` package, then you probably will
+5-5
pkgs/data/fonts/carlito/default.nix
···1-{ lib, fetchzip, stdenvNoCC }:
23stdenvNoCC.mkDerivation rec {
4 pname = "carlito";
5 version = "20130920";
67- src = fetchzip {
8 url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-${version}.tar.gz";
9- sha256 = "sha256-OGDO5WoF7OmiRdLRRrIXMzg276Pgeq1L3Offcl0W2jg=";
10 };
1112 installPhase = ''
13 mkdir -p $out/etc/fonts/conf.d
14 mkdir -p $out/share/fonts/truetype
15- cp -v $src/*.ttf $out/share/fonts/truetype
16 cp -v ${./calibri-alias.conf} $out/etc/fonts/conf.d/30-calibri.conf
17 '';
18···28 '';
29 license = licenses.ofl;
30 platforms = platforms.all;
31- maintainers = [maintainers.rycee];
3233 # Reduce the priority of this package. The intent is that if you
34 # also install the `vista-fonts` package, then you probably will
···1+{ lib, fetchurl, stdenvNoCC }:
23stdenvNoCC.mkDerivation rec {
4 pname = "carlito";
5 version = "20130920";
67+ src = fetchurl {
8 url = "https://commondatastorage.googleapis.com/chromeos-localmirror/distfiles/crosextrafonts-carlito-${version}.tar.gz";
9+ sha256 = "sha256-S9ErbLwyHBzxbaduLFhcklzpVqCAZ65vbGTv9sz9r1o=";
10 };
1112 installPhase = ''
13 mkdir -p $out/etc/fonts/conf.d
14 mkdir -p $out/share/fonts/truetype
15+ cp -v *.ttf $out/share/fonts/truetype
16 cp -v ${./calibri-alias.conf} $out/etc/fonts/conf.d/30-calibri.conf
17 '';
18···28 '';
29 license = licenses.ofl;
30 platforms = platforms.all;
31+ maintainers = [ maintainers.rycee ];
3233 # Reduce the priority of this package. The intent is that if you
34 # also install the `vista-fonts` package, then you probably will
···1-{ lib, fetchzip }:
23let
4 majorVersion = "0";
5 minorVersion = "100";
006 pname = "seshat";
7-in
00000089-fetchzip {
10- name = "${pname}-font-${majorVersion}.${minorVersion}";
1112- url = "http://dotcolon.net/DL/font/${pname}.zip";
13- sha256 = "1zzgc2d0jrris92p3irmxjhdq8aj99alz0z7dlz25qf37lcilrir";
1415- postFetch = ''
16- mkdir -p $out/share/fonts/opentype/${pname}
17- unzip -j $downloadedFile \*.otf -d $out/share/fonts/opentype/${pname}
18 '';
1920 meta = with lib; {
21- homepage = "http://dotcolon.net/font/${pname}/";
22 description = "Roman body font designed for main text by Sora Sagano";
23 longDescription = ''
24 Seshat is a Roman body font designed for the main text. By
···31 It incorporates symbols and ligatures used in the European region.
32 '';
33 platforms = platforms.all;
34- maintainers = with maintainers; [ leenaars ];
35 license = licenses.cc0;
36 };
37-}
···1+{ lib, stdenvNoCC, fetchzip }:
23let
4 majorVersion = "0";
5 minorVersion = "100";
6+in
7+stdenvNoCC.mkDerivation (self: {
8 pname = "seshat";
9+ version = "${majorVersion}.${minorVersion}";
10+11+ src = fetchzip {
12+ url = "https://dotcolon.net/download/fonts/${self.pname}_${majorVersion}${minorVersion}.zip";
13+ hash = "sha256-XgprDhzAbcTzZw2QOwpCnzusYheYmSlM+ApU+Y0wO2Q=";
14+ stripRoot = false;
15+ };
1617+ installPhase = ''
18+ runHook preInstall
1920+ install -D -m444 -t $out/share/fonts/opentype $src/*.otf
02122+ runHook postInstall
0023 '';
2425 meta = with lib; {
26+ homepage = "http://dotcolon.net/font/${self.pname}/";
27 description = "Roman body font designed for main text by Sora Sagano";
28 longDescription = ''
29 Seshat is a Roman body font designed for the main text. By
···36 It incorporates symbols and ligatures used in the European region.
37 '';
38 platforms = platforms.all;
39+ maintainers = with maintainers; [ leenaars minijackson ];
40 license = licenses.cc0;
41 };
42+})
+15-12
pkgs/data/fonts/takao/default.nix
···1-{ fetchzip, lib }:
23-let
04 version = "00303.01";
5-in
6-fetchzip {
7- name = "takao-${version}";
8- url = "mirror://ubuntu/pool/universe/f/fonts-takao/fonts-takao_${version}.orig.tar.gz";
9- sha256 = "sha256-TlPq3iIv8vHlxYu5dkX/Lf6ediYKQaQ5uMbFvypQM/w=";
000001011- postFetch = ''
12- unpackDir="$TMPDIR/unpack"
13- mkdir "$unpackDir"
14- cd "$unpackDir"
15- tar xf "$downloadedFile" --strip-components=1
16 mkdir -p $out/share/fonts
17 cp *.ttf $out/share/fonts
0018 '';
1920 meta = with lib; {
···1-{ lib, fetchzip }:
23-let
4 pname = "unfonts-core";
5 version = "1.0.2-080608";
6-in fetchzip {
7- name = "${pname}-${version}";
8- url = "https://kldp.net/unfonts/release/2607-un-fonts-core-${version}.tar.gz";
9- hash = "sha256-k9C7d/SbVLWFzRnDWpOIMtY6cAEIcaLcbxQAqjwuWds=";
1011- postFetch = ''
12- tar -xzf $downloadedFile --strip-components=1
0000000013 install -m444 -Dt $out/share/fonts/truetype *.ttf
0014 '';
1516 meta = with lib; {
···20 The Un-fonts come from the HLaTeX as type1 fonts in 1998 by Koaunghi Un, he made type1 fonts to use with Korean TeX (HLaTeX) in the late 1990's and released it under the GPL license.
2122 They were converted to TrueType with the FontForge (PfaEdit) by Won-kyu Park in 2003.
23- '';
24 license = licenses.gpl2;
25 platforms = platforms.all;
26 maintainers = [ maintainers.ehmry ];
···1+{ lib, stdenvNoCC, fetchurl }:
23+stdenvNoCC.mkDerivation rec {
4 pname = "unfonts-core";
5 version = "1.0.2-080608";
000067+ src = fetchurl {
8+ url = "https://kldp.net/unfonts/release/2607-un-fonts-core-${version}.tar.gz";
9+ hash = "sha256-OwpydPmqt+jw8ZOMAacOFYF2bVG0lLoUVoPzesVXkY4=";
10+ };
11+12+ dontBuild = true;
13+14+ installPhase = ''
15+ runHook preInstall
16+17 install -m444 -Dt $out/share/fonts/truetype *.ttf
18+19+ runHook postInstall
20 '';
2122 meta = with lib; {
···26 The Un-fonts come from the HLaTeX as type1 fonts in 1998 by Koaunghi Un, he made type1 fonts to use with Korean TeX (HLaTeX) in the late 1990's and released it under the GPL license.
2728 They were converted to TrueType with the FontForge (PfaEdit) by Won-kyu Park in 2003.
29+ '';
30 license = licenses.gpl2;
31 platforms = platforms.all;
32 maintainers = [ maintainers.ehmry ];
+15-8
pkgs/data/fonts/vdrsymbols/default.nix
···1-{ lib, fetchzip }:
000023-fetchzip {
4- name = "vdrsymbols-20100612";
000056- url = "http://andreas.vdr-developer.org/fonts/download/vdrsymbols-ttf-20100612.tgz";
078- sha256 = "0wpxns8zqic98c84j18dr4zmj092v07yq07vwwgzblr0rw9n6gzr";
910- postFetch = ''
11- tar xvzf "$downloadedFile"
12- install -Dm444 -t "$out/share/fonts/truetype" */*.ttf
13 '';
1415 meta = with lib; {
···23rustPlatform.buildRustPackage rec {
4 pname = "cocogitto";
5- version = "5.2.0";
67 src = fetchFromGitHub {
8 owner = "oknozor";
9 repo = pname;
10 rev = version;
11- sha256 = "sha256-ZjDZMI84z8riRtidZVeCktwJUMkZU28E23MveJSD7xY=";
12 };
1314- cargoSha256 = "sha256-oaWWAVTKxrshfvqE+HMQ1WeeEz8lOE7qc6RrgSjDtdU=";
1516 # Test depend on git configuration that would likly exist in a normal user enviroment
17 # and might be failing to create the test repository it works in.
···23rustPlatform.buildRustPackage rec {
4 pname = "cocogitto";
5+ version = "5.3.0";
67 src = fetchFromGitHub {
8 owner = "oknozor";
9 repo = pname;
10 rev = version;
11+ sha256 = "sha256-BqyV4hJw7H9yN5Kj/XwhYS6hElXdKUJEUi5M/PNlPO0=";
12 };
1314+ cargoHash = "sha256-MA3XW2tPn0qVx7ve+UqCoG4nQ7UyuvXEebrPuLKqS4g=";
1516 # Test depend on git configuration that would likly exist in a normal user enviroment
17 # and might be failing to create the test repository it works in.
···32let
3334 pname = "hylafaxplus";
35- version = "7.0.6";
36- hash = "sha512-0faeEwF/XQE/85zwUMOnrGzvGanuWRDr53SnrgbX0i/SHjHelzSEd2TK6plVOfV4w8RY7Ox7lSO1gjqEEzfZyw==";
3738 configSite = substituteAll {
39 name = "${pname}-config.site";
···72 patches = [
73 # adjust configure check to work with libtiff > 4.1
74 ./libtiff-4.patch
75- # fix missing exports in libtiff 4.5+
76- # https://gitlab.com/libtiff/libtiff/-/issues/504
77- # can probably be dropped with next hylafaxplus release
78- (fetchurl {
79- name = "hylafaxplus-7.0.6-tiff-4.5.0.patch";
80- url = "https://dev.gentoo.org/~sam/distfiles/net-misc/hylafaxplus/hylafaxplus-7.0.6-tiff-4.5.0.patch.xz";
81- downloadToTemp = true;
82- postFetch = ''xz -d < $downloadedFile > $out'';
83- hash = "sha256-koZvvzlgZHcANVaYdewnuLARz2TTeyDZRjm0EYWzsmk=";
84- })
85 ];
86 # Note that `configure` (and maybe `faxsetup`) are looking
87 # for a couple of standard binaries in the `PATH` and
···32let
3334 pname = "hylafaxplus";
35+ version = "7.0.7";
36+ hash = "sha512-nUvt+M0HBYN+MsGskuuDt1j0nI5Dk8MbfK/OVxP2FCDby3eiDg0eDtcpIxlOe4o0klko07zDRIb06zqh8ABuKA==";
3738 configSite = substituteAll {
39 name = "${pname}-config.site";
···72 patches = [
73 # adjust configure check to work with libtiff > 4.1
74 ./libtiff-4.patch
000000000075 ];
76 # Note that `configure` (and maybe `faxsetup`) are looking
77 # for a couple of standard binaries in the `PATH` and
···78let version = "0.32"; in
90010stdenv.mkDerivation {
11 pname = "bup";
12 inherit version;
···29 postPatch = ''
30 patchShebangs .
31 substituteInPlace Makefile --replace "-Werror" ""
32+ '' + lib.optionalString par2Support ''
33 substituteInPlace cmd/fsck-cmd.py --replace "'par2'" "'${par2cmdline}/bin/par2'"
34 '';
35···47 --prefix PATH : ${git}/bin
48 '';
4950+ meta = with lib; {
51 homepage = "https://github.com/bup/bup";
52 description = "Efficient file backup system based on the git packfile format";
53 license = licenses.gpl2Plus;
+1-2
pkgs/tools/backup/luckybackup/default.nix
···3, rsync, ssh
4}:
56-with lib;
7mkDerivation rec {
8 pname = "luckybackup";
9 version = "0.5.0";
···26 done
27 '';
2829- meta = {
30 description = "A powerful, fast and reliable backup & sync tool";
31 longDescription = ''
32 luckyBackup is an application for data back-up and synchronization
···3, rsync, ssh
4}:
506mkDerivation rec {
7 pname = "luckybackup";
8 version = "0.5.0";
···25 done
26 '';
2728+ meta = with lib; {
29 description = "A powerful, fast and reliable backup & sync tool";
30 longDescription = ''
31 luckyBackup is an application for data back-up and synchronization
···1{ lib, stdenv, fetchFromGitHub, pkgs, pandoc, CoreServices }:
23-with lib;
4-5let
6 # Note for maintainers:
7 # * keep version in sync with the ldgallery compiler
···21 nodePkg = nodePackages.package.override {
22 src = "${sourcePkg}/viewer";
23 postInstall = "npm run build";
24- buildInputs = optionals stdenv.isDarwin [ CoreServices ];
25 };
2627in
2829# making sure that the source and the node package are in sync
30-assert versions.majorMinor nodePkg.version == removePrefix "v" sourcePkg.rev;
3132stdenv.mkDerivation {
33 pname = nodePkg.packageName;
···1{ lib, stdenv, fetchFromGitHub, pkgs, pandoc, CoreServices }:
2003let
4 # Note for maintainers:
5 # * keep version in sync with the ldgallery compiler
···19 nodePkg = nodePackages.package.override {
20 src = "${sourcePkg}/viewer";
21 postInstall = "npm run build";
22+ buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
23 };
2425in
2627# making sure that the source and the node package are in sync
28+assert lib.versions.majorMinor nodePkg.version == lib.removePrefix "v" sourcePkg.rev;
2930stdenv.mkDerivation {
31 pname = nodePkg.packageName;
+1-3
pkgs/tools/graphics/optipng/default.nix
···45# This package comes with its own copy of zlib, libpng and pngxtern
67-with lib;
8-9stdenv.mkDerivation rec {
10 pname = "optipng";
11 version = "0.7.7";
···1718 buildInputs = [ libpng ];
1920- LDFLAGS = optional static "-static";
21 # Workaround for crash in cexcept.h. See
22 # https://github.com/NixOS/nixpkgs/issues/28106
23 preConfigure = ''
···45# This package comes with its own copy of zlib, libpng and pngxtern
6007stdenv.mkDerivation rec {
8 pname = "optipng";
9 version = "0.7.7";
···1516 buildInputs = [ libpng ];
1718+ LDFLAGS = lib.optional static "-static";
19 # Workaround for crash in cexcept.h. See
20 # https://github.com/NixOS/nixpkgs/issues/28106
21 preConfigure = ''
···1{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
23-with lib;
4-5buildGoModule rec {
6 pname = "flannel";
7 version = "0.20.2";
···2324 passthru.tests = { inherit (nixosTests) flannel; };
2526- meta = {
27 description = "Network fabric for containers, designed for Kubernetes";
28 license = licenses.asl20;
29 homepage = "https://github.com/flannel-io/flannel";
···1{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
2003buildGoModule rec {
4 pname = "flannel";
5 version = "0.20.2";
···2122 passthru.tests = { inherit (nixosTests) flannel; };
2324+ meta = with lib; {
25 description = "Network fabric for containers, designed for Kubernetes";
26 license = licenses.asl20;
27 homepage = "https://github.com/flannel-io/flannel";
-2
pkgs/tools/networking/logmein-hamachi/default.nix
···1{ lib, stdenv, fetchurl }:
23-with lib;
4-5let
6 arch =
7 if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
···1{ lib, stdenv, fetchurl }:
2003let
4 arch =
5 if stdenv.hostPlatform.system == "x86_64-linux" then "x64"
+2-4
pkgs/tools/networking/ndjbdns/default.nix
···1{ lib, stdenv, fetchFromGitHub, autoreconfHook, systemd, pkg-config }:
23-with lib;
4-5stdenv.mkDerivation {
6 version = "1.06";
7 pname = "ndjbdns";
···1516 nativeBuildInputs = [ autoreconfHook pkg-config ];
17 buildInputs = [ ]
18- ++ optional stdenv.isLinux systemd;
1920- meta = {
21 description = "A brand new release of the Djbdns";
22 longDescription = ''
23 Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein.
···1{ lib, stdenv, fetchFromGitHub, autoreconfHook, systemd, pkg-config }:
2003stdenv.mkDerivation {
4 version = "1.06";
5 pname = "ndjbdns";
···1314 nativeBuildInputs = [ autoreconfHook pkg-config ];
15 buildInputs = [ ]
16+ ++ lib.optional stdenv.isLinux systemd;
1718+ meta = with lib; {
19 description = "A brand new release of the Djbdns";
20 longDescription = ''
21 Djbdns is a fully‐fledged Domain Name System(DNS), originally written by the eminent author of qmail, Dr. D J Bernstein.
+2-4
pkgs/tools/networking/ngrok/default.nix
···1{ lib, stdenv, fetchurl }:
23-with lib;
4-5let versions = lib.importJSON ./versions.json;
6 arch = if stdenv.isi686 then "386"
7 else if stdenv.isx86_64 then "amd64"
···37 # Stripping causes SEGFAULT on x86_64-darwin
38 dontStrip = true;
3940- meta = {
41 description = "Allows you to expose a web server running on your local machine to the internet";
42 homepage = "https://ngrok.com/";
43- sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
44 license = licenses.unfree;
45 platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
46 maintainers = with maintainers; [ bobvanderlinden brodes ];
···1{ lib, stdenv, fetchurl }:
2003let versions = lib.importJSON ./versions.json;
4 arch = if stdenv.isi686 then "386"
5 else if stdenv.isx86_64 then "amd64"
···35 # Stripping causes SEGFAULT on x86_64-darwin
36 dontStrip = true;
3738+ meta = with lib; {
39 description = "Allows you to expose a web server running on your local machine to the internet";
40 homepage = "https://ngrok.com/";
41+ sourceProvenance = with sourceTypes; [ binaryNativeCode ];
42 license = licenses.unfree;
43 platforms = [ "i686-linux" "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
44 maintainers = with maintainers; [ bobvanderlinden brodes ];
+12-13
pkgs/tools/networking/openssh/common.nix
···30, linkOpenssl ? true
31}:
3233-with lib;
34stdenv.mkDerivation rec {
35 inherit pname version src;
36···57 # This is not the same as the libkrb5 from the inputs! pkgs.libkrb5 is
58 # needed here to access krb5-config in order to cross compile. See:
59 # https://github.com/NixOS/nixpkgs/pull/107606
60- ++ optional withKerberos pkgs.libkrb5
61 ++ extraNativeBuildInputs;
62 buildInputs = [ zlib openssl libedit ]
63- ++ optional withFIDO libfido2
64- ++ optional withKerberos libkrb5
65- ++ optional stdenv.isLinux pam;
6667 preConfigure = ''
68 # Setting LD causes `configure' and `make' to disagree about which linker
···80 "--with-libedit=yes"
81 "--disable-strip"
82 (if stdenv.isLinux then "--with-pam" else "--without-pam")
83- ] ++ optional (etcDir != null) "--sysconfdir=${etcDir}"
84- ++ optional withFIDO "--with-security-key-builtin=yes"
85- ++ optional withKerberos (assert libkrb5 != null; "--with-kerberos5=${libkrb5}")
86- ++ optional stdenv.isDarwin "--disable-libutil"
87- ++ optional (!linkOpenssl) "--without-openssl"
88 ++ extraConfigureFlags;
8990 ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null}= [ "-laudit" ] ++ lib.optionals withKerberos [ "-lkeyutils" ];
···9798 doCheck = true;
99 enableParallelChecking = false;
100- nativeCheckInputs = optional (!stdenv.isDarwin) hostname;
101 preCheck = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
102 # construct a dummy HOME
103 export HOME=$(realpath ../dummy-home)
···145 # integration tests hard to get working on darwin with its shaky
146 # sandbox
147 # t-exec tests fail on musl
148- checkTarget = optional (!stdenv.isDarwin && !stdenv.hostPlatform.isMusl) "t-exec"
149 # other tests are less demanding of the environment
150 ++ [ "unit" "file-tests" "interop-tests" ];
151···165 borgbackup-integration = nixosTests.borgbackup;
166 };
167168- meta = {
169 description = "An implementation of the SSH protocol${extraDesc}";
170 homepage = "https://www.openssh.com/";
171 changelog = "https://www.openssh.com/releasenotes.html";
···30, linkOpenssl ? true
31}:
32033stdenv.mkDerivation rec {
34 inherit pname version src;
35···56 # This is not the same as the libkrb5 from the inputs! pkgs.libkrb5 is
57 # needed here to access krb5-config in order to cross compile. See:
58 # https://github.com/NixOS/nixpkgs/pull/107606
59+ ++ lib.optional withKerberos pkgs.libkrb5
60 ++ extraNativeBuildInputs;
61 buildInputs = [ zlib openssl libedit ]
62+ ++ lib.optional withFIDO libfido2
63+ ++ lib.optional withKerberos libkrb5
64+ ++ lib.optional stdenv.isLinux pam;
6566 preConfigure = ''
67 # Setting LD causes `configure' and `make' to disagree about which linker
···79 "--with-libedit=yes"
80 "--disable-strip"
81 (if stdenv.isLinux then "--with-pam" else "--without-pam")
82+ ] ++ lib.optional (etcDir != null) "--sysconfdir=${etcDir}"
83+ ++ lib.optional withFIDO "--with-security-key-builtin=yes"
84+ ++ lib.optional withKerberos (assert libkrb5 != null; "--with-kerberos5=${libkrb5}")
85+ ++ lib.optional stdenv.isDarwin "--disable-libutil"
86+ ++ lib.optional (!linkOpenssl) "--without-openssl"
87 ++ extraConfigureFlags;
8889 ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null}= [ "-laudit" ] ++ lib.optionals withKerberos [ "-lkeyutils" ];
···9697 doCheck = true;
98 enableParallelChecking = false;
99+ nativeCheckInputs = lib.optional (!stdenv.isDarwin) hostname;
100 preCheck = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
101 # construct a dummy HOME
102 export HOME=$(realpath ../dummy-home)
···144 # integration tests hard to get working on darwin with its shaky
145 # sandbox
146 # t-exec tests fail on musl
147+ checkTarget = lib.optional (!stdenv.isDarwin && !stdenv.hostPlatform.isMusl) "t-exec"
148 # other tests are less demanding of the environment
149 ++ [ "unit" "file-tests" "interop-tests" ];
150···164 borgbackup-integration = nixosTests.borgbackup;
165 };
166167+ meta = with lib; {
168 description = "An implementation of the SSH protocol${extraDesc}";
169 homepage = "https://www.openssh.com/";
170 changelog = "https://www.openssh.com/releasenotes.html";