···29293030## Built-in emoji picker {#sec-ibus-typing-booster-emoji-picker}
31313232-The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-emoji` is needed:
3232+The `ibus-engines.typing-booster` package contains a program named `emoji-picker`. To display all emojis correctly, a special font such as `noto-fonts-color-emoji` is needed:
33333434On NixOS, it can be installed using the following expression:
35353636```nix
3737{ pkgs, ... }: {
3838- fonts.packages = with pkgs; [ noto-fonts-emoji ];
3838+ fonts.packages = with pkgs; [ noto-fonts-color-emoji ];
3939}
4040```
···102102103103 alias = before_equal
104104 alias_unquoted = before_equal.strip('"')
105105- after_equal_list = [x.strip(";:") for x in after_equal.split()]
105105+ replacement = next(x.strip(";:") for x in after_equal.split())
106106+ replacement = replacement.removeprefix("pkgs.")
106107107108 converted = (
108108- f"{indent}{alias} = throw \"'{alias_unquoted}' has been renamed to/replaced by"
109109- f" '{after_equal_list.pop(0)}'\";"
110110- f' # Converted to throw {datetime.today().strftime("%Y-%m-%d")}'
109109+ f"{indent}{alias} = throw \"'{alias_unquoted}' has been"
110110+ f" renamed to/replaced by '{replacement}'\";"
111111+ f" # Converted to throw {datetime.today().strftime('%Y-%m-%d')}"
111112 )
112113 converted_list.append((line, converted))
113114
+13-1
maintainers/team-list.nix
···365365 hedning
366366 jtojnar
367367 dasj19
368368- maxeaubrey
368368+ amaxine
369369 ];
370370 githubTeams = [
371371 "gnome"
···916916 ];
917917 scope = "Maintain the vim and neovim text editors and related packages.";
918918 shortName = "Vim/Neovim";
919919+ };
920920+921921+ wdz = {
922922+ members = [
923923+ n0emis
924924+ netali
925925+ vidister
926926+ johannwagner
927927+ yuka
928928+ ];
929929+ scope = "Group registration for WDZ GmbH team members who collectively maintain packages.";
930930+ shortName = "WDZ GmbH";
919931 };
920932921933 xfce = {
+8
nixos/doc/manual/release-notes/rl-2311.section.md
···193193194194- The `hail` NixOS module was removed, as `hail` was unmaintained since 2017.
195195196196+- Package `noto-fonts-emoji` was renamed to `noto-fonts-color-emoji`;
197197+ see [#221181](https://github.com/NixOS/nixpkgs/issues/221181).
198198+199199+196200## Other Notable Changes {#sec-release-23.11-notable-changes}
197201198202- The Cinnamon module now enables XDG desktop integration by default. If you are experiencing collisions related to xdg-desktop-portal-gtk you can safely remove `xdg.portal.extraPortals = [ pkgs.xdg-desktop-portal-gtk ];` from your NixOS configuration.
···249253250254- `programs.gnupg.agent.pinentryFlavor` is now set in `/etc/gnupg/gpg-agent.conf`, and will no longer take precedence over a `pinentry-program` set in `~/.gnupg/gpg-agent.conf`.
251255256256+- `dockerTools.buildImage`, `dockerTools.buildLayeredImage` and `dockerTools.streamLayeredImage` now use `lib.makeOverridable` to allow `dockerTools`-based images to be customized more efficiently at the nix-level.
257257+252258- `services.influxdb2` now supports doing an automatic initial setup and provisioning of users, organizations, buckets and authentication tokens, see [#249502](https://github.com/NixOS/nixpkgs/pull/249502) for more details.
253259254260- `wrapHelm` now exposes `passthru.pluginsDir` which can be passed to `helmfile`. For convenience, a top-level package `helmfile-wrapped` has been added, which inherits `passthru.pluginsDir` from `kubernetes-helm-wrapped`. See [#217768](https://github.com/NixOS/nixpkgs/issues/217768) for details.
···264270 Use `networking.nftables.flushRuleset = true;` to get back the old behaviour.
265271266272- The `cawbird` package is dropped from nixpkgs, as it got broken by the Twitter API closing down and has been abandoned upstream.
273273+274274+- `hardware.nvidia` gained `datacenter` options for enabling NVIDIA Data Center drivers and configuration of NVLink/NVSwitch topologies through `nv-fabricmanager`.
267275268276- Certificate generation via the `security.acme` now limits the concurrent number of running certificate renewals and generation jobs, to avoid spiking resource usage when processing many certificates at once. The limit defaults to *5* and can be adjusted via `maxConcurrentRenewals`. Setting it to *0* disables the limits altogether.
269277
···147147 default = false;
148148 type = types.bool;
149149 description = lib.mdDoc ''
150150- Make MemTest86+ available from the systemd-boot menu. MemTest86+ is a
150150+ Make Memtest86+ available from the systemd-boot menu. Memtest86+ is a
151151 program for testing memory.
152152 '';
153153 };
···191191 default = {};
192192 example = literalExpression ''
193193 { "memtest86.conf" = '''
194194- title MemTest86+
194194+ title Memtest86+
195195 efi /efi/memtest86/memtest.efi
196196 '''; }
197197 '';
···285285 boot.loader.systemd-boot.extraEntries = mkMerge [
286286 (mkIf cfg.memtest86.enable {
287287 "${cfg.memtest86.entryFilename}" = ''
288288- title MemTest86
288288+ title Memtest86+
289289 efi /efi/memtest86/memtest.efi
290290 '';
291291 })
···6565, withNativeCompilation ?
6666 if nativeComp != null
6767 then lib.warn "nativeComp option is deprecated and will be removed; use withNativeCompilation instead" nativeComp
6868- else true
6868+ else stdenv.buildPlatform.canExecute stdenv.hostPlatform
6969, noGui ? false
7070, srcRepo ? true
7171, withAcl ? false
···405405 };
406406407407 meta = meta // {
408408- broken = !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
408408+ broken = withNativeCompilation && !(stdenv.buildPlatform.canExecute stdenv.hostPlatform);
409409 };
410410})
+3-1
pkgs/applications/editors/emacs/site-start.el
···6868 ;; TODO: We should also add the other `NIX_PROFILES' to this path.
6969 ;; However, these are user-specific, so we would need to discover
7070 ;; them dynamically after connecting via `tramp'
7171- '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
7171+ '(progn
7272+ (add-to-list 'tramp-remote-path "/run/current-system/sw/bin")
7373+ (add-to-list 'tramp-remote-path "/run/wrappers/bin")))
72747375;;; C source directory
7476;;;
···33 config::{CaCertificate, Configurable, RedirectPolicy, SslOption},
44 Body, Request, RequestExt,
55};
66+use serde_json::{Map, Value};
67use std::{env, path::Path};
78use url::Url;
89···1920 // therefore do not need to check certificates, since the output is
2021 // already hashed.
2122 request = request.ssl_options(SslOption::DANGER_ACCEPT_INVALID_CERTS);
2323+ }
2424+ }
2525+2626+ // Respect NIX_NPM_TOKENS environment variable, which should be a JSON mapping in the shape of:
2727+ // `{ "registry.example.com": "example-registry-bearer-token", ... }`
2828+ if let Some(host) = url.host_str() {
2929+ if let Ok(npm_tokens) = env::var("NIX_NPM_TOKENS") {
3030+ if let Ok(tokens) = serde_json::from_str::<Map<String, Value>>(&npm_tokens) {
3131+ if let Some(token) = tokens.get(host).and_then(|val| val.as_str()) {
3232+ request = request.header("Authorization", format!("Bearer {token}"));
3333+ }
3434+ }
2235 }
2336 }
2437
+1-1
pkgs/build-support/testers/default.nix
···6161 version ? package.version,
6262 }: runCommand "${package.name}-test-version" { nativeBuildInputs = [ package ]; meta.timeout = 60; } ''
6363 if output=$(${command} 2>&1); then
6464- if grep -Fw "${version}" - <<< "$output"; then
6464+ if grep -Fw -- "${version}" - <<< "$output"; then
6565 touch $out
6666 else
6767 echo "Version string '${version}' not found!" >&2
+16
pkgs/by-name/README.md
···7272};
7373```
74747575+## Manual migration guidelines
7676+7777+Most packages are still defined in `all-packages.nix` and the [category hierarchy](../README.md#category-hierarchy).
7878+Please hold off migrating your maintained packages to this directory.
7979+8080+1. An automated migration for the majority of packages [is being worked on](https://github.com/NixOS/nixpkgs/pull/211832).
8181+ In order to save on contributor and reviewer time, packages should only be migrated manually afterwards if they couldn't be migrated automatically.
8282+8383+1. Manual migrations should only be lightly encouraged if the relevant code is being worked on anyways.
8484+ For example with a package update or refactoring.
8585+8686+1. Manual migrations should not remove definitions from `all-packages.nix` with custom arguments.
8787+ That is a backwards-incompatible change because it changes the `.override` interface.
8888+ Such packages may still be moved to `pkgs/by-name` however, while keeping the definition in `all-packages.nix`.
8989+ See also [changing implicit attribute defaults](#changing-implicit-attribute-defaults).
9090+7591## Limitations
76927793There's some limitations as to which packages can be defined using this structure:
···11+#!/usr/bin/env nix-shell
22+#! nix-shell -i "python3 -I" -p python3
33+44+from contextlib import contextmanager
55+from pathlib import Path
66+from typing import Iterable, Optional
77+from urllib import request
88+99+import hashlib, json
1010+1111+1212+def getMetadata(apiKey: str, family: str = "Noto Emoji"):
1313+ '''Fetch the Google Fonts metadata for a given family.
1414+1515+ An API key can be obtained by anyone with a Google account (🚮) from
1616+ `https://developers.google.com/fonts/docs/developer_api#APIKey`
1717+ '''
1818+ from urllib.parse import urlencode
1919+2020+ with request.urlopen(
2121+ "https://www.googleapis.com/webfonts/v1/webfonts?" +
2222+ urlencode({ 'key': apiKey, 'family': family })
2323+ ) as req:
2424+ return json.load(req)
2525+2626+def getUrls(metadata) -> Iterable[str]:
2727+ '''Fetch all files' URLs from Google Fonts' metadata.
2828+2929+ The metadata must obey the API v1 schema, and can be obtained from:
3030+ https://www.googleapis.com/webfonts/v1/webfonts?key=${GOOGLE_FONTS_TOKEN}&family=${FAMILY}
3131+ '''
3232+ return ( url for i in metadata['items'] for _, url in i['files'].items() )
3333+3434+3535+def hashUrl(url: str, *, hash: str = 'sha256'):
3636+ '''Compute the hash of the data from HTTP GETing a given `url`.
3737+3838+ The `hash` must be an algorithm name `hashlib.new` accepts.
3939+ '''
4040+ with request.urlopen(url) as req:
4141+ return hashlib.new(hash, req.read())
4242+4343+4444+def sriEncode(h) -> str:
4545+ '''Encode a hash in the SRI format.
4646+4747+ Takes a `hashlib` object, and produces a string that
4848+ nixpkgs' `fetchurl` accepts as `hash` parameter.
4949+ '''
5050+ from base64 import b64encode
5151+ return f"{h.name}-{b64encode(h.digest()).decode()}"
5252+5353+def validateSRI(sri: Optional[str]) -> Optional[str]:
5454+ '''Decode an SRI hash, return `None` if invalid.
5555+5656+ This is not a full SRI hash parser, hash options aren't supported.
5757+ '''
5858+ from base64 import b64decode
5959+6060+ if sri is None:
6161+ return None
6262+6363+ try:
6464+ hashName, b64 = sri.split('-', 1)
6565+6666+ h = hashlib.new(hashName)
6767+ digest = b64decode(b64, validate=True)
6868+ assert len(digest) == h.digest_size
6969+7070+ except:
7171+ return None
7272+ else:
7373+ return sri
7474+7575+7676+def hashUrls(
7777+ urls: Iterable[str],
7878+ knownHashes: dict[str, str] = {},
7979+) -> dict[str, str]:
8080+ '''Generate a `dict` mapping URLs to SRI-encoded hashes.
8181+8282+ The `knownHashes` optional parameter can be used to avoid
8383+ re-downloading files whose URL have not changed.
8484+ '''
8585+ return {
8686+ url: validateSRI(knownHashes.get(url)) or sriEncode(hashUrl(url))
8787+ for url in urls
8888+ }
8989+9090+9191+@contextmanager
9292+def atomicFileUpdate(target: Path):
9393+ '''Atomically replace the contents of a file.
9494+9595+ Yields an open file to write into; upon exiting the context,
9696+ the file is closed and (atomically) replaces the `target`.
9797+9898+ Guarantees that the `target` was either successfully overwritten
9999+ with new content and no exception was raised, or the temporary
100100+ file was cleaned up.
101101+ '''
102102+ from tempfile import mkstemp
103103+ fd, _p = mkstemp(
104104+ dir = target.parent,
105105+ prefix = target.name,
106106+ )
107107+ tmpPath = Path(_p)
108108+109109+ try:
110110+ with open(fd, 'w') as f:
111111+ yield f
112112+113113+ tmpPath.replace(target)
114114+115115+ except Exception:
116116+ tmpPath.unlink(missing_ok = True)
117117+ raise
118118+119119+120120+if __name__ == "__main__":
121121+ from os import environ
122122+ from urllib.error import HTTPError
123123+124124+ environVar = 'GOOGLE_FONTS_TOKEN'
125125+ currentDir = Path(__file__).parent
126126+ metadataPath = currentDir / 'noto-emoji.json'
127127+128128+ try:
129129+ apiToken = environ[environVar]
130130+ metadata = getMetadata(apiToken)
131131+132132+ except (KeyError, HTTPError) as exn:
133133+ # No API key in the environment, or the query was rejected.
134134+ match exn:
135135+ case KeyError if exn.args[0] == environVar:
136136+ print(f"No '{environVar}' in the environment, "
137137+ "skipping metadata update")
138138+139139+ case HTTPError if exn.getcode() == 403:
140140+ print("Got HTTP 403 (Forbidden)")
141141+ if apiToken != '':
142142+ print("Your Google API key appears to be valid "
143143+ "but does not grant access to the fonts API.")
144144+ print("Aborting!")
145145+ raise SystemExit(1)
146146+147147+ case HTTPError if exn.getcode() == 400:
148148+ # Printing the supposed token should be fine, as this is
149149+ # what the API returns on invalid tokens.
150150+ print(f"Got HTTP 400 (Bad Request), is this really an API token: '{apiToken}' ?")
151151+ case _:
152152+ # Unknown error, let's bubble it up
153153+ raise
154154+155155+ # In that case just use the existing metadata
156156+ with metadataPath.open() as metadataFile:
157157+ metadata = json.load(metadataFile)
158158+159159+ lastModified = metadata["items"][0]["lastModified"];
160160+ print(f"Using metadata from file, last modified {lastModified}")
161161+162162+ else:
163163+ # If metadata was successfully fetched, validate and persist it
164164+ lastModified = metadata["items"][0]["lastModified"];
165165+ print(f"Fetched current metadata, last modified {lastModified}")
166166+ with atomicFileUpdate(metadataPath) as metadataFile:
167167+ json.dump(metadata, metadataFile, indent = 2)
168168+ metadataFile.write("\n") # Pacify nixpkgs' dumb editor config check
169169+170170+ hashPath = currentDir / 'noto-emoji.hashes.json'
171171+ try:
172172+ with hashPath.open() as hashFile:
173173+ hashes = json.load(hashFile)
174174+ except FileNotFoundError:
175175+ hashes = {}
176176+177177+ with atomicFileUpdate(hashPath) as hashFile:
178178+ json.dump(
179179+ hashUrls(getUrls(metadata), knownHashes = hashes),
180180+ hashFile,
181181+ indent = 2,
182182+ )
183183+ hashFile.write("\n") # Pacify nixpkgs' dumb editor config check
···3131 description = "Integrates maximized windows with the top panel";
3232 homepage = "https://github.com/poehlerj/no-title-bar";
3333 license = licenses.gpl2;
3434- maintainers = with maintainers; [ jonafato svsdep maxeaubrey ];
3434+ maintainers = with maintainers; [ jonafato svsdep amaxine ];
3535 platforms = platforms.linux;
3636 };
3737}
+1-1
pkgs/desktops/plasma-5/fetch.sh
···11-WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.7/ -A '*.tar.xz' )
11+WGET_ARGS=( https://download.kde.org/stable/plasma/5.27.8/ -A '*.tar.xz' )
···64646565 depsTargetTarget = lib.optional stdenv.targetPlatform.isWindows threadsCross.package;
66666767- postPatch = ''
6868- patchShebangs .
6969- '';
7070-7167 patches = [
7268 (substituteAll {
7369 src = ./iana-etc-1.17.patch;
···9288 GOOS = stdenv.targetPlatform.parsed.kernel.name;
9389 GOARCH = goarch stdenv.targetPlatform;
9490 # GOHOSTOS/GOHOSTARCH must match the building system, not the host system.
9595- # Go will nevertheless build a for host system that we will copy over in
9696- # the install phase.
9791 GOHOSTOS = stdenv.buildPlatform.parsed.kernel.name;
9892 GOHOSTARCH = goarch stdenv.buildPlatform;
9993···116110117111 GOROOT_BOOTSTRAP = if useGccGoBootstrap then goBootstrap else "${goBootstrap}/share/go";
118112113113+ # Note that we use distpack to avoid moving around cross-compiled binaries.
114114+ # The paths are slightly different when buildPlatform != hostPlatform and
115115+ # distpack handles assembling outputs in the right place, same as the official
116116+ # Go binary releases. See also https://pkg.go.dev/cmd/distpack
119117 buildPhase = ''
120118 runHook preBuild
121119 export GOCACHE=$TMPDIR/go-cache
122120 # this is compiled into the binary
123121 export GOROOT_FINAL=$out/share/go
124122125125- export PATH=$(pwd)/bin:$PATH
126126-127123 ${lib.optionalString isCross ''
128124 # Independent from host/target, CC should produce code for the building system.
129125 # We only set it when cross-compiling.
···132128 ulimit -a
133129134130 pushd src
135135- ./make.bash
131131+ bash make.bash -no-banner -distpack
136132 popd
137133 runHook postBuild
138134 '';
139135140140- preInstall = ''
141141- # Contains the wrong perl shebang when cross compiling,
142142- # since it is not used for anything we can deleted as well.
143143- rm src/regexp/syntax/make_perl_groups.pl
144144- '' + (if (stdenv.buildPlatform.system != stdenv.hostPlatform.system) then ''
145145- mv bin/*_*/* bin
146146- rmdir bin/*_*
147147- ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
148148- rm -rf pkg/${GOHOSTOS}_${GOHOSTARCH} pkg/tool/${GOHOSTOS}_${GOHOSTARCH}
149149- ''}
150150- '' else lib.optionalString (stdenv.hostPlatform.system != stdenv.targetPlatform.system) ''
151151- rm -rf bin/*_*
152152- ${lib.optionalString (!(GOHOSTARCH == GOARCH && GOOS == GOHOSTOS)) ''
153153- rm -rf pkg/${GOOS}_${GOARCH} pkg/tool/${GOOS}_${GOARCH}
154154- ''}
155155- '');
156156-157136 installPhase = ''
158137 runHook preInstall
159159- mkdir -p $GOROOT_FINAL
160160- cp -a bin pkg src lib misc api doc go.env $GOROOT_FINAL
161161- mkdir -p $out/bin
162162- ln -s $GOROOT_FINAL/bin/* $out/bin
138138+ mkdir -p $out/{share,bin}
139139+ tar -C $out/share -x -z -f "pkg/distpack/go${version}.$GOOS-$GOARCH.tar.gz"
140140+ ln -s $out/share/go/bin/* $out/bin
163141 runHook postInstall
164142 '';
165143
···11-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.109/ -A '*.tar.xz' )
11+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.110/ -A '*.tar.xz' )
···22, openssl, libuuid, pkg-config, popt, nixosTests
33, libargon2, withInternalArgon2 ? false
4455+ # Programs enabled by default upstream are implicitly enabled unless
66+ # manually set to false.
77+, programs ? {}
58 # The release tarballs contain precomputed manpage files, so we don't need
69 # to run asciidoctor on the man sources. By avoiding asciidoctor, we make
710 # the bare NixOS build hash independent of changes to the ruby ecosystem,
···5053 # support, because the path still gets included in the binary even
5154 # though it isn't used.
5255 "--with-luks2-external-tokens-path=/"
5353- ];
5656+ ] ++ (with lib; mapAttrsToList (flip enableFeature)) programs;
54575558 nativeBuildInputs = [ pkg-config ] ++ lib.optionals rebuildMan [ asciidoctor ];
5659 buildInputs = [ lvm2 json_c openssl libuuid popt ] ++ lib.optional (!withInternalArgon2) libargon2;
···2525 export NIX_LOG_DIR=$TEST_ROOT/var/log/nix
2626 export NIX_STATE_DIR=$TEST_ROOT/var/nix
2727 export NIX_STORE_DIR=$TEST_ROOT/store
2828+2929+ # cargo tests run in parallel by default, which would then run into
3030+ # https://github.com/NixOS/nix/issues/2706 unless the store is initialised first
3131+ nix-store --init
2832 '';
2933 postCheck = ''
3034 cargo fmt --check
+9-3
pkgs/test/nixpkgs-check-by-name/src/eval.rs
···3030 // Write the list of packages we need to check into a temporary JSON file.
3131 // This can then get read by the Nix evaluation.
3232 let attrs_file = NamedTempFile::new().context("Failed to create a temporary file")?;
3333+ // We need to canonicalise this path because if it's a symlink (which can be the case on
3434+ // Darwin), Nix would need to read both the symlink and the target path, therefore need 2
3535+ // NIX_PATH entries for restrict-eval. But if we resolve the symlinks then only one predictable
3636+ // entry is needed.
3737+ let attrs_file_path = attrs_file.path().canonicalize()?;
3838+3339 serde_json::to_writer(&attrs_file, &nixpkgs.package_names).context(format!(
3440 "Failed to serialise the package names to the temporary path {}",
3535- attrs_file.path().display()
4141+ attrs_file_path.display()
3642 ))?;
37433844 // With restrict-eval, only paths in NIX_PATH can be accessed, so we explicitly specify the
···5763 // Pass the path to the attrs_file as an argument and add it to the NIX_PATH so it can be
5864 // accessed in restrict-eval mode
5965 .args(["--arg", "attrsPath"])
6060- .arg(attrs_file.path())
6666+ .arg(&attrs_file_path)
6167 .arg("-I")
6262- .arg(attrs_file.path())
6868+ .arg(&attrs_file_path)
6369 // Same for the nixpkgs to test
6470 .args(["--arg", "nixpkgsPath"])
6571 .arg(&nixpkgs.path)
+36
pkgs/test/nixpkgs-check-by-name/src/main.rs
···140140 Ok(())
141141 }
142142143143+ /// Tests symlinked temporary directories.
144144+ /// This is needed because on darwin, `/tmp` is a symlink to `/private/tmp`, and Nix's
145145+ /// restrict-eval doesn't also allow access to the canonical path when you allow the
146146+ /// non-canonical one.
147147+ ///
148148+ /// The error if we didn't do this would look like this:
149149+ /// error: access to canonical path '/private/var/folders/[...]/.tmpFbcNO0' is forbidden in restricted mode
150150+ #[test]
151151+ fn test_symlinked_tmpdir() -> anyhow::Result<()> {
152152+ // Create a directory with two entries:
153153+ // - actual (dir)
154154+ // - symlinked -> actual (symlink)
155155+ let temp_root = tempdir()?;
156156+ fs::create_dir(temp_root.path().join("actual"))?;
157157+ std::os::unix::fs::symlink("actual", temp_root.path().join("symlinked"))?;
158158+ let tmpdir = temp_root.path().join("symlinked");
159159+160160+ // Then set TMPDIR to the symlinked directory
161161+ // Make sure to persist the old value so we can undo this later
162162+ let old_tmpdir = env::var("TMPDIR").ok();
163163+ env::set_var("TMPDIR", &tmpdir);
164164+165165+ // Then run a simple test with this symlinked temporary directory
166166+ // This should be successful
167167+ test_nixpkgs("symlinked_tmpdir", Path::new("tests/success"), "")?;
168168+169169+ // Undo the env variable change
170170+ if let Some(old) = old_tmpdir {
171171+ env::set_var("TMPDIR", old);
172172+ } else {
173173+ env::remove_var("TMPDIR");
174174+ }
175175+176176+ Ok(())
177177+ }
178178+143179 fn test_nixpkgs(name: &str, path: &Path, expected_errors: &str) -> anyhow::Result<()> {
144180 let extra_nix_path = Path::new("tests/mock-nixpkgs.nix");
145181
···1010, Security
1111, libiconv
1212, installShellFiles
1313+ # once eza upstream gets support for setting up a compatibilty symlink for exa, we should change
1414+ # the handling here from postInstall to passing the required argument to the builder.
1515+, exaAlias ? true
1316}:
14171518rustPlatform.buildRustPackage rec {
···4346 --bash completions/bash/eza \
4447 --fish completions/fish/eza.fish \
4548 --zsh completions/zsh/_eza
4949+ '' + lib.optionalString exaAlias ''
5050+ ln -s eza $out/bin/exa
4651 '';
47524853 meta = with lib; {
+2-2
pkgs/tools/misc/flexoptix-app/default.nix
···11{ lib, appimageTools, fetchurl, asar }: let
22 pname = "flexoptix-app";
33- version = "5.13.4";
33+ version = "5.16.0-latest";
4455 src = fetchurl {
66 name = "${pname}-${version}.AppImage";
77 url = "https://flexbox.reconfigure.me/download/electron/linux/x64/FLEXOPTIX%20App.${version}.AppImage";
88- hash = "sha256-W+9KmKZ1bPfQfv1DXCJrIswriw4ivBVZPW81tfvRBc0=";
88+ hash = "sha256-A10r8IUB3zWKWmjen90vLXPF7V/Cgo+DhFn/Hsc1Nhg=";
99 };
10101111 udevRules = fetchurl {
···157157 digibyted = throw "digibyted has been removed since it's unnmaintained: https://github.com/digibyte/digibyte/graphs/code-frequency"; # Added 2022-11-24
158158 bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # Added 2021-08-22
159159 blastem = throw "blastem has been removed from nixpkgs as it would still require python2"; # Added 2022-01-01
160160- bluezFull = bluez; # Added 2019-12-03
160160+ bluezFull = throw "'bluezFull' has been renamed to/replaced by 'bluez'"; # Converted to throw 2023-09-10
161161 bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # Added 2020-12-10
162162 boost159 = throw "boost159 has been deprecated in favor of the latest version"; # Added 2023-01-01
163163 boost15x = throw "boost15x has been deprecated in favor of the latest version"; # Added 2023-01-01
···176176 bpytop = throw "bpytop has been deprecated by btop"; # Added 2023-02-16
177177 brackets = throw "brackets has been removed, it was unmaintained and had open vulnerabilities"; # Added 2021-01-24
178178 bridge_utils = throw "'bridge_utils' has been renamed to/replaced by 'bridge-utils'"; # Converted to throw 2022-02-22
179179- bro = zeek; # Added 2019-09-29
179179+ bro = throw "'bro' has been renamed to/replaced by 'zeek'"; # Converted to throw 2023-09-10
180180 btops = throw "btops has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
181181 btrfsProgs = throw "'btrfsProgs' has been renamed to/replaced by 'btrfs-progs'"; # Converted to throw 2022-02-22
182182 bud = throw "bud has been removed: abandoned by upstream"; # Added 2022-03-14
···223223 casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken";
224224 cassandra_2_1 = throw "cassandra_2_1 has been removed, please use cassandra_3_11 instead"; # Added 2022-10-29
225225 cassandra_2_2 = throw "cassandra_2_2 has been removed, please use cassandra_3_11 instead"; # Added 2022-10-29
226226- catfish = xfce.catfish; # Added 2019-12-22
226226+ catfish = throw "'catfish' has been renamed to/replaced by 'xfce.catfish'"; # Converted to throw 2023-09-10
227227 cawbird = throw "cawbird has been abandoned upstream and is broken anyways due to Twitter closing its API";
228228 ccloud-cli = throw "ccloud-cli has been removed, please use confluent-cli instead"; # Added 2023-06-09
229229 ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # Added 2021-03-25
···272272 cmakeWithQt4Gui = throw "cmakeWithQt4Gui has been removed in favor of cmakeWithGui (Qt 5)"; # Added 2021-05
273273 codimd = hedgedoc; # Added 2020-11-29
274274 inherit (libsForQt5.mauiPackages) communicator; # added 2022-05-17
275275- compton = picom; # Added 2019-12-02
275275+ compton = throw "'compton' has been renamed to/replaced by 'picom'"; # Converted to throw 2023-09-10
276276 compton-git = throw "'compton-git' has been renamed to/replaced by 'compton'"; # Converted to throw 2022-02-22
277277 concurrencykit = libck; # Added 2021-03
278278 conntrack_tools = throw "'conntrack_tools' has been renamed to/replaced by 'conntrack-tools'"; # Converted to throw 2022-02-22
···459459 electron_6 = throw "electron_6 has been removed in favor of newer versions"; # added 2022-01-06
460460 electron_7 = throw "electron_7 has been removed in favor of newer versions"; # added 2022-02-08
461461 electron_8 = throw "electron_8 has been removed in favor of newer versions"; # added 2022-02-08
462462+ electron_9 = throw "electron_9 has been removed in favor of newer versions"; # added 2023-09-11
462463463464 electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned"; # Added 2022-01-01
464465 elementary-planner = throw "elementary-planner has been renamed to planify"; # Added 2023-06-24
···472473 emacsMacport = emacs-macport; # Added 2023-08-10
473474 emacsNativeComp = emacs28NativeComp; # Added 2022-06-08
474475 emacsPackagesGen = throw "'emacsPackagesGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
475475- emacsPackagesNg = emacs.pkgs; # Added 2019-08-07
476476- emacsPackagesNgFor = emacsPackagesFor; # Added 2019-08-07
476476+ emacsPackagesNg = throw "'emacsPackagesNg' has been renamed to/replaced by 'emacs.pkgs'"; # Converted to throw 2023-09-10
477477+ emacsPackagesNgFor = throw "'emacsPackagesNgFor' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2023-09-10
477478 emacsPackagesNgGen = throw "'emacsPackagesNgGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
478479 emacsWithPackages = emacs.pkgs.withPackages; # Added 2020-12-18
479480···627628 gnome-breeze = throw "gnome-breeze has been removed, use libsForQt5.breeze-gtk instead"; # Added 2022-04-22
628629 gnome-firmware-updater = gnome-firmware; # added 2022-04-14
629630 gnome-passwordsafe = gnome-secrets; # added 2022-01-30
630630- gnome-mpv = celluloid; # Added 2019-08-22
631631+ gnome-mpv = throw "'gnome-mpv' has been renamed to/replaced by 'celluloid'"; # Converted to throw 2023-09-10
631632 gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # Added 2022-01-15
632633 gnome-themes-standard = throw "'gnome-themes-standard' has been renamed to/replaced by 'gnome-themes-extra'"; # Converted to throw 2022-02-22
633633- gnome_user_docs = gnome-user-docs; # Added 2019-11-20
634634+ gnome_user_docs = throw "'gnome_user_docs' has been renamed to/replaced by 'gnome-user-docs'"; # Converted to throw 2023-09-10
634635 gnome_doc_utils = throw "'gnome_doc_utils' has been renamed to/replaced by 'gnome-doc-utils'"; # Converted to throw 2022-02-22
635636 gnome_themes_standard = throw "'gnome_themes_standard' has been renamed to/replaced by 'gnome-themes-standard'"; # Converted to throw 2022-02-22
636637···645646 gnome3 = gnome; # Added 2021-05-07
646647 gnupg20 = throw "gnupg20 has been removed from nixpkgs as upstream dropped support on 2017-12-31";# Added 2020-07-12
647648 gnuradio3_7 = throw "gnuradio3_7 has been removed because it required Python 2"; # Added 2022-01-16
648648- gnuradio-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
649649- gnuradio-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
650650- gnuradio-limesdr = gnuradio3_7.pkgs.limesdr; # Added 2019-05-27, changed 2020-10-16
651651- gnuradio-nacl = gnuradio3_7.pkgs.nacl; # Added 2019-05-27, changed 2020-10-16
652652- gnuradio-osmosdr = gnuradio3_7.pkgs.osmosdr; # Added 2019-05-27, changed 2020-10-16
653653- gnuradio-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
649649+ gnuradio-ais = throw "'gnuradio-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10
650650+ gnuradio-gsm = throw "'gnuradio-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
651651+ gnuradio-limesdr = throw "'gnuradio-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10
652652+ gnuradio-nacl = throw "'gnuradio-nacl' has been renamed to/replaced by 'gnuradio3_7.pkgs.nacl'"; # Converted to throw 2023-09-10
653653+ gnuradio-osmosdr = throw "'gnuradio-osmosdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.osmosdr'"; # Converted to throw 2023-09-10
654654+ gnuradio-rds = throw "'gnuradio-rds' has been renamed to/replaced by 'gnuradio3_7.pkgs.rds'"; # Converted to throw 2023-09-10
654655 gnustep-make = throw "'gnustep-make' has been renamed to/replaced by 'gnustep.make'"; # Converted to throw 2022-02-22
655656 gnuvd = throw "gnuvd was removed because the backend service is missing"; # Added 2020-01-14
656657 gobby5 = gobby; # Added 2021-02-01
···669670 gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # Added 2020-04-23
670671 googleAuthenticator = throw "'googleAuthenticator' has been renamed to/replaced by 'google-authenticator'"; # Converted to throw 2022-02-22
671672 googleearth = throw "the non-pro version of Google Earth was removed because it was discontinued and downloading it isn't possible anymore"; # Added 2022-01-22
672672- google-gflags = gflags; # Added 2019-07-25
673673+ google-gflags = throw "'google-gflags' has been renamed to/replaced by 'gflags'"; # Converted to throw 2023-09-10
673674 google-musicmanager = throw "google-musicmanager has been removed because Google Play Music was discontinued"; # Added 2021-03-07
674675 google-music-scripts = throw "google-music-scripts has been removed because Google Play Music was discontinued"; # Added 2021-03-07
675676 gosca = throw "gosca has been dropped due to the lack of maintenance from upstream since 2018"; # Added 2022-06-30
···691692 gradle_4 = throw "gradle_4 has been removed because it's no longer being updated"; # Added 2023-01-17
692693 gradle_5 = throw "gradle_5 has been removed because it's no longer being updated"; # Added 2023-01-17
693694 grafana-mimir = throw "'grafana-mimir' has been renamed to/replaced by 'mimir'"; # Added 2022-06-07
694694- gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
695695+ gr-ais = throw "'gr-ais' has been renamed to/replaced by 'gnuradio3_7.pkgs.ais'"; # Converted to throw 2023-09-10
695696 grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22
696697 graylog = throw "graylog is now available in versions 3.3 up to 5.0. Please mind the upgrade path and choose the appropriate version. Direct upgrading from 3.3 to 4.3 or above is not supported"; # Added 2023-04-24
697697- gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
698698+ gr-gsm = throw "'gr-gsm' has been renamed to/replaced by 'gnuradio3_7.pkgs.gsm'"; # Converted to throw 2023-09-10
698699 grib-api = throw "grib-api has been replaced by ecCodes => https://confluence.ecmwf.int/display/ECC/GRIB-API+migration"; # Added 2022-01-05
699700 gringo = clingo; # added 2022-11-27
700700- gr-limesdr = gnuradio3_7.pkgs.limesdr; # Added 2019-05-27, changed 2020-10-16
701701- gr-nacl = gnuradio3_7.pkgs.nacl; # Added 2019-05-27, changed 2020-10-16
702702- gr-osmosdr = gnuradio3_7.pkgs.osmosdr; # Added 2019-05-27, changed 2020-10-16
703703- gr-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
701701+ gr-limesdr = throw "'gr-limesdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.limesdr'"; # Converted to throw 2023-09-10
702702+ gr-nacl = throw "'gr-nacl' has been renamed to/replaced by 'gnuradio3_7.pkgs.nacl'"; # Converted to throw 2023-09-10
703703+ gr-osmosdr = throw "'gr-osmosdr' has been renamed to/replaced by 'gnuradio3_7.pkgs.osmosdr'"; # Converted to throw 2023-09-10
704704+ gr-rds = throw "'gr-rds' has been renamed to/replaced by 'gnuradio3_7.pkgs.rds'"; # Converted to throw 2023-09-10
704705 grub2_full = grub2; # Added 2022-11-18
705706 grub = throw "grub1 was removed after not being maintained upstream for a decade. Please switch to another bootloader"; # Added 2023-04-11
706707 grv = throw "grv has been dropped due to the lack of maintenance from upstream since 2019"; # Added 2022-06-01
···736737 heartbeat6 = throw "heartbeat6 has been removed because it reached end of life"; # Added 2022-10-04
737738 heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22
738739 heme = throw "heme has been removed: upstream is gone"; # added 2022-02-06
739739- hepmc = hepmc2; # Added 2019-08-05
740740+ hepmc = throw "'hepmc' has been renamed to/replaced by 'hepmc2'"; # Converted to throw 2023-09-10
740741 hicolor_icon_theme = throw "'hicolor_icon_theme' has been renamed to/replaced by 'hicolor-icon-theme'"; # Converted to throw 2022-02-22
741742 holdingnuts = throw "holdingnuts was removed from nixpkgs, as the project is no longer developed"; # Added 2022-05-10
742743 holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
···756757 ibus-qt = throw "ibus-qt has been removed, because it depended on qt4"; # Added 2022-06-09
757758 ical2org = throw "ical2org has been dropped due to the lack of maintanence from upstream since 2018"; # Added 2022-06-02
758759 icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream"; # Added 2022-02-15
759759- icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
760760- icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
760760+ icedtea8_web = throw "'icedtea8_web' has been renamed to/replaced by 'adoptopenjdk-icedtea-web'"; # Converted to throw 2023-09-10
761761+ icedtea_web = throw "'icedtea_web' has been renamed to/replaced by 'adoptopenjdk-icedtea-web'"; # Converted to throw 2023-09-10
761762 icu59 = throw "icu59 has been removed, use a more recent version instead"; # Added 2022-05-14
762763 icu65 = throw "icu65 has been removed, use a more recent version instead"; # Added 2022-05-14
763764 idea = throw "'idea' has been renamed to/replaced by 'jetbrains'"; # Converted to throw 2022-02-22
···774775 i-score = throw "i-score has been removed: abandoned upstream"; # Added 2020-11-21
775776 inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped";
776777 index-fm = libsForQt5.mauiPackages.index; # added 2022-05-17
777777- infiniband-diags = rdma-core; # Added 2019-08-09
778778+ infiniband-diags = throw "'infiniband-diags' has been renamed to/replaced by 'rdma-core'"; # Converted to throw 2023-09-10
778779 ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project"; # Added 2022-01-12
779780 inotifyTools = inotify-tools;
780781 intecture-agent = throw "intecture-agent has been removed, because it was no longer maintained upstream"; # added 2021-12-15
···853854 kfctl = throw "kfctl is broken and has been archived by upstream" ; # Added 2023-08-21
854855 kgx = gnome-console; # Added 2022-02-19
855856 kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09
856856- kicad-with-packages3d = kicad; # Added 2019-11-25
857857+ kicad-with-packages3d = throw "'kicad-with-packages3d' has been renamed to/replaced by 'kicad'"; # Converted to throw 2023-09-10
857858 kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download"; # Added 2021-03-09
858859 kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned"; # Added 2020-04-28
859860 kino = throw "kino has been removed because it was broken and abandoned"; # Added 2021-04-25
···895896 libcanberra_gtk2 = throw "'libcanberra_gtk2' has been renamed to/replaced by 'libcanberra-gtk2'"; # Converted to throw 2022-02-22
896897 libcanberra_gtk3 = throw "'libcanberra_gtk3' has been renamed to/replaced by 'libcanberra-gtk3'"; # Converted to throw 2022-02-22
897898 libcap_manpages = throw "'libcap_manpages' has been renamed to/replaced by 'libcap.doc'"; # Converted to throw 2022-02-22
898898- libcap_pam = if stdenv.isLinux then libcap.pam else null; # Added 2016-04-29
899899+ libcap_pam = throw "'libcap_pam' has been replaced with 'libcap'"; # Converted to throw 2023-09-10
899900 libcap_progs = throw "'libcap_progs' has been renamed to/replaced by 'libcap.out'"; # Converted to throw 2022-02-22
900901 libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore"; # Added 2021-05-16
901902 libcroco = throw "libcroco has been removed as it's no longer used in any derivations"; # Added 2020-03-04
···914915 libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
915916 libgumbo = throw "'libgumbo' has been renamed to/replaced by 'gumbo'"; # Converted to throw 2022-02-22
916917 libheimdal = heimdal; # Added 2022-11-18
917917- libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
918918+ libintlOrEmpty = throw "'libintlOrEmpty' has been replaced by gettext"; # Converted to throw 2023-09-10
918919 libixp_hg = libixp;
919920 libjpeg_drop = libjpeg_original; # Added 2020-06-05
920921 libjreen = throw "libjreen has been removed, because it did not support a recent version of qt5"; # Added 2022-06-12
···10871088 mariadb_109 = throw "mariadb_109 has been removed from nixpkgs, please switch to another version like mariadb_1010"; # Added 2022-05-10
10881089 mariadb-client = hiPrio mariadb.client; #added 2019.07.28
10891090 markdown-pp = throw "markdown-pp was removed from nixpkgs, because the upstream archived it on 2021-09-02"; # Added 2023-07-22
10911091+ markmind = throw "markmind has been removed from nixpkgs, because it depended on an old version of electron"; # Added 2023-09-12
10901092 marp = throw "marp has been removed from nixpkgs, as it's unmaintained and has security issues"; # Added 2022-06-04
10911093 matcha = throw "matcha was renamed to matcha-gtk-theme"; # added 2020-05-09
10921094 mathics = throw "mathics has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
···11011103 memtest86 = throw "'memtest86' has been renamed to/replaced by 'memtest86plus'"; # Converted to throw 2022-02-22
11021104 mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # Added 2021-10-18
11031105 mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
11041104- mess = mame; # Added 2019-10-30
11061106+ mess = throw "'mess' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
11051107 metal = throw "metal has been removed due to lack of maintainers";
11061108 metricbeat6 = throw "metricbeat6 has been removed because it reached end of life"; # Added 2022-10-04
11071109 microsoft_gsl = microsoft-gsl; # Added 2023-05-26
···1135113711361138 morituri = throw "'morituri' has been renamed to/replaced by 'whipper'"; # Converted to throw 2022-02-22
11371139 moz-phab = mozphab; # Added 2022-08-09
11381138- mozart-binary = mozart2-binary; # Added 2019-09-23
11391139- mozart = mozart2-binary; # Added 2019-09-23
11401140+ mozart-binary = throw "'mozart-binary' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
11411141+ mozart = throw "'mozart' has been renamed to/replaced by 'mozart2-binary'"; # Converted to throw 2023-09-10
11401142 mpc_cli = mpc-cli; # moved from top-level 2022-01-24
11411143 mpd_clientlib = libmpdclient; # Added 2021-02-11
11421144 mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
···11441146 mqtt-bench = throw "mqtt-bench has been dropped due to the lack of maintenance from upstream since 2017"; # Added 2022-06-02
11451147 msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
11461148 multimc = throw "multimc was removed from nixpkgs; use prismlauncher instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
11471147- mumble_git = pkgs.mumble; # Added 2019-08-01
11481148- murmur_git = pkgs.murmur; # Added 2019-08-01
11491149+ mumble_git = throw "'mumble_git' has been renamed to/replaced by 'pkgs.mumble'"; # Converted to throw 2023-09-10
11501150+ murmur_git = throw "'murmur_git' has been renamed to/replaced by 'pkgs.murmur'"; # Converted to throw 2023-09-10
11491151 mutt-with-sidebar = mutt; # Added 2022-09-17
11501152 mysql-client = hiPrio mariadb.client;
11511153 mysql = mariadb; # moved from top-level 2021-03-14
···11751177 nccl_cudatoolkit_10 = throw "nccl_cudatoolkit_10 has been renamed to cudaPackages_10.nccl"; # Added 2022-04-04
11761178 nccl_cudatoolkit_11 = throw "nccl_cudatoolkit_11 has been renamed to cudaPackages_11.nccl"; # Added 2022-04-04
1177117911781178- net_snmp = net-snmp; # Added 2019-12-21
11801180+ net_snmp = throw "'net_snmp' has been renamed to/replaced by 'net-snmp'"; # Converted to throw 2023-09-10
11791181 nagiosPluginsOfficial = monitoring-plugins;
11801182 navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
11811183 ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
···11961198 nilfs_utils = throw "'nilfs_utils' has been renamed to/replaced by 'nilfs-utils'"; # Converted to throw 2022-02-22
11971199 nitrokey-udev-rules = libnitrokey; # Added 2023-03-25
11981200 nix-direnv-flakes = nix-direnv;
11991199- nix-review = nixpkgs-review; # Added 2019-12-22
12011201+ nix-review = throw "'nix-review' has been renamed to/replaced by 'nixpkgs-review'"; # Converted to throw 2023-09-10
12001202 nixFlakes = nixVersions.stable; # Added 2021-05-21
12011203 nixStable = nixVersions.stable; # Added 2022-01-24
12021204 nixUnstable = nixVersions.unstable; # Added 2022-01-26
···12271229 nomad_1_3 = throw "nomad_1_3 has been removed because it's outdated. Use a a newer version instead"; # Added 2023-09-02
12281230 nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27
12291231 noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
12321232+ noto-fonts-emoji = noto-fonts-color-emoji; # Added 2023-09-09
12301233 noto-fonts-extra = noto-fonts; # Added 2023-04-08
12311234 nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15
12321235 now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05
···13991402 pipewire-media-session = throw "pipewire-media-session is no longer maintained and has been removed. Please use Wireplumber instead.";
14001403 piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
14011404 pixie = throw "pixie has been removed: abandoned by upstream"; # Added 2022-04-21
14021402- pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
14051405+ pkgconfig = throw "'pkgconfig' has been renamed to/replaced by 'pkg-config'"; # Converted to throw 2023-09-10
14031406 pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22
14041407 pleroma-otp = pleroma; # Added 2021-07-10
14051408 plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22
···14101413 polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
14111414 polymc = throw "PolyMC has been removed from nixpkgs due to a hostile takeover by a rogue maintainer. The rest of the maintainers have made a fork which is packaged as 'prismlauncher'"; # Added 2022-10-18
14121415 polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project"; # Added 2022-01-01
14161416+ pomotroid = throw "pomotroid has been removed from nixpkgs, because it depended on an insecure version of electron"; # Added 2023-09-12
14131417 pond = throw "pond has been dropped due to the lack of maintenance from upstream since 2016"; # Added 2022-06-02
14141418 poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
14151419 powerdns = pdns; # Added 2022-03-28
···14381442 tlauncher = throw "tlauncher has been removed because there questionable practices and legality concerns";
14391443 tsearch_extras = postgresqlPackages.tsearch_extras;
1440144414411441- pinentry_curses = pinentry-curses; # Added 2019-10-14
14421442- pinentry_emacs = pinentry-emacs; # Added 2019-10-14
14431443- pinentry_gnome = pinentry-gnome; # Added 2019-10-14
14441444- pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14
14451445- pinentry_qt = pinentry-qt; # Added 2019-10-14
14451445+ pinentry_curses = throw "'pinentry_curses' has been renamed to/replaced by 'pinentry-curses'"; # Converted to throw 2023-09-10
14461446+ pinentry_emacs = throw "'pinentry_emacs' has been renamed to/replaced by 'pinentry-emacs'"; # Converted to throw 2023-09-10
14471447+ pinentry_gnome = throw "'pinentry_gnome' has been renamed to/replaced by 'pinentry-gnome'"; # Converted to throw 2023-09-10
14481448+ pinentry_gtk2 = throw "'pinentry_gtk2' has been renamed to/replaced by 'pinentry-gtk2'"; # Converted to throw 2023-09-10
14491449+ pinentry_qt = throw "'pinentry_qt' has been renamed to/replaced by 'pinentry-qt'"; # Converted to throw 2023-09-10
14461450 pinentry_qt5 = pinentry-qt; # Added 2020-02-11
14471451 prboom = throw "prboom was removed because it was abandoned by upstream, use prboom-plus instead"; # Added 2022-04-24
14481452 privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18
14491453 probe-rs-cli = throw "probe-rs-cli is now part of the probe-rs package"; # Added 2023-07-03
14501450- processing3 = processing; # Added 2019-08-16
14541454+ processing3 = throw "'processing3' has been renamed to/replaced by 'processing'"; # Converted to throw 2023-09-10
14511455 procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22
14521456 proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30
14531457 proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead"; # Added 2021-04-12
···14771481 pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # Added 2021-05-14
14781482 pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2"; # Added 2022-01-01
14791483 pyext = throw "pyext was removed because it does not support python 3.11, is upstream unmaintained and was unused"; # Added 2022-11-21
14801480- pygmentex = texlive.bin.pygmentex; # Added 2019-12-15
14841484+ pygmentex = throw "'pygmentex' has been renamed to/replaced by 'texlive.bin.pygmentex'"; # Converted to throw 2023-09-10
14811485 pyload = throw "pyload has been removed from nixpkgs. Use pyload-ng instead."; # Added 2021-03-21
14821486 pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd"; # Added 2020-10-24
14831487 pyo3-pack = maturin;
···16141618 scribusUnstable = throw "'scribusUnstable' has been renamed to 'scribus'"; # Added 2022-05-13
16151619 scrollkeeper = throw "'scrollkeeper' has been removed due to deprecated LibXML2 headers"; # Added 2022-11-08
16161620 scyther = throw "scyther has been removed since it currently only supports Python 2, see https://github.com/cascremers/scyther/issues/20"; # Added 2021-10-07
16171617- sdlmame = mame; # Added 2019-10-30
16211621+ sdlmame = throw "'sdlmame' has been renamed to/replaced by 'mame'"; # Converted to throw 2023-09-10
16181622 seeks = throw "seeks has been removed from nixpkgs, as it was unmaintained"; # Added 2020-06-21
16191623 sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
16201624 session-desktop-appimage = session-desktop;
···17001704 sqlite-replication = throw "'sqlite-replication' has been removed since it is no longer required by lxd and is not maintained."; # throw 2022-12-26
17011705 sqliteInteractive = throw "'sqliteInteractive' has been renamed to/replaced by 'sqlite-interactive'"; # Converted to throw 2022-02-22
17021706 sqliteman = throw "sqliteman has been removed, because it was unmaintained"; # Added 2022-05-26
17031703- squid4 = squid; # added 2019-08-22
17071707+ squid4 = throw "'squid4' has been renamed to/replaced by 'squid'"; # Converted to throw 2023-09-10
17041708 srcml = throw "'srcml' has been removed: abandoned by upstream"; # Added 2022-07-21
17051709 sshfsFuse = throw "'sshfsFuse' has been renamed to/replaced by 'sshfs-fuse'"; # Converted to throw 2022-02-22
17061710 ssmtp = throw "'ssmtp' has been removed due to the software being unmaintained. 'msmtp' can be used as a replacement"; # Added 2022-04-17
···18311835 urxvt_theme_switch = rxvt-unicode-plugins.theme-switch; # Added 2020-02-02
18321836 urxvt_vtwheel = rxvt-unicode-plugins.vtwheel; # Added 2020-02-02
18331837 usb_modeswitch = throw "'usb_modeswitch' has been renamed to/replaced by 'usb-modeswitch'"; # Converted to throw 2022-02-22
18341834- usbguard-nox = usbguard; # Added 2019-09-04
18381838+ usbguard-nox = throw "'usbguard-nox' has been renamed to/replaced by 'usbguard'"; # Converted to throw 2023-09-10
18351839 util-linuxCurses = util-linux; # Added 2022-04-12
18361840 utillinux = util-linux; # Added 2020-11-24
1837184118381842 ### V ###
1839184318401840- v4l_utils = v4l-utils; # Added 2019-08-07
18441844+ v4l_utils = throw "'v4l_utils' has been renamed to/replaced by 'v4l-utils'"; # Converted to throw 2023-09-10
18411845 valkyrie = throw "valkyrie was removed from nixpkgs, because it is unmaintained upstream"; # Added 2022-05-10
18421846 vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
18431847 vaapiIntel = intel-vaapi-driver; # Added 2023-05-31
···18581862 vimbWrapper = throw "'vimbWrapper' has been renamed to/replaced by 'vimb'"; # Converted to throw 2022-02-22
18591863 virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21
18601864 virtuoso = throw "virtuoso has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-15
18611861- virtmanager = virt-manager; # Added 2019-10-29
18621862- virtmanager-qt = virt-manager-qt; # Added 2019-10-29
18651865+ virtmanager = throw "'virtmanager' has been renamed to/replaced by 'virt-manager'"; # Converted to throw 2023-09-10
18661866+ virtmanager-qt = throw "'virtmanager-qt' has been renamed to/replaced by 'virt-manager-qt'"; # Converted to throw 2023-09-10
18631867 virtviewer = throw "'virtviewer' has been renamed to/replaced by 'virt-viewer'"; # Converted to throw 2022-02-22
18641868 vivaldi-widevine = throw "'vivaldi-widevine' has been renamed to/replaced by 'widevine-cdm'"; # Added 2023-02-25
18651869 vkBasalt = vkbasalt; # Added 2022-11-22
···19962000 https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500
19972001 ''; # Added 2020-08-17
1998200219991999- # Added 2019-09-06
20002000- zeroc_ice = pkgs.zeroc-ice;
20032003+ zeroc_ice = throw "'zeroc_ice' has been renamed to/replaced by 'zeroc-ice'"; # Converted to throw 2023-09-10
2001200420022005 # Added 2020-06-22
20032006 zeromq3 = throw "zeromq3 has been deprecated by zeromq4";
···20072010 dina-font-pcf = dina-font; # Added 2020-02-09
20082011 dnscrypt-proxy2 = dnscrypt-proxy; # Added 2023-02-02
20092012 gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7";
20102010- gnatsd = nats-server; # Added 2019-10-28
20132013+ gnatsd = throw "'gnatsd' has been renamed to/replaced by 'nats-server'"; # Converted to throw 2023-09-10
2011201420122015 obs-gstreamer = throw ''
20132016 obs-gstreamer has been converted into a plugin for use with wrapOBS.
···410410 nvidia_x11_legacy470 = nvidiaPackages.legacy_470;
411411 nvidia_x11_production = nvidiaPackages.production;
412412 nvidia_x11_vulkan_beta = nvidiaPackages.vulkan_beta;
413413+ nvidia_dc = nvidiaPackages.dc;
414414+ nvidia_dc_520 = nvidiaPackages.dc_520;
413415414416 # this is not a replacement for nvidia_x11*
415417 # only the opensource kernel driver exposed for hydra to build