nixpkgs/pkgs/top-level/all-packages.nix
2026-03-07 15:42:04 +00:00

12465 lines
372 KiB
Nix
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
The top-level package collection of nixpkgs.
It is sorted by categories corresponding to the folder names in the /pkgs
folder. Inside the categories packages are roughly sorted by alphabet, but
strict sorting has been long lost due to merges. Please use the full-text
search of your editor. ;)
Hint: ### starts category names.
*/
{
lib,
noSysDirs,
config,
overlays,
}:
let
# Add inherited lib functions only here, so they are not exported from pkgs
inherit (lib)
lowPrio
hiPrio
recurseIntoAttrs
dontRecurseIntoAttrs
makeOverridable
;
in
res: pkgs: super:
with pkgs;
{
# A module system style type tag
#
# Allows the nixpkgs fixpoint, usually known as `pkgs` to be distinguished
# nominally.
#
# pkgs._type == "pkgs"
# pkgs.pkgsStatic._type == "pkgs"
#
# Design note:
# While earlier stages of nixpkgs fixpoint construction are supertypes of this
# stage, they're generally not usable in places where a `pkgs` is expected.
# (earlier stages being the various `super` variables that precede
# all-packages.nix)
_type = "pkgs";
### Helper functions.
inherit lib config overlays;
# For convenience, allow callers to get the path to Nixpkgs.
path = ../..;
# A stdenv capable of building 32-bit binaries.
# On x86_64-linux, it uses GCC compiled with multilib support; on i686-linux,
# it's just the plain stdenv.
stdenv_32bit = lowPrio (if stdenv.hostPlatform.is32bit then stdenv else multiStdenv);
mkStdenvNoLibs =
stdenv:
let
bintools = stdenv.cc.bintools.override {
libc = null;
noLibc = true;
};
in
stdenv.override {
cc = stdenv.cc.override {
libc = null;
noLibc = true;
extraPackages = [ ];
inherit bintools;
};
allowedRequisites = lib.mapNullable (rs: rs ++ [ bintools ]) (stdenv.allowedRequisites or null);
};
stdenvNoLibs =
if stdenvNoCC.hostPlatform != stdenvNoCC.buildPlatform then
# We cannot touch binutils or cc themselves, because that will cause
# infinite recursion. So instead, we just choose a libc based on the
# current platform. That means we won't respect whatever compiler was
# passed in with the stdenv stage argument.
#
# TODO It would be much better to pass the `stdenvNoCC` and *unwrapped*
# cc, bintools, compiler-rt equivalent, etc. and create all final stdenvs
# as part of the stage. Then we would never be tempted to override a later
# thing to to create an earlier thing (leading to infinite recursion) and
# we also would still respect the stage arguments choices for these
# things.
(
if stdenvNoCC.hostPlatform.isDarwin || stdenvNoCC.hostPlatform.useLLVM or false then
overrideCC stdenvNoCC buildPackages.llvmPackages.clangNoCompilerRt
else
gccCrossLibcStdenv
)
else
mkStdenvNoLibs stdenv;
stdenvNoLibc =
if stdenvNoCC.hostPlatform != stdenvNoCC.buildPlatform then
(
if stdenvNoCC.hostPlatform.isDarwin || stdenvNoCC.hostPlatform.useLLVM or false then
overrideCC stdenvNoCC buildPackages.llvmPackages.clangNoLibc
else
gccCrossLibcStdenv
)
else
mkStdenvNoLibs stdenv;
gccStdenvNoLibs = mkStdenvNoLibs gccStdenv;
clangStdenvNoLibs = mkStdenvNoLibs clangStdenv;
### Evaluating the entire Nixpkgs naively will likely fail, make failure fast
AAAAAASomeThingsFailToEvaluate = throw ''
This pseudo-package is likely not the only part of Nixpkgs that fails to evaluate.
You should not evaluate entire Nixpkgs without measures to handle failing packages.
'';
tests = recurseIntoAttrs (callPackages ../test { });
defaultPkgConfigPackages =
# We don't want nix-env -q to enter this, because all of these are aliases.
dontRecurseIntoAttrs (import ./pkg-config/defaultPkgConfigPackages.nix pkgs);
### Nixpkgs maintainer tools
nix-generate-from-cpan = callPackage ../../maintainers/scripts/nix-generate-from-cpan.nix { };
nixpkgs-lint = callPackage ../../maintainers/scripts/nixpkgs-lint.nix { };
common-updater-scripts = callPackage ../common-updater/scripts.nix { };
vimPluginsUpdater = callPackage ../applications/editors/vim/plugins/utils/updater.nix {
inherit (python3Packages) buildPythonApplication;
};
genericUpdater = callPackage ../common-updater/generic-updater.nix { };
_experimental-update-script-combinators = callPackage ../common-updater/combinators.nix { };
directoryListingUpdater = callPackage ../common-updater/directory-listing-updater.nix { };
gitUpdater = callPackage ../common-updater/git-updater.nix { };
httpTwoLevelsUpdater = callPackage ../common-updater/http-two-levels-updater.nix { };
unstableGitUpdater = callPackage ../common-updater/unstable-updater.nix { };
inherit (nix-update) nix-update-script;
### Push NixOS tests inside the fixed point
# See also allTestsForSystem in nixos/release.nix
nixosTests =
import ../../nixos/tests/all-tests.nix {
inherit pkgs;
system = stdenv.hostPlatform.system;
callTest = config: config.test;
}
// {
# for typechecking of the scripts and evaluation of
# the nodes, without running VMs.
allDrivers = import ../../nixos/tests/all-tests.nix {
inherit pkgs;
system = stdenv.hostPlatform.system;
callTest = config: config.test.driver;
};
};
### BUILD SUPPORT
__flattenIncludeHackHook = callPackage ../build-support/setup-hooks/flatten-include-hack { };
arrayUtilities =
let
arrayUtilitiesPackages = makeScopeWithSplicing' {
otherSplices = generateSplicesForMkScope "arrayUtilities";
f =
finalArrayUtilities:
{
callPackages = lib.callPackagesWith (pkgs // finalArrayUtilities);
}
// lib.packagesFromDirectoryRecursive {
inherit (finalArrayUtilities) callPackage;
directory = ../build-support/setup-hooks/arrayUtilities;
};
};
in
recurseIntoAttrs arrayUtilitiesPackages;
addBinToPathHook = callPackage (
{ makeSetupHook }:
makeSetupHook {
name = "add-bin-to-path-hook";
} ../build-support/setup-hooks/add-bin-to-path.sh
) { };
aider-chat-with-playwright = aider-chat.withOptional { withPlaywright = true; };
aider-chat-with-browser = aider-chat.withOptional { withBrowser = true; };
aider-chat-with-help = aider-chat.withOptional { withHelp = true; };
aider-chat-with-bedrock = aider-chat.withOptional { withBedrock = true; };
aider-chat-full = aider-chat.withOptional { withAll = true; };
autoreconfHook = callPackage (
{
makeSetupHook,
autoconf,
automake,
gettext,
libtool,
}:
makeSetupHook {
name = "autoreconf-hook";
propagatedBuildInputs = [
autoconf
automake
gettext
libtool
];
} ../build-support/setup-hooks/autoreconf.sh
) { };
autoreconfHook269 = autoreconfHook.override {
autoconf = autoconf269;
};
autoreconfHook271 = autoreconfHook.override {
autoconf = autoconf271;
};
autoPatchelfHook = makeSetupHook {
name = "auto-patchelf-hook";
propagatedBuildInputs = [
auto-patchelf
bintools
];
substitutions = {
hostPlatform = stdenv.hostPlatform.config;
};
} ../build-support/setup-hooks/auto-patchelf.sh;
appimageTools = callPackage ../build-support/appimage { };
appimageupdate-qt = appimageupdate.override { withQtUI = true; };
stripJavaArchivesHook = makeSetupHook {
name = "strip-java-archives-hook";
propagatedBuildInputs = [ strip-nondeterminism ];
} ../build-support/setup-hooks/strip-java-archives.sh;
ensureNewerSourcesHook =
{ year }:
makeSetupHook
{
name = "ensure-newer-sources-hook";
}
(
writeScript "ensure-newer-sources-hook.sh" ''
postUnpackHooks+=(_ensureNewerSources)
_ensureNewerSources() {
local r=$sourceRoot
# Avoid passing option-looking directory to find. The example is diffoscope-269:
# https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/378
[[ $r == -* ]] && r="./$r"
'${findutils}/bin/find' "$r" \
'!' -newermt '${year}-01-01' -exec touch -h -d '${year}-01-02' '{}' '+'
}
''
);
alacritty-graphics = callPackage ../by-name/al/alacritty/package.nix { withGraphics = true; };
# addDriverRunpath is the preferred package name, as this enables
# many more scenarios than just opengl now.
aocd = with python3Packages; toPythonApplication aocd;
cve = with python3Packages; toPythonApplication cvelib;
bloodhound-py = with python3Packages; toPythonApplication bloodhound-py;
# Zip file format only allows times after year 1980, which makes e.g. Python
# wheel building fail with:
# ValueError: ZIP does not support timestamps before 1980
ensureNewerSourcesForZipFilesHook = ensureNewerSourcesHook { year = "1980"; };
updateAutotoolsGnuConfigScriptsHook = makeSetupHook {
name = "update-autotools-gnu-config-scripts-hook";
substitutions = {
gnu_config = gnu-config.override {
runtimeShell = targetPackages.stdenv.shell;
};
};
} ../build-support/setup-hooks/update-autotools-gnu-config-scripts.sh;
gogUnpackHook = makeSetupHook {
name = "gog-unpack-hook";
propagatedBuildInputs = [
innoextract
file-rename
];
} ../build-support/setup-hooks/gog-unpack.sh;
buildEnv = callPackage ../build-support/buildenv { }; # not actually a package
buildFHSEnv = buildFHSEnvBubblewrap;
buildFHSEnvChroot = callPackage ../build-support/build-fhsenv-chroot { }; # Deprecated; use buildFHSEnv/buildFHSEnvBubblewrap
buildFHSEnvBubblewrap = callPackage ../build-support/build-fhsenv-bubblewrap { };
cameractrls-gtk4 = cameractrls.override { withGtk = 4; };
cameractrls-gtk3 = cameractrls.override { withGtk = 3; };
cgal_5 = callPackage ../by-name/cg/cgal/5.nix { };
checkpointBuildTools = callPackage ../build-support/checkpoint-build.nix { };
celeste-classic-pm = pkgs.celeste-classic.override {
practiceMod = true;
};
chef-cli = callPackage ../tools/misc/chef-cli { };
coolercontrol = recurseIntoAttrs (callPackage ../applications/system/coolercontrol { });
cup-docker-noserver = cup-docker.override { withServer = false; };
dhallDirectoryToNix = callPackage ../build-support/dhall/directory-to-nix.nix { };
dhallPackageToNix = callPackage ../build-support/dhall/package-to-nix.nix { };
dhallToNix = callPackage ../build-support/dhall/to-nix.nix { };
dinghy = with python3Packages; toPythonApplication dinghy;
djgpp = djgpp_i586;
djgpp_i586 = callPackage ../development/compilers/djgpp {
targetArchitecture = "i586";
stdenv = gccStdenv;
};
djgpp_i686 = lowPrio (
callPackage ../development/compilers/djgpp {
targetArchitecture = "i686";
stdenv = gccStdenv;
}
);
dnf-plugins-core = with python3Packages; toPythonApplication dnf-plugins-core;
dnf4 = python3Packages.callPackage ../development/python-modules/dnf4/wrapper.nix { };
ebpf-verifier = callPackage ../tools/networking/ebpf-verifier {
catch2 = catch2_3;
};
enochecker-test = with python3Packages; callPackage ../development/tools/enochecker-test { };
inherit (gridlock) nyarr;
lshw-gui = lshw.override { withGUI = true; };
kdePackages = callPackage ../kde { };
buildcatrust = with python3.pkgs; toPythonApplication buildcatrust;
mumps-mpi = callPackage ../by-name/mu/mumps/package.nix { mpiSupport = true; };
protoc-gen-grpc-web = callPackage ../development/tools/protoc-gen-grpc-web {
protobuf = protobuf_21;
};
r3ctl = qt5.callPackage ../tools/misc/r3ctl { };
deviceTree = callPackage ../os-specific/linux/device-tree { };
octodns-providers = octodns.providers;
oletools = with python3.pkgs; toPythonApplication oletools;
ollama-cpu = callPackage ../by-name/ol/ollama/package.nix { acceleration = false; };
ollama-rocm = callPackage ../by-name/ol/ollama/package.nix { acceleration = "rocm"; };
ollama-cuda = callPackage ../by-name/ol/ollama/package.nix { acceleration = "cuda"; };
ollama-vulkan = callPackage ../by-name/ol/ollama/package.nix { acceleration = "vulkan"; };
diffPlugins = (callPackage ../build-support/plugins.nix { }).diffPlugins;
dieHook = makeSetupHook {
name = "die-hook";
} ../build-support/setup-hooks/die.sh;
devShellTools = callPackage ../build-support/dev-shell-tools { };
dockerTools = callPackage ../build-support/docker {
writePython3 = buildPackages.writers.writePython3;
};
tarsum = callPackage ../build-support/docker/tarsum.nix { };
nix-prefetch-docker = callPackage ../build-support/docker/nix-prefetch-docker.nix { };
# Dotnet
dotnetCorePackages = recurseIntoAttrs (callPackage ../development/compilers/dotnet { });
dotnet-sdk_6 = dotnetCorePackages.sdk_6_0-bin;
dotnet-sdk_7 = dotnetCorePackages.sdk_7_0-bin;
dotnet-sdk_8 = dotnetCorePackages.sdk_8_0;
dotnet-sdk_9 = dotnetCorePackages.sdk_9_0;
dotnet-sdk_10 = dotnetCorePackages.sdk_10_0;
dotnet-sdk_11 = dotnetCorePackages.sdk_11_0;
dotnet-runtime_6 = dotnetCorePackages.runtime_6_0-bin;
dotnet-runtime_7 = dotnetCorePackages.runtime_7_0-bin;
dotnet-runtime_8 = dotnetCorePackages.runtime_8_0;
dotnet-runtime_9 = dotnetCorePackages.runtime_9_0;
dotnet-runtime_10 = dotnetCorePackages.runtime_10_0;
dotnet-runtime_11 = dotnetCorePackages.runtime_11_0;
dotnet-aspnetcore_6 = dotnetCorePackages.aspnetcore_6_0-bin;
dotnet-aspnetcore_7 = dotnetCorePackages.aspnetcore_7_0-bin;
dotnet-aspnetcore_8 = dotnetCorePackages.aspnetcore_8_0;
dotnet-aspnetcore_9 = dotnetCorePackages.aspnetcore_9_0;
dotnet-aspnetcore_10 = dotnetCorePackages.aspnetcore_10_0;
dotnet-aspnetcore_11 = dotnetCorePackages.aspnetcore_11_0;
dotnet-sdk = dotnetCorePackages.sdk_8_0;
dotnet-runtime = dotnetCorePackages.runtime_8_0;
dotnet-aspnetcore = dotnetCorePackages.aspnetcore_8_0;
inherit (dotnetCorePackages)
buildDotnetModule
buildDotnetGlobalTool
mkNugetSource
mkNugetDeps
autoPatchcilHook
;
buildDotnetPackage = callPackage ../build-support/dotnet/build-dotnet-package { };
fetchNuGet = callPackage ../build-support/dotnet/fetchnuget { };
dupeguru = callPackage ../applications/misc/dupeguru {
python3Packages = python311Packages;
};
fetchbzr = callPackage ../build-support/fetchbzr { };
fetchcvs =
if
stdenv.buildPlatform != stdenv.hostPlatform
# hack around splicing being crummy with things that (correctly) don't eval.
then
buildPackages.fetchcvs
else
callPackage ../build-support/fetchcvs { };
fetchdarcs = callPackage ../build-support/fetchdarcs { };
fetchdocker = callPackage ../build-support/fetchdocker { };
fetchDockerConfig = callPackage ../build-support/fetchdocker/fetchDockerConfig.nix { };
fetchDockerLayer = callPackage ../build-support/fetchdocker/fetchDockerLayer.nix { };
fetchfossil = callPackage ../build-support/fetchfossil { };
fetchgit =
(callPackage ../build-support/fetchgit {
git = buildPackages.gitMinimal;
cacert = buildPackages.cacert;
git-lfs = buildPackages.git-lfs;
})
// {
# fetchgit is a function, so we use // instead of passthru.
tests = pkgs.tests.fetchgit;
};
fetchgitLocal = callPackage ../build-support/fetchgitlocal { };
fetchmtn = callPackage ../build-support/fetchmtn (config.fetchmtn or { });
fetchMavenArtifact = callPackage ../build-support/fetchmavenartifact { };
fetchpijul = callPackage ../build-support/fetchpijul { };
inherit (callPackages ../build-support/node/fetch-yarn-deps { })
fixup-yarn-lock
prefetch-yarn-deps
yarnConfigHook
yarnBuildHook
yarnInstallHook
fetchYarnDeps
;
prefer-remote-fetch = import ../build-support/prefer-remote-fetch;
magika = with python3Packages; toPythonApplication magika;
mysql-shell = mysql-shell_8;
inherit
({
mysql-shell_8 = callPackage ../development/tools/mysql-shell/8.nix {
antlr = antlr4_10;
icu = icu77;
protobuf = protobuf_25.override {
abseil-cpp = abseil-cpp_202407;
};
stdenv =
if stdenv.cc.isClang then
llvmPackages_19.stdenv
else if stdenv.cc.isGNU then
gcc14Stdenv
else
stdenv;
};
})
mysql-shell_8
;
mysql-shell-innovation = callPackage ../development/tools/mysql-shell/innovation.nix {
antlr = antlr4_10;
icu = icu77;
protobuf = protobuf_25.override {
abseil-cpp = abseil-cpp_202407;
};
stdenv =
if stdenv.cc.isClang then
llvmPackages_19.stdenv
else if stdenv.cc.isGNU then
gcc14Stdenv
else
stdenv;
};
# this is used by most `fetch*` functions
repoRevToNameMaybe = lib.repoRevToName config.fetchedSourceNameDefault;
fetchpatch =
callPackage ../build-support/fetchpatch {
# 0.3.4 would change hashes: https://github.com/NixOS/nixpkgs/issues/25154
patchutils = __splicedPackages.patchutils_0_3_3;
}
// {
tests = pkgs.tests.fetchpatch;
version = 1;
};
fetchpatch2 =
callPackage ../build-support/fetchpatch {
patchutils = __splicedPackages.patchutils_0_4_2;
}
// {
tests = pkgs.tests.fetchpatch2;
version = 2;
};
fetchs3 = callPackage ../build-support/fetchs3 { };
fetchtorrent = callPackage ../build-support/fetchtorrent { };
fetchsvn =
if
stdenv.buildPlatform != stdenv.hostPlatform
# hack around splicing being crummy with things that (correctly) don't eval.
then
buildPackages.fetchsvn
else
callPackage ../build-support/fetchsvn { };
fetchsvnrevision = import ../build-support/fetchsvnrevision runCommand subversion;
fetchsvnssh = callPackage ../build-support/fetchsvnssh { };
fetchhg = callPackage ../build-support/fetchhg { };
fetchFirefoxAddon = callPackage ../build-support/fetchfirefoxaddon { } // {
tests = pkgs.tests.fetchFirefoxAddon;
};
fetchNextcloudApp = callPackage ../build-support/fetchnextcloudapp { };
# `fetchurl' downloads a file from the network.
fetchurl =
if stdenv.buildPlatform != stdenv.hostPlatform then
buildPackages.fetchurl # No need to do special overrides twice,
else
makeOverridable (import ../build-support/fetchurl) {
inherit lib stdenvNoCC buildPackages;
inherit cacert;
inherit (config) hashedMirrors rewriteURL;
curl = buildPackages.curlMinimal.override (old: rec {
# break dependency cycles
fetchurl = stdenv.fetchurlBoot;
zlib = buildPackages.zlib.override { fetchurl = stdenv.fetchurlBoot; };
pkg-config = buildPackages.pkg-config.override (old: {
pkg-config = old.pkg-config.override {
fetchurl = stdenv.fetchurlBoot;
};
});
perl = buildPackages.perl.override {
inherit zlib;
fetchurl = stdenv.fetchurlBoot;
};
openssl = buildPackages.openssl.override {
fetchurl = stdenv.fetchurlBoot;
buildPackages = {
coreutils = buildPackages.coreutils.override {
fetchurl = stdenv.fetchurlBoot;
inherit perl;
xz = buildPackages.xz.override { fetchurl = stdenv.fetchurlBoot; };
gmpSupport = false;
aclSupport = false;
attrSupport = false;
};
inherit perl;
};
inherit perl;
};
libssh2 = buildPackages.libssh2.override {
fetchurl = stdenv.fetchurlBoot;
inherit zlib openssl;
};
# On darwin, libkrb5 needs bootstrap_cmds which would require
# converting many packages to fetchurl_boot to avoid evaluation cycles.
# So turn gssSupport off there, and on Windows.
# On other platforms, keep the previous value.
gssSupport =
if stdenv.hostPlatform.isDarwin || stdenv.hostPlatform.isWindows then
false
else
old.gssSupport or true; # `? true` is the default
libkrb5 = buildPackages.krb5.override {
fetchurl = stdenv.fetchurlBoot;
inherit pkg-config perl openssl;
withLibedit = false;
byacc = buildPackages.byacc.override { fetchurl = stdenv.fetchurlBoot; };
keyutils = buildPackages.keyutils.override { fetchurl = stdenv.fetchurlBoot; };
};
nghttp2 = buildPackages.nghttp2.override {
fetchurl = stdenv.fetchurlBoot;
inherit pkg-config;
enableApp = false; # curl just needs libnghttp2
enableTests = false; # avoids bringing `cunit` and `tzdata` into scope
};
});
};
fetchRepoProject = callPackage ../build-support/fetchrepoproject { };
fetchipfs = callPackage ../build-support/fetchipfs { };
fetchzip = callPackage ../build-support/fetchzip { } // {
tests = pkgs.tests.fetchzip;
};
fetchDebianPatch = callPackage ../build-support/fetchdebianpatch { } // {
tests = pkgs.tests.fetchDebianPatch;
};
fetchCrate = callPackage ../build-support/rust/fetchcrate.nix { };
fetchFromGitea = callPackage ../build-support/fetchgitea { };
fetchFromForgejo = fetchFromGitea;
fetchFromCodeberg = callPackage ../build-support/fetchcodeberg { };
fetchFromGitHub = callPackage ../build-support/fetchgithub { };
fetchFromBitbucket = callPackage ../build-support/fetchbitbucket { };
fetchFromSavannah = callPackage ../build-support/fetchsavannah { };
fetchFromSourcehut = callPackage ../build-support/fetchsourcehut { };
fetchFromGitLab = callPackage ../build-support/fetchgitlab { };
fetchFromGitiles = callPackage ../build-support/fetchgitiles { };
fetchFrom9Front = callPackage ../build-support/fetch9front { };
fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz { };
fetchFromRadicle = callPackage ../build-support/fetchradicle { };
fetchRadiclePatch = callPackage ../build-support/fetchradiclepatch { };
fetchgx = callPackage ../build-support/fetchgx { };
fetchItchIo = callPackage ../build-support/fetchitchio { };
fetchPypi = callPackage ../build-support/fetchpypi { };
fetchPypiLegacy = callPackage ../build-support/fetchpypilegacy { };
resolveMirrorURLs =
{ url }:
fetchurl {
showURLs = true;
inherit url;
};
ld-is-cc-hook = makeSetupHook {
name = "ld-is-cc-hook";
} ../build-support/setup-hooks/ld-is-cc-hook.sh;
copyDesktopItems = makeSetupHook {
name = "copy-desktop-items-hook";
} ../build-support/setup-hooks/copy-desktop-items.sh;
makeDesktopItem = callPackage ../build-support/make-desktopitem { };
installFonts = makeSetupHook {
name = "install-fonts-hook";
} ../build-support/setup-hooks/install-fonts.sh;
copyPkgconfigItems = makeSetupHook {
name = "copy-pkg-config-items-hook";
} ../build-support/setup-hooks/copy-pkgconfig-items.sh;
makePkgconfigItem = callPackage ../build-support/make-pkgconfigitem { };
makeDarwinBundle = callPackage ../build-support/make-darwin-bundle { };
makeAutostartItem = callPackage ../build-support/make-startupitem { };
makeImpureTest = callPackage ../build-support/make-impure-test.nix;
makeInitrd = callPackage ../build-support/kernel/make-initrd.nix; # Args intentionally left out
makeInitrdNG = callPackage ../build-support/kernel/make-initrd-ng.nix;
makeInitrdNGTool = callPackage ../build-support/kernel/make-initrd-ng-tool.nix { };
makeWrapper = makeShellWrapper;
makeShellWrapper = makeSetupHook {
name = "make-shell-wrapper-hook";
propagatedBuildInputs = [ dieHook ];
substitutions = {
# targetPackages.runtimeShell only exists when pkgs == targetPackages (when targetPackages is not __raw)
shell =
if targetPackages ? runtimeShell then
targetPackages.runtimeShell
else
throw "makeWrapper/makeShellWrapper must be in nativeBuildInputs";
};
passthru = {
tests = tests.makeWrapper;
};
} ../build-support/setup-hooks/make-wrapper.sh;
compressFirmwareXz = callPackage ../build-support/kernel/compress-firmware.nix { type = "xz"; };
compressFirmwareZstd = callPackage ../build-support/kernel/compress-firmware.nix { type = "zstd"; };
makeModulesClosure =
{
kernel,
firmware,
rootModules,
allowMissing ? false,
extraFirmwarePaths ? [ ],
}:
callPackage ../build-support/kernel/modules-closure.nix {
inherit
kernel
firmware
rootModules
allowMissing
extraFirmwarePaths
;
};
mkBinaryCache = callPackage ../build-support/binary-cache { };
mkShell = callPackage ../build-support/mkshell { };
mkShellNoCC = mkShell.override { stdenv = stdenvNoCC; };
nixBufferBuilders = import ../applications/editors/emacs/build-support/buffer.nix {
inherit lib writeText;
inherit (emacs.pkgs) inherit-local;
};
nix-gitignore = callPackage ../build-support/nix-gitignore { };
ociTools = callPackage ../build-support/oci-tools { };
inherit (callPackages ../build-support/setup-hooks/patch-rc-path-hooks { })
patchRcPathBash
patchRcPathCsh
patchRcPathFish
patchRcPathPosix
;
pruneLibtoolFiles = makeSetupHook {
name = "prune-libtool-files";
} ../build-support/setup-hooks/prune-libtool-files.sh;
closureInfo = callPackage ../build-support/closure-info.nix { };
setupSystemdUnits = callPackage ../build-support/setup-systemd-units.nix { };
shortenPerlShebang = makeSetupHook {
name = "shorten-perl-shebang-hook";
propagatedBuildInputs = [ dieHook ];
} ../build-support/setup-hooks/shorten-perl-shebang.sh;
singularity-tools = callPackage ../build-support/singularity-tools { };
srcOnly = callPackage ../build-support/src-only { };
substitute = callPackage ../build-support/substitute/substitute.nix { };
replaceDependencies = callPackage ../build-support/replace-dependencies.nix { };
replaceDependency =
{
drv,
oldDependency,
newDependency,
verbose ? true,
}:
replaceDependencies {
inherit drv verbose;
replacements = [
{
inherit oldDependency newDependency;
}
];
# When newDependency depends on drv, instead of causing infinite recursion, keep it as is.
cutoffPackages = [ newDependency ];
};
replaceVarsWith = callPackage ../build-support/replace-vars/replace-vars-with.nix { };
replaceVars = callPackage ../build-support/replace-vars/replace-vars.nix { };
replaceDirectDependencies = callPackage ../build-support/replace-direct-dependencies.nix { };
nukeReferences = callPackage ../build-support/nuke-references {
inherit (darwin) signingUtils;
};
referencesByPopularity = callPackage ../build-support/references-by-popularity { };
dockerAutoLayer = callPackage ../build-support/docker/auto-layer.nix { };
dockerMakeLayers = callPackage ../build-support/docker/make-layers.nix { };
removeReferencesTo = callPackage ../build-support/remove-references-to {
inherit (darwin) signingUtils;
};
vmTools = callPackage ../build-support/vm {
img = stdenv.hostPlatform.linux-kernel.target;
};
releaseTools = callPackage ../build-support/release { };
inherit (lib.systems) platforms;
setJavaClassPath = makeSetupHook {
name = "set-java-classpath-hook";
} ../build-support/setup-hooks/set-java-classpath.sh;
fixDarwinDylibNames = callPackage (
{
lib,
targetPackages,
makeSetupHook,
}:
makeSetupHook {
name = "fix-darwin-dylib-names-hook";
substitutions = { inherit (targetPackages.stdenv.cc) targetPrefix; };
meta.platforms = lib.platforms.darwin;
} ../build-support/setup-hooks/fix-darwin-dylib-names.sh
) { };
writeDarwinBundle = callPackage ../build-support/make-darwin-bundle/write-darwin-bundle.nix { };
desktopToDarwinBundle = makeSetupHook {
name = "desktop-to-darwin-bundle-hook";
propagatedBuildInputs = [
writeDarwinBundle
librsvg
imagemagick
(onlyBin python3Packages.icnsutil)
];
} ../build-support/setup-hooks/desktop-to-darwin-bundle.sh;
keepBuildTree = makeSetupHook {
name = "keep-build-tree-hook";
} ../build-support/setup-hooks/keep-build-tree.sh;
moveBuildTree = makeSetupHook {
name = "move-build-tree-hook";
} ../build-support/setup-hooks/move-build-tree.sh;
enableGCOVInstrumentation = makeSetupHook {
name = "enable-gcov-instrumentation-hook";
} ../build-support/setup-hooks/enable-coverage-instrumentation.sh;
makeGCOVReport = makeSetupHook {
name = "make-gcov-report-hook";
propagatedBuildInputs = [
lcov
enableGCOVInstrumentation
];
} ../build-support/setup-hooks/make-coverage-analysis-report.sh;
makeHardcodeGsettingsPatch = callPackage ../build-support/make-hardcode-gsettings-patch { };
# intended to be used like nix-build -E 'with import <nixpkgs> { }; enableDebugging fooPackage'
enableDebugging = pkg: pkg.override { stdenv = stdenvAdapters.keepDebugInfo pkg.stdenv; };
findXMLCatalogs = makeSetupHook {
name = "find-xml-catalogs-hook";
} ../build-support/setup-hooks/find-xml-catalogs.sh;
wrapGAppsHook3 = wrapGAppsNoGuiHook.override {
isGraphical = true;
};
wrapGAppsHook4 = wrapGAppsNoGuiHook.override {
isGraphical = true;
gtk3 = __splicedPackages.gtk4;
};
wrapGAppsNoGuiHook = callPackage ../build-support/setup-hooks/wrap-gapps-hook {
makeWrapper = makeBinaryWrapper;
};
separateDebugInfo = makeSetupHook {
name = "separate-debug-info-hook";
} ../build-support/setup-hooks/separate-debug-info.sh;
setupDebugInfoDirs = makeSetupHook {
name = "setup-debug-info-dirs-hook";
} ../build-support/setup-hooks/setup-debug-info-dirs.sh;
writableTmpDirAsHomeHook = callPackage (
{ makeSetupHook }:
makeSetupHook {
name = "writable-tmpdir-as-home-hook";
} ../build-support/setup-hooks/writable-tmpdir-as-home.sh
) { };
useOldCXXAbi = makeSetupHook {
name = "use-old-cxx-abi-hook";
} ../build-support/setup-hooks/use-old-cxx-abi.sh;
validatePkgConfig = makeSetupHook {
name = "validate-pkg-config";
propagatedBuildInputs = [
findutils
pkg-config
];
} ../build-support/setup-hooks/validate-pkg-config.sh;
#package writers
writers = callPackage ../build-support/writers { };
# lib functions depending on pkgs
inherit
(import ../pkgs-lib {
# The `lib` variable in this scope doesn't include any applied lib overlays,
# `pkgs.lib` does.
inherit (pkgs) lib;
inherit pkgs;
})
formats
;
testers = callPackage ../build-support/testers { };
### TOOLS
_7zz-rar = _7zz.override { enableUnfree = true; };
acquire = with python3Packages; toPythonApplication acquire;
actdiag = with python3.pkgs; toPythonApplication actdiag;
opnplug = adlplug.override { type = "OPN"; };
aflplusplus = callPackage ../tools/security/aflplusplus { wine = null; };
libdislocator = callPackage ../tools/security/aflplusplus/libdislocator.nix { };
aioblescan = with python3Packages; toPythonApplication aioblescan;
inherit (recurseIntoAttrs (callPackage ../tools/package-management/akku { }))
akku
akkuPackages
;
alice-tools-qt5 = alice-tools.override { withQt5 = true; };
alice-tools-qt6 = alice-tools.override { withQt6 = true; };
auditwheel = with python3Packages; toPythonApplication auditwheel;
btrsync = with python3Packages; toPythonApplication btrsync;
davinci-resolve-studio = callPackage ../by-name/da/davinci-resolve/package.nix {
studioVariant = true;
};
dehinter = with python3Packages; toPythonApplication dehinter;
gamescope-wsi = callPackage ../by-name/ga/gamescope/package.nix {
enableExecutable = false;
enableWsi = true;
};
font-v = with python3Packages; toPythonApplication font-v;
fontbakery = with python3Packages; toPythonApplication fontbakery;
genealogos-api = genealogos-cli.override {
crate = "api";
};
htop-vim = htop.override { withVimKeys = true; };
inherit (callPackages ../tools/networking/iroh/default.nix { })
iroh-relay
iroh-dns-server
;
kanata-with-cmd = kanata.override { withCmd = true; };
linux-router-without-wifi = linux-router.override { useWifiDependencies = false; };
makehuman = libsForQt5.callPackage ../applications/misc/makehuman { };
mkosi-full = mkosi.override { withQemu = true; };
openbugs = pkgsi686Linux.callPackage ../applications/science/machine-learning/openbugs { };
openusd = python3Packages.openusd.override {
withTools = true;
withUsdView = true;
};
py7zr = with python3Packages; toPythonApplication py7zr;
qFlipper = libsForQt5.callPackage ../tools/misc/qflipper { };
inherit (callPackage ../development/libraries/sdbus-cpp { }) sdbus-cpp sdbus-cpp_2;
sdkmanager = with python3Packages; toPythonApplication sdkmanager;
shaperglot = with python3Packages; toPythonApplication shaperglot;
ufolint = with python3Packages; toPythonApplication ufolint;
ventoy-full = ventoy.override {
withCryptsetup = true;
withXfs = true;
withExt4 = true;
withNtfs = true;
};
ventoy-full-gtk = ventoy-full.override {
defaultGuiType = "gtk3";
};
ventoy-full-qt = ventoy-full.override {
defaultGuiType = "qt5";
};
vprof = with python3Packages; toPythonApplication vprof;
waydroid-nftables = waydroid.override { withNftables = true; };
winbox = winbox3;
### APPLICATIONS/VERSION-MANAGEMENT
# The full-featured Git.
gitFull = git.override {
svnSupport = stdenv.buildPlatform == stdenv.hostPlatform;
guiSupport = true;
sendEmailSupport = stdenv.buildPlatform == stdenv.hostPlatform;
withSsh = true;
withLibsecret = !stdenv.hostPlatform.isDarwin;
};
# Git with SVN support, but without GUI.
gitSVN = lowPrio (git.override { svnSupport = true; });
git-doc =
# doc attribute is not present at least for pkgsLLVM
if (gitFull ? doc) then
lib.addMetaAttrs {
description = "Additional documentation for Git";
longDescription = ''
This package contains additional documentation (HTML and text files) that
is referenced in the man pages of Git.
'';
} gitFull.doc
else
throw "'git-doc' can't be evaluated as 'gitFull' does not expose 'doc' attribute";
gitMinimal = git.override {
withManual = false;
osxkeychainSupport = false;
pythonSupport = false;
perlSupport = false;
rustSupport = false; # Needed for bootstrap
withpcre2 = false;
};
bump2version = with python3Packages; toPythonApplication bump2version;
cgit = callPackage ../applications/version-management/cgit { };
datalad = with python3Packages; toPythonApplication datalad;
datalad-gooey = with python3Packages; toPythonApplication datalad-gooey;
forgejo-lts = callPackage ../by-name/fo/forgejo/lts.nix { };
github-cli = gh;
git-annex-remote-dbx = callPackage ../applications/version-management/git-annex-remote-dbx {
inherit (python3Packages)
buildPythonApplication
dropbox
annexremote
humanfriendly
;
};
git-credential-manager = callPackage ../applications/version-management/git-credential-manager { };
git-credential-aol = callPackage ../by-name/gi/git-credential-email/git-credential-aol { };
git-credential-gmail = callPackage ../by-name/gi/git-credential-email/git-credential-gmail { };
git-credential-outlook = callPackage ../by-name/gi/git-credential-email/git-credential-outlook { };
git-credential-yahoo = callPackage ../by-name/gi/git-credential-email/git-credential-yahoo { };
git-msgraph = callPackage ../by-name/gi/git-credential-email/git-msgraph { };
git-protonmail = callPackage ../by-name/gi/git-credential-email/git-protonmail { };
gitRepo = git-repo;
svn-all-fast-export =
libsForQt5.callPackage ../applications/version-management/svn-all-fast-export
{ };
svn2git = callPackage ../applications/version-management/svn2git {
git = gitSVN;
};
inherit (haskellPackages) git-annex;
inherit (haskellPackages) git-brunch;
git-autofixup = perlPackages.GitAutofixup;
ghrepo-stats = with python3Packages; toPythonApplication ghrepo-stats;
git-filter-repo = with python3Packages; toPythonApplication git-filter-repo;
git-revise = with python3Packages; toPythonApplication git-revise;
### APPLICATIONS/EMULATORS
_86box-with-roms = _86box.override {
unfreeEnableRoms = true;
unfreeEnableDiscord = true;
};
box64 = callPackage ../applications/emulators/box64 {
hello-x86_64 = if stdenv.hostPlatform.isx86_64 then hello else pkgsCross.gnu64.hello;
};
box86 =
let
args = {
hello-x86_32 = if stdenv.hostPlatform.isx86_32 then hello else pkgsCross.gnu32.hello;
};
in
if stdenv.hostPlatform.is32bit then
callPackage ../applications/emulators/box86 args
else if stdenv.hostPlatform.isx86_64 then
pkgsCross.gnu32.callPackage ../applications/emulators/box86 args
else if stdenv.hostPlatform.isAarch64 then
pkgsCross.armv7l-hf-multiplatform.callPackage ../applications/emulators/box86 args
else if stdenv.hostPlatform.isRiscV64 then
pkgsCross.riscv32.callPackage ../applications/emulators/box86 args
else
throw "Don't know 32-bit platform for cross from: ${stdenv.hostPlatform.stdenv}";
cdemu-client = callPackage ../applications/emulators/cdemu/client.nix { };
cdemu-daemon = callPackage ../applications/emulators/cdemu/daemon.nix { };
fceux-qt5 = fceux.override { ___qtVersion = "5"; };
fceux-qt6 = fceux.override { ___qtVersion = "6"; };
firebird-emu = libsForQt5.callPackage ../applications/emulators/firebird-emu { };
gcdemu = callPackage ../applications/emulators/cdemu/gui.nix { };
goldberg-emu = callPackage ../applications/emulators/goldberg-emu {
protobuf = protobuf_21;
};
image-analyzer = callPackage ../applications/emulators/cdemu/analyzer.nix { };
kega-fusion = pkgsi686Linux.callPackage ../applications/emulators/kega-fusion { };
libmirage = callPackage ../applications/emulators/cdemu/libmirage.nix { };
mame-tools = lib.addMetaAttrs {
description = mame.meta.description + " (tools only)";
} (lib.getOutput "tools" mame);
ppsspp-sdl =
let
argset = {
enableQt = false;
enableVulkan = true;
forceWayland = false;
};
in
ppsspp.override argset;
ppsspp-sdl-wayland =
let
argset = {
enableQt = false;
enableVulkan = false; # https://github.com/hrydgard/ppsspp/issues/13845
forceWayland = true;
};
in
ppsspp.override argset;
ppsspp-qt =
let
argset = {
enableQt = true;
enableVulkan = false; # https://github.com/hrydgard/ppsspp/issues/11628
forceWayland = false;
};
in
ppsspp.override argset;
py65 = with python3.pkgs; toPythonApplication py65;
rmg-wayland = callPackage ../by-name/rm/rmg/package.nix {
withWayland = true;
};
winetricks = callPackage ../applications/emulators/wine/winetricks.nix { };
zsnes = pkgsi686Linux.callPackage ../applications/emulators/zsnes { };
zsnes2 = pkgsi686Linux.callPackage ../applications/emulators/zsnes/2.x.nix { };
### APPLICATIONS/EMULATORS/RETROARCH
libretro = recurseIntoAttrs (callPackage ../applications/emulators/libretro { });
retroarch = wrapRetroArch { };
# includes only cores for platform with free licenses
retroarch-free = retroarch.withCores (
cores:
lib.filter (
c: (c ? libretroCore) && (lib.meta.availableOn stdenv.hostPlatform c) && (!c.meta.unfree)
) (lib.attrValues cores)
);
# includes all cores for platform (including ones with non-free licenses)
retroarch-full = retroarch.withCores (
cores:
lib.filter (c: (c ? libretroCore) && (lib.meta.availableOn stdenv.hostPlatform c)) (
lib.attrValues cores
)
);
wrapRetroArch = retroarch-bare.wrapper;
# Aliases kept here because they are easier to use
x16-emulator = x16.emulator;
x16-rom = x16.rom;
x16-run = x16.run;
yabause = libsForQt5.callPackage ../applications/emulators/yabause {
libglut = null;
openal = null;
};
### APPLICATIONS/FILE-MANAGERS
vifm-full = vifm.override {
mediaSupport = true;
inherit lib udisks python3;
};
johnny-reborn-engine = callPackage ../applications/misc/johnny-reborn { };
johnny-reborn = callPackage ../applications/misc/johnny-reborn/with-data.nix { };
### APPLICATIONS/TERMINAL-EMULATORS
mlterm-wayland = mlterm.override {
enableX11 = false;
};
rxvt-unicode = callPackage ../applications/terminal-emulators/rxvt-unicode/wrapper.nix { };
rxvt-unicode-emoji = rxvt-unicode.override {
rxvt-unicode-unwrapped = rxvt-unicode-unwrapped-emoji;
};
rxvt-unicode-plugins = recurseIntoAttrs (
import ../applications/terminal-emulators/rxvt-unicode-plugins {
inherit callPackage;
}
);
rxvt-unicode-unwrapped = callPackage ../applications/terminal-emulators/rxvt-unicode { };
rxvt-unicode-unwrapped-emoji = rxvt-unicode-unwrapped.override {
emojiSupport = true;
};
termite = callPackage ../applications/terminal-emulators/termite/wrapper.nix {
termite = termite-unwrapped;
};
termite-unwrapped = callPackage ../applications/terminal-emulators/termite { };
twine = with python3Packages; toPythonApplication twine;
inherit (callPackages ../development/tools/ammonite { })
ammonite_2_12
ammonite_2_13
ammonite_3_3
;
ammonite = ammonite_3_3;
android-tools = lowPrio (callPackage ../tools/misc/android-tools { });
angie = callPackage ../servers/http/angie {
zlib-ng = zlib-ng.override { withZlibCompat = true; };
withPerl = false;
# We don't use `with` statement here on purpose!
# See https://github.com/NixOS/nixpkgs/pull/10474#discussion_r42369334
modules = [
nginxModules.rtmp
nginxModules.dav
nginxModules.moreheaders
];
};
angie-console-light = callPackage ../servers/http/angie/console-light.nix { };
appimage-run = callPackage ../tools/package-management/appimage-run { };
appimage-run-tests = callPackage ../tools/package-management/appimage-run/test.nix {
appimage-run = appimage-run.override {
appimage-run-tests = null; # break boostrap cycle for passthru.tests
};
};
arduino = arduino-core.override { withGui = true; };
arduino-core = callPackage ../development/embedded/arduino/arduino-core/chrootenv.nix { };
arduino-core-unwrapped = callPackage ../development/embedded/arduino/arduino-core { };
arpack-mpi = arpack.override { useMpi = true; };
authentik-outposts = recurseIntoAttrs (callPackages ../by-name/au/authentik/outposts.nix { });
autoflake = with python3.pkgs; toPythonApplication autoflake;
azure-cli-extensions = recurseIntoAttrs azure-cli.extensions;
azure-sdk-for-cpp = recurseIntoAttrs (callPackage ../development/libraries/azure-sdk-for-cpp { });
# Derivation's result is not used by nixpkgs. Useful for validation for
# regressions of bootstrapTools on hydra and on ofborg. Example:
# pkgsCross.aarch64-multiplatform.freshBootstrapTools.build
freshBootstrapTools =
if stdenv.hostPlatform.isDarwin then
callPackage ../stdenv/darwin/make-bootstrap-tools.nix {
localSystem = stdenv.buildPlatform;
crossSystem = if stdenv.buildPlatform == stdenv.hostPlatform then null else stdenv.hostPlatform;
}
else if stdenv.hostPlatform.isLinux then
callPackage ../stdenv/linux/make-bootstrap-tools.nix { }
else if stdenv.hostPlatform.isFreeBSD then
callPackage ../stdenv/freebsd/make-bootstrap-tools.nix { }
else
throw "freshBootstrapTools: unknown hostPlatform ${stdenv.hostPlatform.config}";
crystfel = callPackage ../applications/science/physics/crystfel { };
crystfel-headless = callPackage ../applications/science/physics/crystfel { withGui = false; };
amule-daemon = amule.override {
monolithic = false;
enableDaemon = true;
mainProgram = "amuled";
};
amule-gui = amule.override {
monolithic = false;
client = true;
mainProgram = "amulegui";
};
amule-web = amule.override {
monolithic = false;
httpServer = true;
mainProgram = "amuleweb";
};
inherit (callPackages ../tools/security/bitwarden-directory-connector { })
bitwarden-directory-connector-cli
bitwarden-directory-connector
;
bitwarden-menu = python3Packages.callPackage ../applications/misc/bitwarden-menu { };
blocksat-cli = with python3Packages; toPythonApplication blocksat-cli;
bucklespring-x11 = callPackage ../by-name/bu/bucklespring-libinput/package.nix { legacy = true; };
bucklespring = bucklespring-x11;
buildbotPackages = recurseIntoAttrs (
callPackage ../development/tools/continuous-integration/buildbot { }
);
inherit (buildbotPackages)
buildbot
buildbot-ui
buildbot-full
buildbot-plugins
buildbot-worker
;
certipy = with python3Packages; toPythonApplication certipy-ad;
fedora-backgrounds = recurseIntoAttrs (callPackage ../data/misc/fedora-backgrounds { });
coconut = with python312Packages; toPythonApplication coconut;
coolreader = libsForQt5.callPackage ../applications/misc/coolreader { };
corsair = with python3Packages; toPythonApplication corsair-scan;
inherit (cue) writeCueValidator;
dazel = python3Packages.callPackage ../development/tools/dazel { };
detect-secrets = with python3Packages; toPythonApplication detect-secrets;
deterministic-host-uname = deterministic-uname.override {
forPlatform = stdenv.targetPlatform; # offset by 1 so it works in nativeBuildInputs
};
dkimpy = with python3Packages; toPythonApplication dkimpy;
esbuild = callPackage ../development/tools/esbuild { };
esbuild_netlify = callPackage ../development/tools/esbuild/netlify.nix { };
libfx2 = with python3Packages; toPythonApplication fx2;
flirc = libsForQt5.callPackage ../applications/video/flirc {
readline = readline70;
};
foxdot = with python3Packages; toPythonApplication foxdot;
fluffychat-web = fluffychat.override { targetFlutterPlatform = "web"; };
gams = callPackage ../tools/misc/gams (config.gams or { });
gancioPlugins = recurseIntoAttrs (callPackage ../by-name/ga/gancio/plugins.nix { });
github-changelog-generator = callPackage ../development/tools/github-changelog-generator { };
github-to-sqlite = with python3Packages; toPythonApplication github-to-sqlite;
gistyc = with python3Packages; toPythonApplication gistyc;
glances = python3Packages.callPackage ../applications/system/glances { };
glm_1_0_1 = callPackage ../by-name/gl/glm/1_0_1.nix { };
go2tv-lite = go2tv.override { withGui = false; };
hinit = haskell.lib.compose.justStaticExecutables haskellPackages.hinit;
hwi = with python3Packages; toPythonApplication hwi;
pass = callPackage ../tools/security/pass { };
pass-nodmenu = callPackage ../tools/security/pass {
dmenuSupport = false;
pass = pass-nodmenu;
};
pass-wayland = callPackage ../tools/security/pass {
waylandSupport = true;
pass = pass-wayland;
};
passExtensions = recurseIntoAttrs pass.extensions;
kerf = kerf_1; # kerf2 is WIP
kerf_1 = callPackage ../development/interpreters/kerf {
stdenv = clangStdenv;
};
reattach-to-user-namespace = callPackage ../os-specific/darwin/reattach-to-user-namespace { };
xcodeenv = callPackage ../development/mobile/xcodeenv { };
androidenv = callPackage ../development/mobile/androidenv { };
androidndkPkgs = androidndkPkgs_27;
androidndkPkgs_27 = (callPackage ../development/androidndk-pkgs { })."27";
androidndkPkgs_28 = (callPackage ../development/androidndk-pkgs { })."28";
androidndkPkgs_29 = (callPackage ../development/androidndk-pkgs { })."29";
androidsdk = androidenv.androidPkgs.androidsdk;
webos = recurseIntoAttrs {
cmake-modules = callPackage ../development/mobile/webos/cmake-modules.nix { };
novacom = callPackage ../development/mobile/webos/novacom.nix { };
novacomd = callPackage ../development/mobile/webos/novacomd.nix { };
};
apprise = with python3Packages; toPythonApplication apprise;
asmrepl = callPackage ../development/interpreters/asmrepl { };
avahi-compat = callPackage ../by-name/av/avahi/package.nix {
withLibdnssdCompat = true;
};
babelfish = callPackage ../shells/fish/babelfish.nix { };
bat-extras = recurseIntoAttrs (lib.makeScope newScope (import ../tools/misc/bat-extras));
beautysh = with python3.pkgs; toPythonApplication beautysh;
inherit (callPackages ../misc/logging/beats/7.x.nix { })
auditbeat7
filebeat7
heartbeat7
metricbeat7
packetbeat7
;
auditbeat = auditbeat7;
filebeat = filebeat7;
heartbeat = heartbeat7;
metricbeat = metricbeat7;
packetbeat = packetbeat7;
biliass = with python3.pkgs; toPythonApplication biliass;
charles = charles5;
inherit (callPackages ../applications/networking/charles { })
charles3
charles4
charles5
;
tensor = libsForQt5.callPackage ../applications/networking/instant-messengers/tensor { };
libtensorflow = python3.pkgs.tensorflow-build.libtensorflow;
libtorch-bin = callPackage ../development/libraries/science/math/libtorch/bin.nix { };
behave = with python3Packages; toPythonApplication behave;
blockdiag = with python3Packages; toPythonApplication blockdiag;
bogofilter-sqlite = bogofilter.override { database = sqlite; };
bogofilter-db = bogofilter.override { database = db; };
boomerang = libsForQt5.callPackage ../development/tools/boomerang { };
bozohttpd-minimal = bozohttpd.override { minimal = true; };
cabal2nix-unwrapped = haskell.lib.compose.justStaticExecutables (
haskellPackages.generateOptparseApplicativeCompletions [ "cabal2nix" ] haskellPackages.cabal2nix
);
stack2nix =
with haskell.lib;
overrideCabal (justStaticExecutables haskellPackages.stack2nix) (_: {
executableToolDepends = [ makeWrapper ];
postInstall = ''
wrapProgram $out/bin/stack2nix \
--prefix PATH ":" "${git}/bin:${cabal-install}/bin"
'';
});
clevercsv = with python3Packages; toPythonApplication clevercsv;
cleanit = with python3Packages; toPythonApplication cleanit;
clickgen = with python3Packages; toPythonApplication clickgen;
coloredlogs = with python3Packages; toPythonApplication coloredlogs;
czkawka-full = czkawka.wrapper.override {
extraPackages = [ ffmpeg ];
};
inherit (callPackages ../tools/misc/coreboot-utils { })
msrtool
cbmem
ifdtool
intelmetool
cbfstool
nvramtool
superiotool
ectool
inteltool
amdfwtool
acpidump-all
intelp2m
coreboot-utils
;
coreboot-configurator = libsForQt5.callPackage ../tools/misc/coreboot-configurator { };
intel-oneapi = callPackage ../development/libraries/intel-oneapi { };
cambrinary = python3Packages.callPackage ../applications/misc/cambrinary { };
cplex = callPackage ../applications/science/math/cplex (config.cplex or { });
cot = with python3Packages; toPythonApplication cot;
crossplane = with python3Packages; toPythonApplication crossplane;
csv2md = with python3Packages; toPythonApplication csv2md;
csvtool = callPackage ../development/ocaml-modules/csv/csvtool.nix { };
dataclass-wizard = with python3Packages; toPythonApplication dataclass-wizard;
datasette = with python3Packages; toPythonApplication datasette;
datovka = libsForQt5.callPackage ../applications/networking/datovka { };
diagrams-builder = callPackage ../tools/graphics/diagrams-builder {
inherit (haskellPackages) ghcWithPackages diagrams-builder;
};
dialogbox = libsForQt5.callPackage ../tools/misc/dialogbox { };
ding = callPackage ../applications/misc/ding {
aspellDicts_de = aspellDicts.de;
aspellDicts_en = aspellDicts.en;
};
discourse = callPackage ../servers/web-apps/discourse { };
discourseAllPlugins = discourse.override {
plugins = lib.filter (p: p ? pluginName) (builtins.attrValues discourse.plugins);
};
dino = callPackage ../applications/networking/instant-messengers/dino { };
inherit (ocamlPackages) dot-merlin-reader;
inherit (ocamlPackages) dune-release;
dune_2 = callPackage ../by-name/du/dune/package.nix {
version = "2.9.3";
inherit ocamlPackages;
};
dune_3 = callPackage ../by-name/du/dune/package.nix {
inherit ocamlPackages;
};
dvc = with python3.pkgs; toPythonApplication dvc;
dvc-with-remotes = dvc.override {
enableGoogle = true;
enableAWS = true;
enableAzure = true;
enableSSH = true;
};
easycrypt = callPackage ../applications/science/logic/easycrypt {
why3 = pkgs.why3.override {
ideSupport = false;
coqPackages = {
coq = null;
flocq = null;
};
};
};
easycrypt-runtest = callPackage ../applications/science/logic/easycrypt/runtest.nix { };
easyocr = with python3.pkgs; toPythonApplication easyocr;
espanso-wayland = espanso.override {
x11Support = false;
waylandSupport = !stdenv.hostPlatform.isDarwin;
};
### TOOLS/TYPESETTING/TEX
advi = callPackage ../tools/typesetting/tex/advi {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
dblatexFull = dblatex.override { enableAllFeatures = true; };
latex2mathml = with python3Packages; toPythonApplication latex2mathml;
pgf = pgf2;
tetex = callPackage ../tools/typesetting/tex/tetex { libpng = libpng12; };
texFunctions = callPackage ../tools/typesetting/tex/nix pkgs;
# TeX Live; see https://nixos.org/nixpkgs/manual/#sec-language-texlive
texlive = callPackage ../tools/typesetting/tex/texlive { };
inherit (texlive.schemes)
texliveBasic
texliveBookPub
texliveConTeXt
texliveFull
texliveGUST
texliveInfraOnly
texliveMedium
texliveMinimal
texliveSmall
texliveTeTeX
;
texlivePackages = recurseIntoAttrs (lib.mapAttrs (_: v: v.build) texlive.pkgs);
futhark = haskell.lib.compose.justStaticExecutables haskellPackages.futhark;
g2o = libsForQt5.callPackage ../development/libraries/g2o { };
inherit (go-containerregistry) crane gcrane;
geekbench_4 = callPackage ../tools/misc/geekbench/4.nix { };
geekbench_5 = callPackage ../tools/misc/geekbench/5.nix { };
geekbench_6 = callPackage ../tools/misc/geekbench/6.nix { };
geekbench = geekbench_6;
ghidra = callPackage ../tools/security/ghidra/build.nix {
protobuf = protobuf_21;
};
ghidra-extensions = recurseIntoAttrs (callPackage ../tools/security/ghidra/extensions.nix { });
ghidra-bin = callPackage ../tools/security/ghidra { };
gpg-tui = callPackage ../tools/security/gpg-tui {
inherit (darwin) libresolv;
};
hocr-tools = with python3Packages; toPythonApplication hocr-tools;
hopper = qt5.callPackage ../development/tools/analysis/hopper { };
hypr = callPackage ../applications/window-managers/hyprwm/hypr {
cairo = cairo.override { xcbSupport = true; };
};
hyprshade = python3Packages.callPackage ../applications/window-managers/hyprwm/hyprshade { };
hyprlandPlugins = recurseIntoAttrs (
callPackage ../applications/window-managers/hyprwm/hyprland-plugins { }
);
intensity-normalization = with python3Packages; toPythonApplication intensity-normalization;
jellyfin-mpv-shim = python3Packages.callPackage ../applications/video/jellyfin-mpv-shim { };
klaus = with python3Packages; toPythonApplication klaus;
klipper = callPackage ../servers/klipper { };
klipper-firmware = callPackage ../servers/klipper/klipper-firmware.nix { };
klipper-flash = callPackage ../servers/klipper/klipper-flash.nix { };
klipper-genconf = callPackage ../servers/klipper/klipper-genconf.nix { };
klog = qt5.callPackage ../applications/radio/klog { };
lexicon = with python3Packages; toPythonApplication dns-lexicon;
lgogdownloader-gui = callPackage ../by-name/lg/lgogdownloader/package.nix { enableGui = true; };
# Less secure variant of lowdown for use inside Nix builds.
lowdown-unsandboxed = lowdown.override {
enableDarwinSandbox = false;
};
kaggle = with python3Packages; toPythonApplication kaggle;
maliit-framework = libsForQt5.callPackage ../applications/misc/maliit-framework { };
maliit-keyboard = libsForQt5.callPackage ../applications/misc/maliit-keyboard { };
materialx = with python3Packages; toPythonApplication materialx;
# while building documentation meson may want to run binaries for host
# which needs an emulator
# example of an error which this fixes
# [Errno 8] Exec format error: './gdk3-scan'
mesonEmulatorHook =
makeSetupHook
{
name = "mesonEmulatorHook";
substitutions = {
crossFile = writeText "cross-file.conf" ''
[binaries]
exe_wrapper = '${lib.escape [ "'" "\\" ] (stdenv.targetPlatform.emulator pkgs)}'
'';
};
}
# The throw is moved into the `makeSetupHook` derivation, so that its
# outer level, but not its outPath can still be evaluated if the condition
# doesn't hold. This ensures that splicing still can work correctly.
(
if (!stdenv.hostPlatform.canExecute stdenv.targetPlatform) then
../by-name/me/meson/emulator-hook.sh
else
throw "mesonEmulatorHook may only be added to nativeBuildInputs when the target binaries can't be executed; however you are attempting to use it in a situation where ${stdenv.hostPlatform.config} can execute ${stdenv.targetPlatform.config}. Consider only adding mesonEmulatorHook according to a conditional based canExecute in your package expression."
);
mkspiffs-presets = recurseIntoAttrs (callPackages ../by-name/mk/mkspiffs/presets.nix { });
nltk-data = recurseIntoAttrs (callPackage ../tools/text/nltk-data { });
seabios-coreboot = seabios.override { ___build-type = "coreboot"; };
seabios-csm = seabios.override { ___build-type = "csm"; };
seabios-qemu = seabios.override { ___build-type = "qemu"; };
seaborn-data = callPackage ../tools/misc/seaborn-data { };
nodepy-runtime = with python3.pkgs; toPythonApplication nodepy-runtime;
nixpkgs-pytools = with python3.pkgs; toPythonApplication nixpkgs-pytools;
nsz = with python3.pkgs; toPythonApplication nsz;
ocrmypdf = with python3.pkgs; toPythonApplication ocrmypdf;
online-judge-template-generator =
python3Packages.callPackage ../tools/misc/online-judge-template-generator
{ };
online-judge-tools = with python3.pkgs; toPythonApplication online-judge-tools;
opaline = callPackage ../by-name/op/opaline/package.nix { inherit ocamlPackages; };
inherit (ocamlPackages) patdiff;
patool = with python3Packages; toPythonApplication patool;
pixcat = with python3Packages; toPythonApplication pixcat;
psrecord = python3Packages.callPackage ../tools/misc/psrecord { };
remarkable-mouse = python3Packages.callPackage ../applications/misc/remarkable/remarkable-mouse { };
ropgadget = with python3Packages; toPythonApplication ropgadget;
scour = with python3Packages; toPythonApplication scour;
steampipePackages = recurseIntoAttrs (callPackage ../tools/misc/steampipe-packages { });
inherit (callPackages ../servers/rainloop { })
rainloop-community
rainloop-standard
;
roundcube = callPackage ../servers/roundcube { };
roundcubePlugins = recurseIntoAttrs (callPackage ../servers/roundcube/plugins { });
rsyslog = callPackage ../tools/system/rsyslog {
withHadoop = false; # Currently Broken
withKsi = false; # Currently Broken
};
rsyslog-light = rsyslog.override {
withKrb5 = false;
withSystemd = false;
withJemalloc = false;
withMysql = false;
withPostgres = false;
withDbi = false;
withNetSnmp = false;
withUuid = false;
withCurl = false;
withGnutls = false;
withGcrypt = false;
withLognorm = false;
withMaxminddb = false;
withOpenssl = false;
withRelp = false;
withKsi = false;
withLogging = false;
withNet = false;
withHadoop = false;
withRdkafka = false;
withMongo = false;
withCzmq = false;
withRabbitmq = false;
withHiredis = false;
};
xmlsort = perlPackages.XMLFilterSort;
mcelog = callPackage ../os-specific/linux/mcelog {
util-linux = util-linuxMinimal;
};
apc-temp-fetch = with python3.pkgs; callPackage ../tools/networking/apc-temp-fetch { };
asciidoc-full = asciidoc.override {
enableStandardFeatures = true;
};
asciidoc-full-with-plugins = asciidoc.override {
enableStandardFeatures = true;
enableExtraPlugins = true;
};
b2sum = callPackage ../tools/security/b2sum {
inherit (llvmPackages) openmp;
};
beamerpresenter-mupdf = beamerpresenter;
beamerpresenter-poppler = beamerpresenter.override {
useMupdf = false;
usePoppler = true;
};
binlore = callPackage ../development/tools/analysis/binlore { };
birdfont = callPackage ../tools/misc/birdfont { };
xmlbird = callPackage ../tools/misc/birdfont/xmlbird.nix { stdenv = gccStdenv; };
bmrsa = callPackage ../tools/security/bmrsa/11.nix { };
anystyle-cli = callPackage ../tools/misc/anystyle-cli { };
bzip2 = callPackage ../tools/compression/bzip2 { };
bzip2_1_1 = callPackage ../tools/compression/bzip2/1_1.nix { };
davix-copy = davix.override { enableThirdPartyCopy = true; };
cemu-ti = qt5.callPackage ../applications/science/math/cemu-ti { };
libceph = ceph.lib;
ceph-client = ceph.client;
ceph-dev = ceph;
clementine = libsForQt5.callPackage ../applications/audio/clementine {
gst_plugins = with gst_all_1; [
gst-plugins-base
gst-plugins-good
gst-plugins-ugly
gst-libav
];
protobuf = protobuf_21;
};
inherit (callPackage ../applications/networking/remote/citrix-workspace { })
citrix_workspace_25_08_10
;
citrix_workspace = citrix_workspace_25_08_10;
colord-gtk4 = colord-gtk.override { withGtk4 = true; };
connmanFull = connman.override {
# TODO: Why is this in `connmanFull` and not the default build? See TODO in
# nixos/modules/services/networking/connman.nix (near the assertions)
enableNetworkManagerCompatibility = true;
enableHh2serialGps = true;
enableL2tp = true;
enableIospm = true;
enableTist = true;
};
connmanMinimal = connman.override {
# enableDatafiles = false; # If disabled, configuration and data files are not installed
# enableEthernet = false; # If disabled no ethernet connection can be performed
# enableWifi = false; # If disabled no WiFi connection can be performed
enableBluetooth = false;
enableClient = false;
enableDundee = false;
enableGadget = false;
enableLoopback = false;
enableNeard = false;
enableOfono = false;
enableOpenconnect = false;
enableOpenvpn = false;
enablePacrunner = false;
enablePolkit = false;
enablePptp = false;
enableStats = false;
enableTools = false;
enableVpnc = false;
enableWireguard = false;
enableWispr = false;
};
collectd = callPackage ../tools/system/collectd { };
collectd-data = callPackage ../tools/system/collectd/data.nix { };
unify = with python3Packages; toPythonApplication unify;
inherit (import ../development/libraries/libsbsms pkgs)
libsbsms
libsbsms_2_0_2
libsbsms_2_3_0
;
m17n_lib = callPackage ../tools/inputmethods/m17n-lib { };
libotf = callPackage ../tools/inputmethods/m17n-lib/otf.nix { };
skkDictionaries = recurseIntoAttrs (callPackages ../tools/inputmethods/skk/skk-dicts { });
ibus = callPackage ../tools/inputmethods/ibus { };
ibus-engines = recurseIntoAttrs {
anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { };
bamboo = callPackage ../tools/inputmethods/ibus-engines/ibus-bamboo { };
cangjie = callPackage ../tools/inputmethods/ibus-engines/ibus-cangjie { };
chewing = callPackage ../tools/inputmethods/ibus-engines/ibus-chewing { };
hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { };
libpinyin = callPackage ../tools/inputmethods/ibus-engines/ibus-libpinyin { };
libthai = callPackage ../tools/inputmethods/ibus-engines/ibus-libthai { };
m17n = callPackage ../tools/inputmethods/ibus-engines/ibus-m17n { };
inherit mozc mozc-ut;
openbangla-keyboard = libsForQt5.callPackage ../applications/misc/openbangla-keyboard {
withIbusSupport = true;
};
pinyin = callPackage ../tools/inputmethods/ibus-engines/ibus-pinyin { };
rime = callPackage ../tools/inputmethods/ibus-engines/ibus-rime { };
table = callPackage ../tools/inputmethods/ibus-engines/ibus-table { };
table-chinese = callPackage ../tools/inputmethods/ibus-engines/ibus-table-chinese {
ibus-table = ibus-engines.table;
};
table-others = callPackage ../tools/inputmethods/ibus-engines/ibus-table-others {
ibus-table = ibus-engines.table;
};
uniemoji = callPackage ../tools/inputmethods/ibus-engines/ibus-uniemoji { };
typing-booster-unwrapped = callPackage ../tools/inputmethods/ibus-engines/ibus-typing-booster { };
typing-booster = callPackage ../tools/inputmethods/ibus-engines/ibus-typing-booster/wrapper.nix {
typing-booster = ibus-engines.typing-booster-unwrapped;
};
};
ibus-with-plugins = callPackage ../tools/inputmethods/ibus/wrapper.nix { };
interception-tools = callPackage ../tools/inputmethods/interception-tools { };
interception-tools-plugins = recurseIntoAttrs {
caps2esc = callPackage ../tools/inputmethods/interception-tools/caps2esc.nix { };
dual-function-keys =
callPackage ../tools/inputmethods/interception-tools/dual-function-keys.nix
{ };
};
blacken-docs = with python3Packages; toPythonApplication blacken-docs;
bluetooth_battery = python3Packages.callPackage ../applications/misc/bluetooth_battery { };
calyx-vpn = qt6Packages.callPackage ../tools/networking/bitmask-vpn {
provider = "calyx";
};
cask-server = libsForQt5.callPackage ../applications/misc/cask-server { };
cffconvert = python3Packages.toPythonApplication python3Packages.cffconvert;
clickhouse-lts = callPackage ../by-name/cl/clickhouse/lts.nix { };
cmdpack = callPackages ../tools/misc/cmdpack { };
comet-gog_heroic = callPackage ../by-name/co/comet-gog/package.nix { comet-gog_kind = "heroic"; };
compass = callPackage ../development/tools/compass { };
coreutils = callPackage ../tools/misc/coreutils { };
# The coreutils above are built with dependencies from
# bootstrapping. We cannot override it here, because that pulls in
# openssl from the previous stage as well.
coreutils-full = callPackage ../tools/misc/coreutils { minimal = false; };
coreutils-prefixed = coreutils.override {
withPrefix = true;
singleBinary = false;
};
cron = isc-cron;
# Top-level fix-point used in `cudaPackages`' internals
_cuda = import ../development/cuda-modules/_cuda;
inherit
(import ./cuda-packages.nix {
inherit
_cuda
callPackage
config
lib
;
})
cudaPackages_12_6
cudaPackages_12_8
cudaPackages_12_9
cudaPackages_13_0
cudaPackages_13_1
;
cudaPackages_12 = cudaPackages_12_8;
cudaPackages_13 = cudaPackages_13_0;
cudaPackages = recurseIntoAttrs cudaPackages_12;
# TODO: move to alias
cudatoolkit = cudaPackages.cudatoolkit;
curlFull = curl.override {
ldapSupport = true;
gsaslSupport = true;
rtmpSupport = true;
pslSupport = true;
websocketSupport = true;
};
curl = curlMinimal.override {
idnSupport = true;
pslSupport = true;
zstdSupport = true;
http3Support = true;
brotliSupport = true;
};
curlWithGnuTls = curl.override {
gnutlsSupport = true;
opensslSupport = false;
ngtcp2 = ngtcp2-gnutls;
};
cve-bin-tool = python3Packages.callPackage ../tools/security/cve-bin-tool { };
dconf2nix = callPackage ../development/tools/haskell/dconf2nix { };
ddcui = libsForQt5.callPackage ../applications/misc/ddcui { };
inherit (callPackages ../applications/networking/p2p/deluge { })
deluge-gtk
deluged
deluge
;
deluge-2_x = deluge;
diffoscopeMinimal = diffoscope.override {
enableBloat = false;
};
diffutils = callPackage ../tools/text/diffutils { };
drone = callPackage ../development/tools/continuous-integration/drone { };
drone-oss = callPackage ../development/tools/continuous-integration/drone {
enableUnfree = false;
};
dsview = libsForQt5.callPackage ../applications/science/electronics/dsview { };
inherit (import ../build-support/dlang/dub-support.nix { inherit callPackage; })
dub-to-nix
importDubLock
buildDubPackage
dubSetupHook
dubBuildHook
dubCheckHook
;
dvtm = callPackage ../tools/misc/dvtm {
# if you prefer a custom config, write the config.h in dvtm.config.h
# and enable
# customConfig = builtins.readFile ./dvtm.config.h;
};
dvtm-unstable = callPackage ../tools/misc/dvtm/unstable.nix { };
engauge-digitizer = libsForQt5.callPackage ../applications/science/math/engauge-digitizer { };
rocmPackages = recurseIntoAttrs (callPackage ../development/rocm-modules { });
tsm-client-withGui = callPackage ../by-name/ts/tsm-client/package.nix { enableGui = true; };
tracy-glfw = callPackage ../by-name/tr/tracy/package.nix { withWayland = false; };
tracy-wayland = callPackage ../by-name/tr/tracy/package.nix { withWayland = true; };
uusi = haskell.lib.compose.justStaticExecutables haskellPackages.uusi;
uutils-coreutils-noprefix = uutils-coreutils.override { prefix = null; };
xkcdpass = with python3Packages; toPythonApplication xkcdpass;
zonemaster-cli = perlPackages.ZonemasterCLI;
### DEVELOPMENT / EMSCRIPTEN
buildEmscriptenPackage = callPackage ../development/em-modules/generic { };
emscripten = callPackage ../development/compilers/emscripten {
llvmPackages = llvmPackages_21;
};
emscriptenPackages = recurseIntoAttrs (callPackage ./emscripten-packages.nix { });
emscriptenStdenv = stdenv // {
mkDerivation = buildEmscriptenPackage;
};
# The latest version used by elasticsearch, logstash, kibana and the the beats from elastic.
# When updating make sure to update all plugins or they will break!
elk7Version = "7.17.27";
elasticsearch7 = callPackage ../servers/search/elasticsearch/7.x.nix {
util-linux = util-linuxMinimal;
jre_headless = jdk11_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
elasticsearch = elasticsearch7;
elasticsearchPlugins = recurseIntoAttrs (
callPackage ../servers/search/elasticsearch/plugins.nix { }
);
emborg = python3Packages.callPackage ../development/python-modules/emborg { };
evtest-qt = libsForQt5.callPackage ../applications/misc/evtest-qt { };
executor = with python3Packages; toPythonApplication executor;
exiftool = perlPackages.ImageExifTool;
expect = tclPackages.expect;
Fabric = with python3Packages; toPythonApplication fabric;
chewing-editor = libsForQt5.callPackage ../applications/misc/chewing-editor { };
fcitx5 = callPackage ../tools/inputmethods/fcitx5 { };
fcitx5-bamboo = callPackage ../tools/inputmethods/fcitx5/fcitx5-bamboo.nix { };
fcitx5-skk = qt6Packages.callPackage ../tools/inputmethods/fcitx5/fcitx5-skk.nix { };
fcitx5-anthy = callPackage ../tools/inputmethods/fcitx5/fcitx5-anthy.nix { };
fcitx5-chewing = callPackage ../tools/inputmethods/fcitx5/fcitx5-chewing.nix { };
fcitx5-lua = callPackage ../tools/inputmethods/fcitx5/fcitx5-lua.nix { lua = lua5_3; };
fcitx5-m17n = callPackage ../tools/inputmethods/fcitx5/fcitx5-m17n.nix { };
fcitx5-openbangla-keyboard = libsForQt5.callPackage ../applications/misc/openbangla-keyboard {
withFcitx5Support = true;
};
fcitx5-gtk = callPackage ../tools/inputmethods/fcitx5/fcitx5-gtk.nix { };
fcitx5-hangul = callPackage ../tools/inputmethods/fcitx5/fcitx5-hangul.nix { };
fcitx5-rime = callPackage ../tools/inputmethods/fcitx5/fcitx5-rime.nix { };
fcitx5-table-extra = callPackage ../tools/inputmethods/fcitx5/fcitx5-table-extra.nix { };
fcitx5-table-other = callPackage ../tools/inputmethods/fcitx5/fcitx5-table-other.nix { };
flannel = callPackage ../tools/networking/flannel { };
cni-plugin-flannel = callPackage ../tools/networking/flannel/plugin.nix { };
flatpak-builder = callPackage ../development/tools/flatpak-builder {
binutils = binutils-unwrapped;
};
fltrdr = callPackage ../tools/misc/fltrdr {
icu = icu63;
};
file = callPackage ../tools/misc/file {
inherit (windows) libgnurx;
};
findutils = callPackage ../tools/misc/findutils { };
bsd-fingerd = bsd-finger.override {
buildProduct = "daemon";
};
iprange = callPackage ../applications/networking/firehol/iprange.nix { };
firehol = callPackage ../applications/networking/firehol { };
fluentd = callPackage ../tools/misc/fluentd { };
lp_solve = callPackage ../applications/science/math/lp_solve {
inherit (darwin) autoSignDarwinBinariesHook;
};
fpm = callPackage ../tools/package-management/fpm { };
ferdium = callPackage ../applications/networking/instant-messengers/ferdium {
mkFranzDerivation = callPackage ../applications/networking/instant-messengers/franz/generic.nix { };
};
franz = callPackage ../applications/networking/instant-messengers/franz {
mkFranzDerivation = callPackage ../applications/networking/instant-messengers/franz/generic.nix { };
};
frostwire-bin = callPackage ../applications/networking/p2p/frostwire/frostwire-bin.nix { };
uniscribe = callPackage ../tools/text/uniscribe { };
inherit (callPackages ../tools/filesystems/garage { })
garage
garage_1
garage_2
;
gaugePlugins = recurseIntoAttrs (callPackage ../by-name/ga/gauge/plugins { });
gawd = python3Packages.toPythonApplication python3Packages.gawd;
gawk = callPackage ../tools/text/gawk {
inherit (darwin) locale;
};
gawk-with-extensions = callPackage ../tools/text/gawk/gawk-with-extensions.nix {
extensions = gawkextlib.full;
};
gawkextlib = callPackage ../tools/text/gawk/gawkextlib.nix { };
gawkInteractive = gawk.override { interactive = true; };
gibberish-detector = with python3Packages; toPythonApplication gibberish-detector;
gitlab-ee = callPackage ../by-name/gi/gitlab/package.nix {
gitlabEnterprise = true;
};
gitlab-workhorse = callPackage ../by-name/gi/gitlab/gitlab-workhorse { };
glogg = libsForQt5.callPackage ../tools/text/glogg { };
gmrender-resurrect = callPackage ../tools/networking/gmrender-resurrect {
inherit (gst_all_1)
gstreamer
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
gst-libav
;
};
gnome-panel-with-modules = callPackage ../by-name/gn/gnome-panel/wrapper.nix { };
dapl = callPackage ../development/interpreters/dzaima-apl {
buildNativeImage = false;
stdenv = stdenvNoCC;
jdk = jre;
};
dapl-native = callPackage ../development/interpreters/dzaima-apl {
buildNativeImage = true;
jdk = graalvmPackages.graalvm-ce;
};
gnucap-full = gnucap.withPlugins (p: [ p.verilog ]);
gnugrep = callPackage ../tools/text/gnugrep { };
gnupatch = callPackage ../tools/text/gnupatch { };
gnupg1compat = callPackage ../tools/security/gnupg/1compat.nix { };
gnupg1 = gnupg1compat; # use config.packageOverrides if you prefer original gnupg1
gnupg24 = callPackage ../tools/security/gnupg/24.nix {
pinentry = if stdenv.hostPlatform.isDarwin then pinentry_mac else pinentry-gtk2;
};
gnupg = gnupg24;
gnuplot = libsForQt5.callPackage ../tools/graphics/gnuplot { };
gnuplot_qt = gnuplot.override { withQt = true; };
# must have AquaTerm installed separately
gnuplot_aquaterm = gnuplot.override { aquaterm = true; };
gnused = callPackage ../tools/text/gnused { };
gnutar = callPackage ../tools/archivers/gnutar { };
inherit (callPackage ../development/tools/godot { })
godot3
godot3-export-templates
godot3-headless
godot3-debug-server
godot3-server
godot3-mono
godot3-mono-export-templates
godot3-mono-headless
godot3-mono-debug-server
godot3-mono-server
godotPackages_4_3
godotPackages_4_4
godotPackages_4_5
godotPackages_4_6
godotPackages_4
godotPackages
godot_4_3
godot_4_3-mono
godot_4_3-export-templates-bin
godot_4_4
godot_4_4-mono
godot_4_4-export-templates-bin
godot_4_5
godot_4_5-mono
godot_4_5-export-templates-bin
godot_4_6
godot_4_6-mono
godot_4_6-export-templates-bin
godot_4
godot_4-mono
godot_4-export-templates-bin
godot
godot-mono
godot-export-templates-bin
;
goattracker-stereo = callPackage ../by-name/go/goattracker/package.nix {
isStereo = true;
};
google-cloud-sdk-gce = google-cloud-sdk.override {
with-gce = true;
};
google-compute-engine = with python3.pkgs; toPythonApplication google-compute-engine;
gparted-full = gparted.override { withAllTools = true; };
gdown = with python3Packages; toPythonApplication gdown;
gpt4all-cuda = gpt4all.override {
cudaSupport = true;
};
gprof2dot = with python3Packages; toPythonApplication gprof2dot;
grails = callPackage ../development/web/grails { jdk = null; };
graylog-6_0 = callPackage ../tools/misc/graylog/6.0.nix { };
inherit
({
graylog-6_1 = callPackage ../tools/misc/graylog/6.1.nix { };
})
graylog-6_1
;
graylogPlugins = recurseIntoAttrs (
callPackage ../tools/misc/graylog/plugins.nix { graylogPackage = graylog-6_0; }
);
graphviz = callPackage ../tools/graphics/graphviz { };
graphviz-nox = callPackage ../tools/graphics/graphviz {
withXorg = false;
};
grub2 = callPackage ../tools/misc/grub/default.nix { };
grub2_efi = grub2.override {
efiSupport = true;
};
grub2_ieee1275 = grub2.override {
ieee1275Support = true;
};
grub2_light = grub2.override {
zfsSupport = false;
};
grub2_xen = grub2.override {
xenSupport = true;
};
grub2_xen_pvh = grub2.override {
xenPvhSupport = true;
};
grub2_pvgrub_image = grub2_pvhgrub_image.override {
grubPlatform = "xen";
};
gruut = with python3.pkgs; toPythonApplication gruut;
gruut-ipa = with python3.pkgs; toPythonApplication gruut-ipa;
gup = callPackage ../development/tools/build-managers/gup { };
gvm-tools = with python3.pkgs; toPythonApplication gvm-tools;
gzip = callPackage ../tools/compression/gzip { };
haskell-language-server =
callPackage ../development/tools/haskell/haskell-language-server/withWrapper.nix
{ };
hassil = with python3Packages; toPythonApplication hassil;
haste-client = callPackage ../tools/misc/haste-client { };
hareThirdParty = recurseIntoAttrs (callPackage ./hare-third-party.nix { });
hdf5 = callPackage ../tools/misc/hdf5 {
fortranSupport = false;
fortran = gfortran;
};
hdf5_1_10 = callPackage ../tools/misc/hdf5/1.10.nix { };
hdf5-mpi = hdf5.override {
mpiSupport = true;
cppSupport = false;
};
hdf5-cpp = hdf5.override { cppSupport = true; };
hdf5-fortran = hdf5.override { fortranSupport = true; };
hdf5-fortran-mpi = hdf5.override {
fortranSupport = true;
mpiSupport = true;
cppSupport = false;
};
hdf5-threadsafe = hdf5.override {
cppSupport = false;
threadsafe = true;
};
highlight = callPackage ../tools/text/highlight {
lua = lua5;
};
host = bind.host;
hotdoc = python3Packages.callPackage ../development/tools/hotdoc { };
hpccm = with python3Packages; toPythonApplication hpccm;
html-proofer = callPackage ../tools/misc/html-proofer { };
httpie = with python3Packages; toPythonApplication httpie;
hue-plus = libsForQt5.callPackage ../applications/misc/hue-plus { };
humanfriendly = with python3Packages; toPythonApplication humanfriendly;
hw-probe = perlPackages.callPackage ../tools/system/hw-probe { };
hyphen = callPackage ../development/libraries/hyphen { };
hyphenDicts = recurseIntoAttrs (callPackages ../development/libraries/hyphen/dictionaries.nix { });
icepeak = haskell.lib.compose.justStaticExecutables haskellPackages.icepeak;
ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
inherit (haskellPackages) ghcWithPackages;
jupyter = python3.withPackages (ps: [
ps.jupyter
ps.notebook
]);
packages = config.ihaskell.packages or (_: [ ]);
};
ilspycmd = callPackage ../development/tools/ilspycmd {
inherit (darwin) autoSignDarwinBinariesHook;
};
incus-lts = callPackage ../by-name/in/incus/lts.nix { };
indexed-bzip2 = with python3Packages; toPythonApplication indexed-bzip2;
infisical = callPackage ../development/tools/infisical { };
input-remapper = python3Packages.callPackage ../tools/inputmethods/input-remapper { };
internetarchive = with python3Packages; toPythonApplication internetarchive;
iocextract = with python3Packages; toPythonApplication iocextract;
iocsearcher = with python3Packages; toPythonApplication iocsearcher;
iperf2 = callPackage ../tools/networking/iperf/2.nix { };
iperf3 = callPackage ../tools/networking/iperf/3.nix { };
iperf = iperf3;
i-pi = with python3Packages; toPythonApplication i-pi;
# ipscan is commonly known under the name angryipscanner
angryipscanner = ipscan;
inherit
(rec {
isl = isl_0_20;
isl_0_20 = callPackage ../development/libraries/isl/0.20.0.nix { };
isl_0_23 = callPackage ../development/libraries/isl/0.23.0.nix { };
isl_0_27 = callPackage ../development/libraries/isl/0.27.0.nix { };
})
isl
isl_0_20
isl_0_23
isl_0_27
;
jamesdsp-pulse = callPackage ../by-name/ja/jamesdsp/package.nix {
usePipewire = false;
usePulseaudio = true;
};
jc = with python3Packages; toPythonApplication jc;
jello = with python3Packages; toPythonApplication jello;
jl = haskellPackages.jl;
jkqtplotter = callPackage ../development/libraries/jkqtplotter { };
jpylyzer = with python3Packages; toPythonApplication jpylyzer;
jsbeautifier = with python3Packages; toPythonApplication jsbeautifier;
json-schema-for-humans = with python3Packages; toPythonApplication json-schema-for-humans;
jupyter = callPackage ../applications/editors/jupyter { };
jupyter-all = jupyter.override {
definitions = {
clojure = clojupyter.definition;
octave = octave-kernel.definition;
# wolfram = wolfram-for-jupyter-kernel.definition; # unfree
};
};
jupyter-console = callPackage ../applications/editors/jupyter/console.nix { };
jupyter-kernel = callPackage ../applications/editors/jupyter/kernel.nix { };
wrapKakoune =
kakoune: attrs:
callPackage ../applications/editors/kakoune/wrapper.nix (attrs // { inherit kakoune; });
kakounePlugins = recurseIntoAttrs (callPackage ../applications/editors/kakoune/plugins { });
kakoune-unwrapped = callPackage ../applications/editors/kakoune { };
kakoune = wrapKakoune kakoune-unwrapped {
plugins = [ ]; # override with the list of desired plugins
};
kakouneUtils = callPackage ../applications/editors/kakoune/plugins/kakoune-utils.nix { };
kaffeine = libsForQt5.callPackage ../applications/video/kaffeine { };
keepkey-agent = with python3Packages; toPythonApplication keepkey-agent;
keybase = callPackage ../tools/security/keybase { };
kbfs = callPackage ../tools/security/keybase/kbfs.nix { };
kbdVlock = callPackage ../../pkgs/by-name/kb/kbd/package.nix { withVlock = true; };
keybase-gui = callPackage ../tools/security/keybase/gui.nix { };
krunvm = callPackage ../applications/virtualization/krunvm {
inherit (darwin) sigtool;
};
kronometer = libsForQt5.callPackage ../tools/misc/kronometer { };
kwalletcli = libsForQt5.callPackage ../tools/security/kwalletcli { };
ksmoothdock = libsForQt5.callPackage ../applications/misc/ksmoothdock { };
limine-full = limine.override { enableAll = true; };
loganalyzer = libsForQt5.callPackage ../development/tools/loganalyzer { };
logstash7 = callPackage ../tools/misc/logstash/7.x.nix {
# https://www.elastic.co/support/matrix#logstash-and-jvm
jre = jdk11_headless;
};
logstash7-oss = callPackage ../tools/misc/logstash/7.x.nix {
enableUnfree = false;
# https://www.elastic.co/support/matrix#logstash-and-jvm
jre = jdk11_headless;
};
logstash = logstash7;
logstash-contrib = callPackage ../tools/misc/logstash/contrib.nix { };
lsyncd = callPackage ../applications/networking/sync/lsyncd {
lua = lua5_2_compat;
};
kristall = libsForQt5.callPackage ../applications/networking/browsers/kristall { };
lagrange-tui = lagrange.override { enableTUI = true; };
kzipmix = pkgsi686Linux.callPackage ../tools/compression/kzipmix { };
matrix-synapse-plugins = recurseIntoAttrs matrix-synapse-unwrapped.plugins;
maubot = with python3Packages; toPythonApplication maubot;
m2r = with python3Packages; toPythonApplication m2r;
md2gemini = with python3.pkgs; toPythonApplication md2gemini;
mdcat = callPackage ../tools/text/mdcat {
inherit (python3Packages) ansi2html;
};
medfile = callPackage ../development/libraries/medfile {
hdf5 = hdf5.override { usev110Api = true; };
};
mhonarc = perlPackages.MHonArc;
nanoemoji = with python3Packages; toPythonApplication nanoemoji;
netdata = callPackage ../tools/system/netdata {
protobuf = protobuf_21;
};
netdataCloud = netdata.override {
withCloudUi = true;
};
nyxt = callPackage ../applications/networking/browsers/nyxt {
sbcl = sbcl_2_4_6;
inherit (gst_all_1)
gstreamer
gst-libav
gst-plugins-base
gst-plugins-good
gst-plugins-bad
gst-plugins-ugly
;
};
nixnote2 = libsForQt5.callPackage ../applications/misc/nixnote2 { };
nodejs = nodejs_24;
nodejs-slim = nodejs-slim_24;
nodejs-slim_20 = callPackage ../development/web/nodejs/v20.nix { };
nodejs_20 = callPackage ../development/web/nodejs/symlink.nix { nodejs-slim = nodejs-slim_20; };
corepack_20 = callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs-slim_20; };
nodejs-slim_22 = callPackage ../development/web/nodejs/v22.nix { };
nodejs_22 = callPackage ../development/web/nodejs/symlink.nix { nodejs-slim = nodejs-slim_22; };
corepack_22 = callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs-slim_22; };
nodejs-slim_24 = callPackage ../development/web/nodejs/v24.nix { };
nodejs_24 = callPackage ../development/web/nodejs/symlink.nix { nodejs-slim = nodejs-slim_24; };
corepack_24 = callPackage ../development/web/nodejs/corepack.nix { nodejs = nodejs-slim_24; };
nodejs-slim_25 = callPackage ../development/web/nodejs/v25.nix { };
nodejs_25 = callPackage ../development/web/nodejs/symlink.nix { nodejs-slim = nodejs-slim_25; };
# Update this when adding the newest nodejs major version!
nodejs_latest = nodejs_25;
nodejs-slim_latest = nodejs-slim_25;
buildNpmPackage = callPackage ../build-support/node/build-npm-package { };
npmHooks = recurseIntoAttrs (callPackage ../build-support/node/build-npm-package/hooks { });
inherit (callPackages ../build-support/node/prefetch-npm-deps { })
fetchNpmDeps
prefetch-npm-deps
;
importNpmLock = callPackages ../build-support/node/import-npm-lock { };
nodePackages_latest = recurseIntoAttrs nodejs_latest.pkgs;
nodePackages = recurseIntoAttrs nodejs.pkgs;
node2nix = nodePackages.node2nix;
ldapdomaindump = with python3Packages; toPythonApplication ldapdomaindump;
leanblueprint = with python3Packages; toPythonApplication leanblueprint;
inherit (callPackage ../development/tools/lerna { })
lerna_6
lerna_8
;
lerna = lerna_8;
libint = callPackage ../development/libraries/libint { };
libintPsi4 = callPackage ../development/libraries/libint {
enableFortran = false;
enableSSE = false;
maxAm = 6;
eriDeriv = 2;
eri3Deriv = 2;
eri2Deriv = 2;
eriAm = [
6
5
4
];
eri3Am = [
6
5
4
];
eri2Am = [
6
5
4
];
eriOptAm = [
3
2
2
];
eri3OptAm = [
3
2
2
];
eri2OptAm = [
3
2
2
];
enableOneBody = true;
oneBodyDerivOrd = 2;
enableGeneric = false;
enableContracted = false;
cartGaussOrd = "standard";
shGaussOrd = "gaussian";
eri2PureSh = false;
eri3PureSh = false;
};
libirc = libsForQt5.callPackage ../development/libraries/libirc { };
libportal-gtk3 = libportal.override { variant = "gtk3"; };
libportal-gtk4 = libportal.override { variant = "gtk4"; };
libportal-qt5 = libportal.override { variant = "qt5"; };
libportal-qt6 = libportal.override { variant = "qt6"; };
librest = callPackage ../development/libraries/librest { };
librest_1_0 = callPackage ../development/libraries/librest/1.0.nix { };
licensee = callPackage ../tools/package-management/licensee { };
inherit
({
limesuite = callPackage ../applications/radio/limesuite {
};
limesuiteWithGui = limesuite.override {
withGui = true;
};
})
limesuite
limesuiteWithGui
;
linux-gpib = callPackage ../applications/science/electronics/linux-gpib/user.nix { };
liquidctl = with python3Packages; toPythonApplication liquidctl;
xz = callPackage ../tools/compression/xz { };
madlang = haskell.lib.compose.justStaticExecutables haskellPackages.madlang;
man = man-db;
marimo = with python3Packages; toPythonApplication marimo;
mcstatus = with python3Packages; toPythonApplication mcstatus;
miniupnpd = callPackage ../tools/networking/miniupnpd { };
miniupnpd-nftables = callPackage ../tools/networking/miniupnpd { firewall = "nftables"; };
mir-qualia = callPackage ../tools/text/mir-qualia {
pythonPackages = python3Packages;
};
mitmproxy = with python3Packages; toPythonApplication mitmproxy;
mjpegtoolsFull = mjpegtools.override {
withMinimal = false;
};
mkpasswd = hiPrio (callPackage ../tools/security/mkpasswd { });
molecule = with python3Packages; toPythonApplication molecule;
moreutils = callPackage ../tools/misc/moreutils {
docbook-xsl = docbook_xsl;
};
metasploit = callPackage ../tools/security/metasploit { };
mtr = callPackage ../tools/networking/mtr { };
mtr-gui = callPackage ../tools/networking/mtr { withGtk = true; };
multitran = recurseIntoAttrs (
let
callPackage = newScope pkgs.multitran;
in
{
multitrandata = callPackage ../tools/text/multitran/data { };
libbtree = callPackage ../tools/text/multitran/libbtree { };
libmtsupport = callPackage ../tools/text/multitran/libmtsupport { };
libfacet = callPackage ../tools/text/multitran/libfacet { };
libmtquery = callPackage ../tools/text/multitran/libmtquery { };
mtutils = callPackage ../tools/text/multitran/mtutils { };
}
);
mytetra = libsForQt5.callPackage ../applications/office/mytetra { };
nerd-fonts = recurseIntoAttrs (callPackage ../data/fonts/nerd-fonts { });
maple-mono = recurseIntoAttrs (callPackage ../data/fonts/maple-font { });
netcdf-mpi = netcdf.override {
hdf5 = hdf5-mpi.override { usev110Api = true; };
};
# Not in aliases because it wouldn't get picked up by callPackage
netbox = netbox_4_4;
netcap-nodpi = callPackage ../by-name/ne/netcap/package.nix {
withDpi = false;
};
netcat = libressl.nc.overrideAttrs (old: {
meta = old.meta // {
description = "Utility which reads and writes data across network connections LibreSSL implementation";
mainProgram = "nc";
};
});
libnma-gtk4 = libnma.override { withGtk4 = true; };
inherit (callPackages ../servers/nextcloud { })
nextcloud32
nextcloud33
;
nextcloud32Packages = callPackage ../servers/nextcloud/packages { ncVersion = "32"; };
nextcloud33Packages = callPackage ../servers/nextcloud/packages { ncVersion = "33"; };
nextcloud-notify_push = callPackage ../servers/nextcloud/notify_push.nix { };
inherit (callPackages ../applications/networking/cluster/nomad { })
nomad
nomad_1_9
nomad_1_10
nomad_1_11
;
nth = with python3Packages; toPythonApplication name-that-hash;
nvchecker =
with python3Packages;
toPythonApplication (
nvchecker.overridePythonAttrs (oldAttrs: {
propagatedBuildInputs =
oldAttrs.dependencies ++ lib.concatAttrValues oldAttrs.optional-dependencies;
})
);
nvfetcher = haskell.lib.compose.justStaticExecutables haskellPackages.nvfetcher;
op-geth = callPackage ../applications/blockchains/optimism/geth.nix { };
optimism = callPackage ../applications/blockchains/optimism { };
pandoc-acro = python3Packages.callPackage ../tools/misc/pandoc-acro { };
pandoc-imagine = python3Packages.callPackage ../tools/misc/pandoc-imagine { };
pandoc-include = python3Packages.callPackage ../tools/misc/pandoc-include { };
pandoc-drawio-filter = python3Packages.callPackage ../tools/misc/pandoc-drawio-filter { };
pandoc-plantuml-filter = python3Packages.callPackage ../tools/misc/pandoc-plantuml-filter { };
# pandoc-*nos is a filter suite, where pandoc-xnos has all functionality and the others are used for only specific functionality
pandoc-eqnos = python3Packages.callPackage ../tools/misc/pandoc-eqnos { };
pandoc-fignos = python3Packages.callPackage ../tools/misc/pandoc-fignos { };
pandoc-secnos = python3Packages.callPackage ../tools/misc/pandoc-secnos { };
pandoc-tablenos = python3Packages.callPackage ../tools/misc/pandoc-tablenos { };
pgbadger = perlPackages.callPackage ../tools/misc/pgbadger { };
nifskope = libsForQt5.callPackage ../tools/graphics/nifskope { };
nsjail = callPackage ../tools/security/nsjail {
protobuf = protobuf_21;
};
# ntfsprogs are merged into ntfs-3g
ntfsprogs = pkgs.ntfs3g;
nwdiag = with python3Packages; toPythonApplication nwdiag;
ofono-phonesim = libsForQt5.callPackage ../development/tools/ofono-phonesim { };
ola = callPackage ../applications/misc/ola {
protobuf = protobuf_21;
};
ome_zarr = with python3Packages; toPythonApplication ome-zarr;
ophcrack-cli = ophcrack.override { enableGui = false; };
open-interpreter = with python3Packages; toPythonApplication open-interpreter;
openhantek6022 = libsForQt5.callPackage ../applications/science/electronics/openhantek6022 { };
openmvs = callPackage ../applications/science/misc/openmvs {
inherit (llvmPackages) openmp;
};
openntpd_nixos = openntpd.override {
privsepUser = "ntp";
privsepPath = "/var/empty";
};
openrgb-with-all-plugins = openrgb.withPlugins [
openrgb-plugin-effects
openrgb-plugin-hardwaresync
];
opensshPackages = dontRecurseIntoAttrs (callPackage ../tools/networking/openssh { });
openssh = opensshPackages.openssh.override {
etcDir = "/etc/ssh";
};
opensshTest = openssh.tests.openssh;
opensshWithKerberos = openssh.override {
withKerberos = true;
};
openssh_hpn = opensshPackages.openssh_hpn.override {
etcDir = "/etc/ssh";
};
openssh_hpnWithKerberos = openssh_hpn.override {
withKerberos = true;
};
openssh_gssapi = opensshPackages.openssh_gssapi.override {
etcDir = "/etc/ssh";
withKerberos = true;
};
ssh-copy-id = callPackage ../tools/networking/openssh/copyid.nix { };
sshd-openpgp-auth = callPackage ../by-name/ss/ssh-openpgp-auth/daemon.nix { };
openvpn = callPackage ../tools/networking/openvpn { };
openvpn_learnaddress = callPackage ../tools/networking/openvpn/openvpn_learnaddress.nix { };
openvpn-auth-ldap = callPackage ../tools/networking/openvpn/openvpn-auth-ldap.nix {
inherit (llvmPackages) stdenv;
};
namespaced-openvpn = python3Packages.callPackage ../tools/networking/namespaced-openvpn { };
update-dotdee = with python3Packages; toPythonApplication update-dotdee;
update-nix-fetchgit = haskell.lib.compose.justStaticExecutables haskellPackages.update-nix-fetchgit;
update-resolv-conf = callPackage ../tools/networking/openvpn/update-resolv-conf.nix { };
update-systemd-resolved = callPackage ../tools/networking/openvpn/update-systemd-resolved.nix { };
opentelemetry-collector = opentelemetry-collector-releases.otelcol;
opentelemetry-collector-builder = callPackage ../tools/misc/opentelemetry-collector/builder.nix { };
opentelemetry-collector-contrib = opentelemetry-collector-releases.otelcol-contrib;
opentelemetry-collector-releases =
callPackage ../tools/misc/opentelemetry-collector/releases.nix
{ };
openvswitch-dpdk = callPackage ../by-name/op/openvswitch/package.nix { withDPDK = true; };
optifinePackages = callPackage ../tools/games/minecraft/optifine { };
optifine = optifinePackages.optifine-latest;
opl3bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor { };
opn2bankeditor = libsForQt5.callPackage ../tools/audio/opl3bankeditor/opn2bankeditor.nix { };
p4c = callPackage ../development/compilers/p4c {
protobuf = protobuf_21;
};
packagekit = callPackage ../tools/package-management/packagekit { };
pakcs = callPackage ../development/compilers/pakcs { };
paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { };
patchutils = callPackage ../tools/text/patchutils { };
patchutils_0_3_3 = callPackage ../tools/text/patchutils/0.3.3.nix { };
patchutils_0_4_2 = callPackage ../tools/text/patchutils/0.4.2.nix { };
inherit (import ../servers/sql/percona-server pkgs)
percona-server_8_0
percona-server_8_4
percona-server
;
inherit (import ../tools/backup/percona-xtrabackup pkgs)
percona-xtrabackup_8_0
percona-xtrabackup_8_4
percona-xtrabackup
;
pulumiPackages = recurseIntoAttrs pulumi.pkgs;
py3dtiles = with python3Packages; toPythonApplication py3dtiles;
patch = gnupatch;
pcscliteWithPolkit = pcsclite.override {
pname = "pcsclite-with-polkit";
polkitSupport = true;
};
pdd = python3Packages.callPackage ../tools/misc/pdd { };
pdfminer = with python3Packages; toPythonApplication pdfminer-six;
pdfium-binaries-v8 = pdfium-binaries.override { withV8 = true; };
pdsh = callPackage ../tools/networking/pdsh {
rsh = true; # enable internal rsh implementation
ssh = openssh;
};
phosh = callPackage ../applications/window-managers/phosh { };
phosh-mobile-settings =
callPackage ../applications/window-managers/phosh/phosh-mobile-settings.nix
{ };
inherit (callPackages ../tools/security/pinentry { })
pinentry-curses
pinentry-emacs
pinentry-gtk2
pinentry-gnome3
pinentry-qt
pinentry-tty
pinentry-all
;
pinentry_mac = callPackage ../tools/security/pinentry/mac.nix { };
plan9port = callPackage ../tools/system/plan9port {
inherit (darwin) DarwinTools;
};
platformio = if stdenv.hostPlatform.isLinux then platformio-chrootenv else platformio-core;
playwright = playwright-driver;
playwright-driver = (callPackage ../development/web/playwright/driver.nix { }).playwright-core;
playwright-test = (callPackage ../development/web/playwright/driver.nix { }).playwright-test;
tabview = with python3Packages; toPythonApplication tabview;
tdarrPackages = callPackage ../tools/misc/tdarr { };
tdarr-server = tdarrPackages.server;
tdarr-node = tdarrPackages.node;
inherit (callPackage ../development/tools/pnpm { })
pnpm_8
pnpm_9
pnpm_10
;
pnpm = pnpm_10;
inherit (callPackages ../build-support/node/fetch-pnpm-deps { })
fetchPnpmDeps
pnpmConfigHook
;
po4a = perlPackages.Po4a;
proxmark3 = libsForQt5.callPackage ../tools/security/proxmark3/default.nix { };
pycflow2dot = with python3.pkgs; toPythonApplication pycflow2dot;
pyinfra = with python3Packages; toPythonApplication pyinfra;
pylint = with python3Packages; toPythonApplication pylint;
pyocd = with python3Packages; toPythonApplication pyocd;
pypass = with python3Packages; toPythonApplication pypass;
pydeps = with python3Packages; toPythonApplication pydeps;
remarshal = with python3Packages; toPythonApplication remarshal;
riseup-vpn = qt6Packages.callPackage ../tools/networking/bitmask-vpn {
provider = "riseup";
};
rocket = libsForQt5.callPackage ../tools/graphics/rocket { };
rtaudio = rtaudio_5;
mpi = openmpi; # this attribute should used to build MPI applications
openmodelica = recurseIntoAttrs (callPackage ../applications/science/misc/openmodelica { });
qarte = libsForQt5.callPackage ../applications/video/qarte { };
qlcplus = libsForQt5.callPackage ../applications/misc/qlcplus { };
qjoypad = libsForQt5.callPackage ../tools/misc/qjoypad { };
qmarkdowntextedit = libsForQt5.callPackage ../development/libraries/qmarkdowntextedit { };
qtspim = libsForQt5.callPackage ../development/tools/misc/qtspim { };
quota = if stdenv.hostPlatform.isLinux then linuxquota else unixtools.quota;
radeon-profile = libsForQt5.callPackage ../tools/misc/radeon-profile { };
rainbowstream = with python3.pkgs; toPythonApplication rainbowstream;
rapidgzip = with python3Packages; toPythonApplication rapidgzip;
ratarmount = with python3Packages; toPythonApplication ratarmount;
inherit (callPackage ../tools/security/rekor { })
rekor-cli
rekor-server
;
rst2pdf = with python3Packages; toPythonApplication rst2pdf;
rstcheck = with python3Packages; toPythonApplication rstcheck;
rstcheckWithSphinx = rstcheck.overridePythonAttrs (oldAttrs: {
dependencies = oldAttrs.dependencies ++ oldAttrs.optional-dependencies.sphinx;
});
rtmpdump_gnutls = rtmpdump.override {
gnutlsSupport = true;
opensslSupport = false;
};
qt-box-editor = libsForQt5.callPackage ../applications/misc/qt-box-editor { };
recoll = libsForQt5.callPackage ../applications/search/recoll { };
recoll-nox = recoll.override { withGui = false; };
remote-exec = python3Packages.callPackage ../tools/misc/remote-exec { };
reptor = with python3.pkgs; toPythonApplication reptor;
rescuetime = libsForQt5.callPackage ../applications/misc/rescuetime { };
inherit (callPackage ../development/misc/resholve { })
resholve
;
reuse = with python3.pkgs; toPythonApplication reuse;
rmate = rubyPackages.rmate;
rmlint = callPackage ../tools/misc/rmlint {
inherit (python3Packages) sphinx;
};
rpm = callPackage ../tools/package-management/rpm {
lua = lua5_4;
};
rsibreak = libsForQt5.callPackage ../applications/misc/rsibreak { };
rubocop = rubyPackages.rubocop;
ruby-lsp = rubyPackages.ruby-lsp;
s3cmd = python3Packages.callPackage ../tools/networking/s3cmd { };
s3-credentials = with python3Packages; toPythonApplication s3-credentials;
safety-cli = with python3.pkgs; toPythonApplication safety;
sasview = callPackage ../applications/science/misc/sasview { };
segger-jlink-headless = callPackage ../by-name/se/segger-jlink/package.nix { headless = true; };
semgrep = python3.pkgs.toPythonApplication python3.pkgs.semgrep;
inherit (semgrep.passthru) semgrep-core;
seqdiag = with python3Packages; toPythonApplication seqdiag;
shellify = haskellPackages.shellify.bin;
shiv = with python3Packages; toPythonApplication shiv;
slither-analyzer = with python3Packages; toPythonApplication slither-analyzer;
# aka., pgp-tools
simplescreenrecorder = libsForQt5.callPackage ../applications/video/simplescreenrecorder { };
snapcast = callPackage ../applications/audio/snapcast {
pulseaudioSupport = config.pulseaudio or stdenv.hostPlatform.isLinux;
};
specup = haskellPackages.specup.bin;
spglib = callPackage ../development/libraries/spglib {
inherit (llvmPackages) openmp;
};
# to match naming of other package repositories
spire-agent = spire.agent;
spire-server = spire.server;
spoof-mac = python3Packages.callPackage ../tools/networking/spoof-mac { };
stirling-pdf = callPackage ../by-name/st/stirling-pdf/package.nix {
isDesktopVariant = false;
};
stirling-pdf-desktop = callPackage ../by-name/st/stirling-pdf/package.nix {
isDesktopVariant = true;
};
stm32loader = with python3Packages; toPythonApplication stm32loader;
solc-select = with python3Packages; toPythonApplication solc-select;
splot = haskell.lib.compose.justStaticExecutables haskellPackages.splot;
sshfs = sshfs-fuse; # added 2017-08-14
inherit (callPackages ../tools/misc/sshx { })
sshx
sshx-server
;
strip-nondeterminism = perlPackages.strip-nondeterminism;
subsurface = libsForQt5.callPackage ../applications/misc/subsurface { };
sumorobot-manager =
python3Packages.callPackage ../applications/science/robotics/sumorobot-manager
{ };
sslscan = callPackage ../tools/security/sslscan {
openssl = openssl.override { withZlib = true; };
};
staticjinja = with python3.pkgs; toPythonApplication staticjinja;
stoken = callPackage ../tools/security/stoken (config.stoken or { });
stutter = haskell.lib.compose.justStaticExecutables haskellPackages.stutter;
strongswanTNC = strongswan.override { enableTNC = true; };
strongswanTPM = strongswan.override { enableTPM2 = true; };
strongswanNM = strongswan.override { enableNetworkManager = true; };
stylish-haskell = haskell.lib.compose.justStaticExecutables haskellPackages.stylish-haskell;
su = shadow.su;
subzerod = with python3Packages; toPythonApplication subzerod;
system-config-printer = callPackage ../tools/misc/system-config-printer {
libxml2 = libxml2Python;
};
privoxy = callPackage ../tools/networking/privoxy {
w3m = w3m-batch;
};
tartube = callPackage ../applications/video/tartube { };
tartube-yt-dlp = callPackage ../applications/video/tartube {
youtube-dl = yt-dlp;
};
teamviewer = libsForQt5.callPackage ../applications/networking/remote/teamviewer { };
buildTeleport = callPackage ../build-support/teleport { };
telepresence = callPackage ../tools/networking/telepresence {
pythonPackages = python3Packages;
};
texmacs = libsForQt5.callPackage ../applications/editors/texmacs {
extraFonts = true;
};
tiled = libsForQt5.callPackage ../applications/editors/tiled { };
tinc = callPackage ../tools/networking/tinc { };
tinc_pre = callPackage ../tools/networking/tinc/pre.nix { };
tldr-hs = haskellPackages.tldr;
tmuxPlugins = recurseIntoAttrs (callPackage ../misc/tmux-plugins { });
tpm2-totp-with-plymouth = tpm2-totp.override {
withPlymouth = true;
};
trackma-curses = trackma.override { withCurses = true; };
trackma-gtk = trackma.override { withGTK = true; };
trackma-qt = trackma.override { withQT = true; };
trezorctl =
with python3Packages;
toPythonApplication (
trezor.overridePythonAttrs (oldAttrs: {
dependencies = oldAttrs.dependencies ++ oldAttrs.optional-dependencies.full;
})
);
trezor-agent = with python3Packages; toPythonApplication trezor-agent;
ttp = with python3.pkgs; toPythonApplication ttp;
trace-cmd = callPackage ../os-specific/linux/trace-cmd { };
translatelocally-models = recurseIntoAttrs (callPackages ../misc/translatelocally-models { });
translatepy = with python3.pkgs; toPythonApplication translatepy;
trytond = with python3Packages; toPythonApplication trytond;
ttfautohint-nox = ttfautohint.override { enableGUI = false; };
twilight = callPackage ../tools/graphics/twilight { };
twitch-chat-downloader =
python3Packages.callPackage ../applications/misc/twitch-chat-downloader
{ };
uftraceFull = uftrace.override {
withLuaJIT = true;
withPython = true;
};
unrpa = with python3Packages; toPythonApplication unrpa;
usort = with python3Packages; toPythonApplication usort;
vacuum = libsForQt5.callPackage ../applications/networking/instant-messengers/vacuum { };
vimpager = callPackage ../tools/misc/vimpager { };
vimpager-latest = callPackage ../tools/misc/vimpager/latest.nix { };
vimwiki-markdown = python3Packages.callPackage ../tools/misc/vimwiki-markdown { };
vkbasalt = callPackage ../tools/graphics/vkbasalt {
vkbasalt32 = pkgsi686Linux.vkbasalt;
};
voxtype-vulkan = callPackage ../by-name/vo/voxtype/package.nix { vulkanSupport = true; };
voxtype-onnx = callPackage ../by-name/vo/voxtype/package.nix { onnxSupport = true; };
vpn-slice = python3Packages.callPackage ../tools/networking/vpn-slice { };
openconnectPackages = callPackage ../tools/networking/openconnect { };
inherit (openconnectPackages) openconnect openconnect_openssl;
globalprotect-openconnect =
libsForQt5.callPackage ../tools/networking/globalprotect-openconnect
{ };
buildWasmBindgenCli = callPackage ../build-support/wasm-bindgen-cli { };
woodpecker-agent = callPackage ../development/tools/continuous-integration/woodpecker/agent.nix { };
woodpecker-cli = callPackage ../development/tools/continuous-integration/woodpecker/cli.nix { };
woodpecker-server =
callPackage ../development/tools/continuous-integration/woodpecker/server.nix
{ };
testdisk = libsForQt5.callPackage ../tools/system/testdisk { };
testdisk-qt = testdisk.override { enableQt = true; };
tweet-hs = haskell.lib.compose.justStaticExecutables haskellPackages.tweet-hs;
truecrack-cuda = truecrack.override { cudaSupport = true; };
unbound-with-systemd = unbound.override {
withSystemd = true;
};
unbound-full = unbound.override {
python = python3;
withSystemd = true;
withDynlibModule = true;
withPythonModule = true;
withDoH = true;
withECS = true;
withDNSCrypt = true;
withDNSTAP = true;
withTFO = true;
withRedis = true;
};
unzipNLS = lowPrio (unzip.override { enableNLS = true; });
inherit (callPackages ../servers/varnish { })
varnish60
varnish77
;
inherit (callPackages ../servers/varnish/packages.nix { })
varnish60Packages
varnish77Packages
;
varnishPackages = varnish77Packages;
varnish = varnishPackages.varnish;
vncdo = with python3Packages; toPythonApplication vncdo;
# An alias to work around the splicing incidents
# Related:
# https://github.com/NixOS/nixpkgs/issues/204303
# https://github.com/NixOS/nixpkgs/issues/211340
# https://github.com/NixOS/nixpkgs/issues/227327
wafHook = waf.hook;
wyrd = callPackage ../tools/misc/wyrd {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
# A minimal xar is needed to break an infinite recursion between macfuse-stubs and xar.
# It is also needed to reduce the amount of unnecessary stuff in the Darwin bootstrap.
xarMinimal = callPackage ../by-name/xa/xar/package.nix { e2fsprogs = null; };
xdot = with python3Packages; toPythonApplication xdot;
libxfs = xfsprogs.dev;
xorriso = libisoburn;
xvfb-run = callPackage ../tools/misc/xvfb-run {
inherit (texFunctions) fontsConf;
};
yapf = with python3Packages; toPythonApplication yapf;
yarn-berry_4 = yarn-berry.override { berryVersion = 4; };
yarn-berry_4-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher {
yarn-berry = yarn-berry_4;
};
yarn-berry_3 = yarn-berry.override { berryVersion = 3; };
yarn-berry_3-fetcher = callPackage ../by-name/ya/yarn-berry/fetcher {
yarn-berry = yarn-berry_3;
};
yarn2nix-moretea = callPackage ../development/tools/yarn2nix-moretea { };
inherit (yarn2nix-moretea)
yarn2nix
mkYarnPackage
mkYarnModules
fixup_yarn_lock
;
yamllint = with python3Packages; toPythonApplication yamllint;
# To expose more packages for Yi, override the extraPackages arg.
yi = callPackage ../applications/editors/yi/wrapper.nix { };
zbar = libsForQt5.callPackage ../tools/graphics/zbar { };
# Nvidia support does not require any proprietary libraries, so CI can build it.
# Note that when enabling this unconditionally, non-nvidia users will always have an empty "GPU" section.
zenith-nvidia = zenith.override {
nvidiaSupport = true;
};
zstd = callPackage ../tools/compression/zstd {
cmake = buildPackages.cmakeMinimal;
};
### SHELLS
runtimeShell = "${runtimeShellPackage}${runtimeShellPackage.shellPath}";
runtimeShellPackage = bashNonInteractive;
bash = callPackage ../shells/bash/5.nix { };
bashNonInteractive = lowPrio (
callPackage ../shells/bash/5.nix {
interactive = false;
}
);
# WARNING: this attribute is used by nix-shell so it shouldn't be removed/renamed
bashInteractive = bash;
bashFHS = callPackage ../shells/bash/5.nix {
forFHSEnv = true;
};
bashInteractiveFHS = bashFHS;
wrapFish = callPackage ../shells/fish/wrapper.nix { };
fishPlugins = recurseIntoAttrs (callPackage ../shells/fish/plugins { });
powerline = with python3Packages; toPythonApplication powerline;
### DEVELOPMENT / COMPILERS
temurin-bin-25 = javaPackages.compiler.temurin-bin.jdk-25;
temurin-jre-bin-25 = javaPackages.compiler.temurin-bin.jre-25;
temurin-bin-21 = javaPackages.compiler.temurin-bin.jdk-21;
temurin-jre-bin-21 = javaPackages.compiler.temurin-bin.jre-21;
temurin-bin-17 = javaPackages.compiler.temurin-bin.jdk-17;
temurin-jre-bin-17 = javaPackages.compiler.temurin-bin.jre-17;
temurin-bin-11 = javaPackages.compiler.temurin-bin.jdk-11;
temurin-jre-bin-11 = javaPackages.compiler.temurin-bin.jre-11;
temurin-bin-8 = javaPackages.compiler.temurin-bin.jdk-8;
temurin-jre-bin-8 = javaPackages.compiler.temurin-bin.jre-8;
temurin-bin = temurin-bin-21;
temurin-jre-bin = temurin-jre-bin-21;
semeru-bin-21 = javaPackages.compiler.semeru-bin.jdk-21;
semeru-jre-bin-21 = javaPackages.compiler.semeru-bin.jre-21;
semeru-bin-17 = javaPackages.compiler.semeru-bin.jdk-17;
semeru-jre-bin-17 = javaPackages.compiler.semeru-bin.jre-17;
semeru-bin-11 = javaPackages.compiler.semeru-bin.jdk-11;
semeru-jre-bin-11 = javaPackages.compiler.semeru-bin.jre-11;
semeru-bin-8 = javaPackages.compiler.semeru-bin.jdk-8;
semeru-jre-bin-8 = javaPackages.compiler.semeru-bin.jre-8;
semeru-bin = semeru-bin-21;
semeru-jre-bin = semeru-jre-bin-21;
adaptivecppWithCuda = adaptivecpp.override { cudaSupport = true; };
adaptivecppWithRocm = adaptivecpp.override { rocmSupport = true; };
binaryen = callPackage ../development/compilers/binaryen {
nodejs = nodejs-slim;
inherit (python3Packages) filecheck;
};
codon = callPackage ../development/compilers/codon {
inherit (llvmPackages) lld stdenv;
};
colmapWithCuda = colmap.override { cudaSupport = true; };
opensplatWithRocm = opensplat.override { rocmSupport = true; };
opensplatWithCuda = opensplat.override { cudaSupport = true; };
chickenPackages_4 = recurseIntoAttrs (callPackage ../development/compilers/chicken/4 { });
chickenPackages_5 = recurseIntoAttrs (callPackage ../development/compilers/chicken/5 { });
chickenPackages = dontRecurseIntoAttrs chickenPackages_5;
inherit (chickenPackages_5)
fetchegg
eggDerivation
chicken
egg2nix
;
cdb = callPackage ../development/tools/database/cdb {
stdenv = gccStdenv;
};
libclang = llvmPackages.libclang;
clang-manpages = llvmPackages.clang-manpages;
clang = llvmPackages.clang;
clang-tools = llvmPackages.clang-tools;
clazy = callPackage ../development/tools/analysis/clazy {
stdenv = llvmPackages.stdenv;
};
#Use this instead of stdenv to build with clang
clangStdenv = if stdenv.cc.isClang then stdenv else lowPrio llvmPackages.stdenv;
libcxxStdenv = if stdenv.hostPlatform.isDarwin then stdenv else lowPrio llvmPackages.libcxxStdenv;
comby = callPackage ../development/tools/comby {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
inherit (coqPackages_9_0) compcert;
corretto11 = javaPackages.compiler.corretto11;
corretto17 = javaPackages.compiler.corretto17;
corretto21 = javaPackages.compiler.corretto21;
corretto25 = javaPackages.compiler.corretto25;
inherit (callPackage ../development/compilers/crystal { })
crystal_1_14
crystal_1_15
crystal_1_16
crystal_1_17
crystal_1_18
crystal_1_19
crystal
;
crystalline = callPackage ../development/tools/language-servers/crystalline {
llvmPackages = crystal.llvmPackages;
};
dprint-plugins = recurseIntoAttrs (callPackage ../by-name/dp/dprint/plugins { });
reaction-plugins = reaction.passthru.plugins;
elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix;
elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
fasm = pkgsi686Linux.callPackage ../development/compilers/fasm {
inherit (stdenv.hostPlatform) isx86_64;
};
fasm-bin = callPackage ../development/compilers/fasm/bin.nix { };
fbc =
if stdenv.hostPlatform.isDarwin then
callPackage ../development/compilers/fbc/mac-bin.nix { }
else
callPackage ../development/compilers/fbc { };
filecheck = with python3Packages; toPythonApplication filecheck;
flutterPackages-bin = recurseIntoAttrs (callPackage ../development/compilers/flutter { });
flutterPackages-source = recurseIntoAttrs (
callPackage ../development/compilers/flutter { useNixpkgsEngine = true; }
);
flutterPackages = flutterPackages-bin;
flutter = flutterPackages.stable;
flutter341 = flutterPackages.v3_41;
flutter338 = flutterPackages.v3_38;
flutter335 = flutterPackages.v3_35;
flutter332 = flutterPackages.v3_32;
flutter329 = flutterPackages.v3_29;
fpc = callPackage ../development/compilers/fpc { };
gambit = callPackage ../development/compilers/gambit { };
gambit-unstable = callPackage ../development/compilers/gambit/unstable.nix { };
gambit-support = callPackage ../development/compilers/gambit/gambit-support.nix { };
gerbil = callPackage ../development/compilers/gerbil { };
gerbil-unstable = callPackage ../development/compilers/gerbil/unstable.nix { };
gerbil-support = callPackage ../development/compilers/gerbil/gerbil-support.nix { };
gerbilPackages-unstable = pkgs.gerbil-support.gerbilPackages-unstable; # NB: don't recurseIntoAttrs for (unstable!) libraries
glow-lang = pkgs.gerbilPackages-unstable.glow-lang;
default-gcc-version = 15;
gcc = pkgs.${"gcc${toString default-gcc-version}"};
gccFun = callPackage ../development/compilers/gcc;
gcc-unwrapped = gcc.cc;
inherit
(rec {
# NOTE: keep this with the "NG" label until we're ready to drop the monolithic GCC
gccNGPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/gcc/ng { });
gccNGPackages_15 = gccNGPackagesSet."15";
mkGCCNGPackages = gccNGPackagesSet.mkPackage;
})
gccNGPackages_15
mkGCCNGPackages
;
wrapNonDeterministicGcc =
stdenv: ccWrapper:
if ccWrapper.isGNU then
ccWrapper.overrideAttrs (old: {
env = old.env // {
cc = old.env.cc.override {
reproducibleBuild = false;
profiledCompiler = with stdenv; (!isDarwin && hostPlatform.isx86);
};
};
})
else
ccWrapper;
gnuStdenv =
if stdenv.cc.isGNU then
stdenv
else
gccStdenv.override {
cc = gccStdenv.cc.override {
bintools = buildPackages.binutils;
};
};
gccStdenv =
if stdenv.cc.isGNU then
stdenv
else
stdenv.override {
cc = buildPackages.gcc;
allowedRequisites = null;
# Remove libcxx/libcxxabi, and add clang for AS if on darwin (it uses
# clang's internal assembler).
extraBuildInputs = lib.optional stdenv.hostPlatform.isDarwin clang.cc;
};
gcc13Stdenv = overrideCC gccStdenv buildPackages.gcc13;
gcc14Stdenv = overrideCC gccStdenv buildPackages.gcc14;
gcc15Stdenv = overrideCC gccStdenv buildPackages.gcc15;
# This is not intended for use in nixpkgs but for providing a faster-running
# compiler to nixpkgs users by building gcc with reproducibility-breaking
# profile-guided optimizations
fastStdenv = overrideCC gccStdenv (wrapNonDeterministicGcc gccStdenv buildPackages.gcc_latest);
wrapCCMulti =
cc:
let
# Binutils with glibc multi
bintools = cc.bintools.override {
libc = glibc_multi;
};
in
lowPrio (wrapCCWith {
cc = cc.cc.override {
stdenv = overrideCC stdenv (wrapCCWith {
cc = cc.cc;
inherit bintools;
libc = glibc_multi;
});
profiledCompiler = false;
enableMultilib = true;
};
libc = glibc_multi;
inherit bintools;
extraBuildCommands = ''
echo "dontMoveLib64=1" >> $out/nix-support/setup-hook
'';
});
wrapClangMulti =
clang:
callPackage ../development/compilers/llvm/multi.nix {
inherit clang;
gcc32 = pkgsi686Linux.gcc;
gcc64 = pkgs.gcc;
};
gcc_multi = wrapCCMulti gcc;
clang_multi = wrapClangMulti clang;
gccMultiStdenv = overrideCC stdenv buildPackages.gcc_multi;
clangMultiStdenv = overrideCC stdenv buildPackages.clang_multi;
multiStdenv = if stdenv.cc.isClang then clangMultiStdenv else gccMultiStdenv;
gcc_debug = lowPrio (
wrapCC (
gcc.cc.overrideAttrs {
dontStrip = true;
}
)
);
gccCrossLibcStdenv = overrideCC stdenvNoCC buildPackages.gccWithoutTargetLibc;
# The GCC used to build libc for the target platform. Normal gccs will be
# built with, and use, that cross-compiled libc.
gccWithoutTargetLibc =
let
libc1 = binutilsNoLibc.libc;
in
(wrapCCWith {
cc = gccFun {
# copy-pasted
inherit noSysDirs;
majorMinorVersion = toString default-gcc-version;
reproducibleBuild = true;
profiledCompiler = false;
isl = if !stdenv.hostPlatform.isDarwin then isl_0_20 else null;
withoutTargetLibc = true;
langCC = stdenv.targetPlatform.isCygwin; # can't compile libcygwin1.a without C++
libcCross = libc1;
targetPackages.stdenv.cc.bintools = binutilsNoLibc;
enableShared =
stdenv.targetPlatform.hasSharedLibraries
# temporarily disabled due to breakage;
# see https://github.com/NixOS/nixpkgs/pull/243249
&& !stdenv.targetPlatform.isWindows
&& !stdenv.targetPlatform.isCygwin
&& !(stdenv.targetPlatform.useLLVM or false);
};
bintools = binutilsNoLibc;
libc = libc1;
extraPackages = [ ];
}).overrideAttrs
(prevAttrs: {
meta = prevAttrs.meta // {
badPlatforms =
(prevAttrs.meta.badPlatforms or [ ])
++ lib.optionals (stdenv.targetPlatform == stdenv.hostPlatform) [ stdenv.hostPlatform.system ];
};
});
inherit (callPackage ../development/compilers/gcc/all.nix { inherit noSysDirs; })
gcc13
gcc14
gcc15
;
gcc_latest = gcc15;
libgccjit = gcc.cc.override {
name = "libgccjit";
langFortran = false;
langCC = false;
langC = false;
profiledCompiler = false;
langJit = true;
enableLTO = false;
};
gnat = gnat13; # When changing this, update also gnatPackages
gnat13 = wrapCC (
gcc13.cc.override {
name = "gnat";
langC = true;
langCC = false;
langAda = true;
profiledCompiler = false;
# As per upstream instructions building a cross compiler
# should be done with a (native) compiler of the same version.
# If we are cross-compiling GNAT, we may as well do the same.
gnat-bootstrap =
if stdenv.hostPlatform == stdenv.targetPlatform && stdenv.buildPlatform == stdenv.hostPlatform then
buildPackages.gnat-bootstrap13
else
buildPackages.gnat13;
stdenv =
if
stdenv.hostPlatform == stdenv.targetPlatform
&& stdenv.buildPlatform == stdenv.hostPlatform
&& stdenv.buildPlatform.isDarwin
&& stdenv.buildPlatform.isx86_64
then
overrideCC stdenv gnat-bootstrap13
else
stdenv;
}
);
gnat14 = wrapCC (
gcc14.cc.override {
name = "gnat";
langC = true;
langCC = false;
langAda = true;
profiledCompiler = false;
# As per upstream instructions building a cross compiler
# should be done with a (native) compiler of the same version.
# If we are cross-compiling GNAT, we may as well do the same.
gnat-bootstrap =
if stdenv.hostPlatform == stdenv.targetPlatform && stdenv.buildPlatform == stdenv.hostPlatform then
buildPackages.gnat-bootstrap14
else
buildPackages.gnat14;
stdenv =
if
stdenv.hostPlatform == stdenv.targetPlatform
&& stdenv.buildPlatform == stdenv.hostPlatform
&& stdenv.buildPlatform.isDarwin
&& stdenv.buildPlatform.isx86_64
then
overrideCC stdenv gnat-bootstrap14
else
stdenv;
}
);
gnat15 = wrapCC (
gcc15.cc.override {
name = "gnat";
langC = true;
langCC = false;
langAda = true;
profiledCompiler = false;
# As per upstream instructions building a cross compiler
# should be done with a (native) compiler of the same version.
# If we are cross-compiling GNAT, we may as well do the same.
gnat-bootstrap =
if stdenv.hostPlatform == stdenv.targetPlatform && stdenv.buildPlatform == stdenv.hostPlatform then
buildPackages.gnat-bootstrap14
else
buildPackages.gnat15;
stdenv =
if
stdenv.hostPlatform == stdenv.targetPlatform
&& stdenv.buildPlatform == stdenv.hostPlatform
&& stdenv.buildPlatform.isDarwin
&& stdenv.buildPlatform.isx86_64
then
overrideCC stdenv gnat-bootstrap14
else
stdenv;
}
);
gnat-bootstrap = gnat-bootstrap13;
gnat-bootstrap13 = wrapCCWith (
{
cc = callPackage ../development/compilers/gnat-bootstrap { majorVersion = "13"; };
}
// lib.optionalAttrs (stdenv.hostPlatform.isDarwin) {
bintools = bintoolsDualAs;
}
);
gnat-bootstrap14 = wrapCCWith (
{
cc = callPackage ../development/compilers/gnat-bootstrap { majorVersion = "14"; };
}
// lib.optionalAttrs (stdenv.hostPlatform.isDarwin) {
bintools = bintoolsDualAs;
}
);
gnat13Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat13; });
gnat14Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat14; });
gnat15Packages = recurseIntoAttrs (callPackage ./ada-packages.nix { gnat = buildPackages.gnat15; });
gnatPackages = gnat13Packages;
inherit (gnatPackages)
gprbuild
gnatprove
;
gccgo = wrapCC (
gcc.cc.override {
name = "gccgo";
langCC = true; # required for go.
langC = true;
langGo = true;
langJit = true;
profiledCompiler = false;
}
// {
# not supported on darwin: https://github.com/golang/go/issues/463
meta.broken = stdenv.hostPlatform.isDarwin;
}
);
gccgo13 = wrapCC (
gcc13.cc.override {
name = "gccgo";
langCC = true; # required for go.
langC = true;
langGo = true;
langJit = true;
profiledCompiler = false;
}
// {
# not supported on darwin: https://github.com/golang/go/issues/463
meta.broken = stdenv.hostPlatform.isDarwin;
}
);
gccgo14 = wrapCC (
gcc14.cc.override {
name = "gccgo";
langCC = true; # required for go.
langC = true;
langGo = true;
langJit = true;
profiledCompiler = false;
}
// {
# not supported on darwin: https://github.com/golang/go/issues/463
meta.broken = stdenv.hostPlatform.isDarwin;
}
);
gccgo15 = wrapCC (
gcc15.cc.override {
name = "gccgo";
langCC = true; # required for go.
langC = true;
langGo = true;
langJit = true;
profiledCompiler = false;
}
// {
# not supported on darwin: https://github.com/golang/go/issues/463
meta.broken = stdenv.hostPlatform.isDarwin;
}
);
ghdl-mcode = callPackage ../by-name/gh/ghdl/package.nix { backend = "mcode"; };
ghdl-gcc = callPackage ../by-name/gh/ghdl/package.nix { backend = "gcc"; };
ghdl-llvm = callPackage ../by-name/gh/ghdl/package.nix {
backend = "llvm";
inherit (llvmPackages_20) llvm;
};
gcc-arm-embedded = gcc-arm-embedded-15;
# Haskell and GHC
haskell = recurseIntoAttrs (callPackage ./haskell-packages.nix { });
haskellPackages = recurseIntoAttrs (
# Prefer native-bignum to avoid linking issues with gmp;
# GHC 9.10 doesn't work too well with iserv-proxy.
if stdenv.hostPlatform.isStatic then
haskell.packages.native-bignum.ghc912
# JS backend can't use gmp
else if stdenv.hostPlatform.isGhcjs then
haskell.packages.native-bignum.ghc910
else
haskell.packages.ghc910
);
# haskellPackages.ghc is build->host (it exposes the compiler used to build the
# set, similarly to stdenv.cc), but pkgs.ghc should be host->target to be more
# consistent with the gcc, gnat, clang etc. derivations
#
# We use targetPackages.haskellPackages.ghc if available since this also has
# the withPackages wrapper available. In the final cross-compiled package set
# however, targetPackages won't be populated, so we need to fall back to the
# plain, cross-compiled compiler (which is only theoretical at the moment).
ghc =
targetPackages.haskellPackages.ghc or (
# Prefer native-bignum to avoid linking issues with gmp;
# GHC 9.10 doesn't work too well with iserv-proxy.
if stdenv.hostPlatform.isStatic then
haskell.packages.native-bignum.ghc912
# JS backend can't use GMP
else if stdenv.targetPlatform.isGhcjs then
haskell.compiler.native-bignum.ghc910
else
haskell.compiler.ghc910
);
alex = haskell.lib.compose.justStaticExecutables haskellPackages.alex;
happy = haskell.lib.compose.justStaticExecutables haskellPackages.happy;
hscolour = haskell.lib.compose.justStaticExecutables haskellPackages.hscolour;
cabal-install = haskell.lib.compose.justStaticExecutables haskellPackages.cabal-install;
stack =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.stack;
hlint = haskell.lib.compose.justStaticExecutables haskellPackages.hlint;
krank = haskell.lib.compose.justStaticExecutables haskellPackages.krank;
stylish-cabal = haskell.lib.compose.justStaticExecutables haskellPackages.stylish-cabal;
lhs2tex = haskellPackages.lhs2tex;
all-cabal-hashes = callPackage ../data/misc/hackage { };
purescript = callPackage ../development/compilers/purescript/purescript { };
purenix = haskell.lib.compose.justStaticExecutables haskellPackages.purenix;
coreboot-toolchain = recurseIntoAttrs (
callPackage ../development/tools/misc/coreboot-toolchain { }
);
tamarin-prover = (
callPackage ../applications/science/logic/tamarin-prover {
# 2025-03-07: dependency fclabels doesn't compile with GHC >= 9.8
# https://github.com/sebastiaanvisser/fclabels/issues/46
haskellPackages = haskell.packages.ghc96;
graphviz = graphviz-nox;
}
);
inherit
(callPackage ../development/compilers/haxe {
})
haxe_4_3
haxe_4_1
haxe_4_0
;
haxe = haxe_4_3;
haxePackages = recurseIntoAttrs (callPackage ./haxe-packages.nix { });
inherit (haxePackages) hxcpp;
dotnetPackages = recurseIntoAttrs (callPackage ./dotnet-packages.nix { });
gwt240 = callPackage ../development/compilers/gwt/2.4.0.nix { };
idrisPackages = recurseIntoAttrs (
callPackage ../development/idris-modules {
idris-no-deps = haskellPackages.idris;
}
);
idris = idrisPackages.with-packages [ idrisPackages.base ];
idris2Packages = recurseIntoAttrs (callPackage ../development/compilers/idris2 { });
inherit (callPackage ../development/tools/database/indradb { })
indradb-server
indradb-client
;
irony-server = callPackage ../development/tools/irony-server {
# The repository of irony to use -- must match the version of the employed emacs
# package. Wishing we could merge it into one irony package, to avoid this issue,
# but its emacs-side expression is autogenerated, and we can't hook into it (other
# than peek into its version).
inherit (emacs.pkgs.melpaStablePackages) irony;
};
openjfx17 = callPackage ../by-name/op/openjfx/package.nix { featureVersion = "17"; };
openjfx21 = openjfx;
openjfx25 = callPackage ../by-name/op/openjfx/package.nix { featureVersion = "25"; };
openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap;
openjdk8 = javaPackages.compiler.openjdk8;
openjdk8_headless = javaPackages.compiler.openjdk8.headless;
jdk8 = openjdk8;
jdk8_headless = openjdk8_headless;
jre8 = openjdk8.jre;
jre8_headless = openjdk8_headless.jre;
openjdk11-bootstrap = javaPackages.compiler.openjdk11-bootstrap;
openjdk11 = javaPackages.compiler.openjdk11;
openjdk11_headless = javaPackages.compiler.openjdk11.headless;
jdk11 = openjdk11;
jdk11_headless = openjdk11_headless;
openjdk17-bootstrap = javaPackages.compiler.openjdk17-bootstrap;
openjdk17 = javaPackages.compiler.openjdk17;
openjdk17_headless = javaPackages.compiler.openjdk17.headless;
jdk17 = openjdk17;
jdk17_headless = openjdk17_headless;
openjdk21 = javaPackages.compiler.openjdk21;
openjdk21_headless = javaPackages.compiler.openjdk21.headless;
jdk21 = openjdk21;
jdk21_headless = openjdk21_headless;
openjdk25 = javaPackages.compiler.openjdk25;
openjdk25_headless = javaPackages.compiler.openjdk25.headless;
jdk25 = openjdk25;
jdk25_headless = openjdk25_headless;
# default JDK
jdk = jdk21;
jdk_headless = jdk21_headless;
# Since the introduction of the Java Platform Module System in Java 9, Java
# no longer ships a separate JRE package.
#
# If you are building a 'minimal' system/image, you are encouraged to use
# 'jre_minimal' to build a bespoke JRE containing only the modules you need.
#
# For a general-purpose system, 'jre' defaults to the full JDK:
jre = jdk;
jre_headless = jdk_headless;
inherit
({
jre11_minimal = callPackage ../development/compilers/openjdk/jre.nix {
jdk = jdk11;
jdkOnBuild = buildPackages.jdk11;
};
jre17_minimal = callPackage ../development/compilers/openjdk/jre.nix {
jdk = jdk17;
jdkOnBuild = buildPackages.jdk17;
};
jre21_minimal = callPackage ../development/compilers/openjdk/jre.nix {
jdk = jdk21;
jdkOnBuild = buildPackages.jdk21;
};
jre25_minimal = callPackage ../development/compilers/openjdk/jre.nix {
jdk = jdk25;
jdkOnBuild = buildPackages.jdk25;
};
jre_minimal = callPackage ../development/compilers/openjdk/jre.nix {
jdkOnBuild = buildPackages.jdk;
};
})
jre11_minimal
jre17_minimal
jre21_minimal
jre25_minimal
jre_minimal
;
openjdk = jdk;
openjdk_headless = jdk_headless;
graalvmPackages = recurseIntoAttrs (callPackage ../development/compilers/graalvm { });
buildGraalvmNativeImage = callPackage ../build-support/build-graalvm-native-image { };
openshot-qt = libsForQt5.callPackage ../applications/video/openshot-qt { };
inherit (callPackage ../development/compilers/julia { })
julia_110-bin
julia_111-bin
julia_112-bin
julia_110
julia_111
julia_112
;
julia-lts = julia_110-bin;
julia-stable = julia_112;
julia = julia-stable;
julia-lts-bin = julia_110-bin;
julia-stable-bin = julia_112-bin;
julia-bin = julia-stable-bin;
kotlin = callPackage ../development/compilers/kotlin { };
kotlin-native = callPackage ../development/compilers/kotlin/native.nix { };
lazarus = callPackage ../development/compilers/fpc/lazarus.nix {
fpc = fpc;
};
lazarus-qt5 = libsForQt5.callPackage ../development/compilers/fpc/lazarus.nix {
fpc = fpc;
withQt = true;
};
lazarus-qt6 = qt6Packages.callPackage ../development/compilers/fpc/lazarus.nix {
fpc = fpc;
withQt = true;
};
lima-additional-guestagents = callPackage ../by-name/li/lima/additional-guestagents.nix { };
lld = llvmPackages.lld;
lldb = llvmPackages.lldb;
llvm = llvmPackages.llvm;
flang = llvmPackages_20.flang;
libclc = llvmPackages.libclc;
libllvm = llvmPackages.libllvm;
llvm-manpages = llvmPackages.llvm-manpages;
llvmPackages = llvmPackages_21;
inherit
(rec {
llvmPackagesSet = recurseIntoAttrs (callPackages ../development/compilers/llvm { });
llvmPackages_18 = llvmPackagesSet."18";
clang_18 = llvmPackages_18.clang;
lld_18 = llvmPackages_18.lld;
lldb_18 = llvmPackages_18.lldb;
llvm_18 = llvmPackages_18.llvm;
llvmPackages_19 = llvmPackagesSet."19";
clang_19 = llvmPackages_19.clang;
lld_19 = llvmPackages_19.lld;
lldb_19 = llvmPackages_19.lldb;
llvm_19 = llvmPackages_19.llvm;
bolt_19 = llvmPackages_19.bolt;
llvmPackages_20 = llvmPackagesSet."20";
clang_20 = llvmPackages_20.clang;
lld_20 = llvmPackages_20.lld;
lldb_20 = llvmPackages_20.lldb;
llvm_20 = llvmPackages_20.llvm;
bolt_20 = llvmPackages_20.bolt;
flang_20 = llvmPackages_20.flang;
llvmPackages_21 = llvmPackagesSet."21";
clang_21 = llvmPackages_21.clang;
lld_21 = llvmPackages_21.lld;
lldb_21 = llvmPackages_21.lldb;
llvm_21 = llvmPackages_21.llvm;
bolt_21 = llvmPackages_21.bolt;
flang_21 = llvmPackages_21.flang;
llvmPackages_22 = llvmPackagesSet."22";
clang_22 = llvmPackages_22.clang;
lld_22 = llvmPackages_22.lld;
lldb_22 = llvmPackages_22.lldb;
llvm_22 = llvmPackages_22.llvm;
bolt_22 = llvmPackages_22.bolt;
flang_22 = llvmPackages_22.flang;
mkLLVMPackages = llvmPackagesSet.mkPackage;
})
llvmPackages_18
clang_18
lld_18
lldb_18
llvm_18
llvmPackages_19
clang_19
lld_19
lldb_19
llvm_19
bolt_19
llvmPackages_20
clang_20
lld_20
lldb_20
llvm_20
bolt_20
flang_20
llvmPackages_21
clang_21
lld_21
lldb_21
llvm_21
bolt_21
flang_21
llvmPackages_22
clang_22
lld_22
lldb_22
llvm_22
bolt_22
flang_22
mkLLVMPackages
;
mitschemeX11 = mitscheme.override {
enableX11 = true;
};
inherit (callPackage ../development/compilers/mlton { })
mlton20130715
mlton20180207Binary
mlton20180207
mlton20210117Binary
mlton20210117
mlton20241230Binary
mlton20241230
mltonHEAD
;
mlton = mlton20241230;
mono = mono6;
mono6 = callPackage ../development/compilers/mono/6.nix { };
mozart2 = callPackage ../development/compilers/mozart {
emacs = emacs-nox;
jre_headless = jre8_headless; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
};
mozart2-binary = callPackage ../development/compilers/mozart/binary.nix { };
nim = nim2;
nim1 = nim-1_0;
nim2 = nim-2_2;
nim-unwrapped = nim-unwrapped-2_2;
nim-unwrapped-1 = nim-unwrapped-1_0;
nim-unwrapped-2 = nim-unwrapped-2_2;
buildNimPackage = callPackage ../build-support/build-nim-package.nix { };
buildNimSbom = callPackage ../build-support/build-nim-sbom.nix { };
nimOverrides = callPackage ./nim-overrides.nix { };
nextpnrWithGui = libsForQt5.callPackage ../by-name/ne/nextpnr/package.nix {
enableGui = true;
};
ocaml-ng = callPackage ./ocaml-packages.nix { };
ocaml = ocamlPackages.ocaml;
ocamlPackages = recurseIntoAttrs ocaml-ng.ocamlPackages;
ocamlPackages_latest = recurseIntoAttrs ocaml-ng.ocamlPackages_latest;
ocaml-crunch = ocamlPackages.crunch.bin;
inherit (ocaml-ng.ocamlPackages_4_14)
ocamlformat_0_19_0
ocamlformat_0_20_0
ocamlformat_0_20_1
ocamlformat_0_21_0
ocamlformat_0_22_4
ocamlformat_0_23_0
ocamlformat_0_24_1
ocamlformat_0_25_1
ocamlformat_0_26_0
ocamlformat_0_26_1
;
inherit (ocaml-ng.ocamlPackages_5_2)
ocamlformat_0_26_2
;
inherit (ocaml-ng.ocamlPackages_5_3)
ocamlformat_0_27_0
;
inherit (ocamlPackages)
ocamlformat # latest version
ocamlformat_0_28_1
;
inherit (ocamlPackages) odig;
ber_metaocaml = callPackage ../development/compilers/ocaml/ber-metaocaml.nix { };
opam = callPackage ../development/tools/ocaml/opam { };
opam-installer = callPackage ../development/tools/ocaml/opam/installer.nix { };
wrapWatcom = callPackage ../development/compilers/open-watcom/wrapper.nix { };
open-watcom-v2-unwrapped = callPackage ../development/compilers/open-watcom/v2.nix { };
open-watcom-v2-full-unwrapped = open-watcom-v2-unwrapped.override {
withDocs = true;
withGUI = true;
};
open-watcom-bin-unwrapped = callPackage ../development/compilers/open-watcom/bin.nix { };
open-watcom-v2 = wrapWatcom open-watcom-v2-unwrapped { };
open-watcom-v2-full = wrapWatcom open-watcom-v2-full-unwrapped { };
open-watcom-bin = wrapWatcom open-watcom-bin-unwrapped { };
rml = callPackage ../development/compilers/rml {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
wrapRustcWith = { rustc-unwrapped, ... }@args: callPackage ../build-support/rust/rustc-wrapper args;
wrapRustc = rustc-unwrapped: wrapRustcWith { inherit rustc-unwrapped; };
rust_1_93 = callPackage ../development/compilers/rust/1_93.nix { };
rust = rust_1_93;
mrustc = callPackage ../development/compilers/mrustc { };
mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
rustPackages_1_93 = rust_1_93.packages.stable;
rustPackages = rustPackages_1_93;
inherit (rustPackages)
cargo
cargo-auditable-cargo-wrapper
clippy
rustc
rustc-unwrapped
rustPlatform
;
makeRustPlatform = callPackage ../development/compilers/rust/make-rust-platform.nix { };
buildRustCrate =
let
# Returns a true if the builder's rustc was built with support for the target.
targetAlreadyIncluded = lib.elem stdenv.hostPlatform.rust.rustcTarget (
lib.splitString "," (
lib.removePrefix "--target=" (
lib.elemAt (lib.filter (
f: lib.hasPrefix "--target=" f
) pkgsBuildBuild.rustc.unwrapped.configureFlags) 0
)
)
);
in
callPackage ../build-support/rust/build-rust-crate (
{ }
// lib.optionalAttrs (stdenv.hostPlatform.libc == null) {
stdenv = stdenvNoCC; # Some build targets without libc will fail to evaluate with a normal stdenv.
}
// lib.optionalAttrs targetAlreadyIncluded { inherit (pkgsBuildBuild) rustc cargo; } # Optimization.
);
buildRustCrateHelpers = callPackage ../build-support/rust/build-rust-crate/helpers.nix { };
defaultCrateOverrides = callPackage ../build-support/rust/default-crate-overrides.nix { };
inherit (callPackages ../development/tools/rust/cargo-pgrx { })
cargo-pgrx_0_12_0_alpha_1
cargo-pgrx_0_12_6
cargo-pgrx_0_16_0
cargo-pgrx_0_16_1
cargo-pgrx
;
buildPgrxExtension = callPackage ../development/tools/rust/cargo-pgrx/buildPgrxExtension.nix { };
opensmalltalk-vm = callPackage ../development/compilers/opensmalltalk-vm { };
rustfmt = rustPackages.rustfmt;
rust-bindgen-unwrapped = callPackage ../development/tools/rust/bindgen/unwrapped.nix { };
rust-bindgen = callPackage ../development/tools/rust/bindgen { };
rustup = callPackage ../development/tools/rust/rustup { };
rustup-toolchain-install-master =
callPackage ../development/tools/rust/rustup-toolchain-install-master
{
};
scala_2_12 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.12"; };
scala_2_13 = callPackage ../development/compilers/scala/2.x.nix { majorVersion = "2.13"; };
scala_3 = callPackage ../development/compilers/scala { };
scala = scala_3;
scala-runners = callPackage ../development/compilers/scala-runners {
coursier = coursier.override { jre = jdk8; };
};
# smlnjBootstrap should be redundant, now that smlnj works on Darwin natively
smlnjBootstrap = callPackage ../development/compilers/smlnj/bootstrap.nix { };
smlnj = callPackage ../development/compilers/smlnj { };
squeak = callPackage ../development/compilers/squeak {
stdenv = clangStdenv;
};
squirrel-sql = callPackage ../development/tools/database/squirrel-sql {
drivers = [
jtds_jdbc
mssql_jdbc
mysql_jdbc
postgresql_jdbc
];
};
swiftPackages = recurseIntoAttrs (callPackage ../development/compilers/swift { });
inherit (swiftPackages)
swift
swiftpm
sourcekit-lsp
swift-format
swiftpm2nix
;
swi-prolog-gui = swi-prolog.override { withGui = true; };
teyjus = callPackage ../development/compilers/teyjus {
inherit (ocaml-ng.ocamlPackages_4_14) buildDunePackage;
stdenv = gcc14Stdenv;
};
urweb = callPackage ../development/compilers/urweb {
icu = icu67;
};
vcard = python3Packages.toPythonApplication python3Packages.vcard;
inherit (callPackage ../development/compilers/vala { })
vala_0_56
vala
;
vyper = with python3Packages; toPythonApplication vyper;
wrapCCWith =
{
cc,
# This should be the only bintools runtime dep with this sort of logic. The
# Others should instead delegate to the next stage's choice with
# `targetPackages.stdenv.cc.bintools`. This one is different just to
# provide the default choice, avoiding infinite recursion.
# See the bintools attribute for the logic and reasoning. We need to provide
# a default here, since eval will hit this function when bootstrapping
# stdenv where the bintools attribute doesn't exist, but will never actually
# be evaluated -- callPackage ends up being too eager.
bintools ? pkgs.bintools,
libc ? bintools.libc,
# libc++ from the default LLVM version is bound at the top level, but we
# want the C++ library to be explicitly chosen by the caller, and null by
# default.
libcxx ? null,
extraPackages ? lib.optional (
cc.isGNU or false && stdenv.targetPlatform.isMinGW
) targetPackages.threads.package,
nixSupport ? { },
...
}@extraArgs:
callPackage ../build-support/cc-wrapper (
let
self = {
nativeTools = stdenv.targetPlatform == stdenv.hostPlatform && stdenv.cc.nativeTools or false;
nativeLibc = stdenv.targetPlatform == stdenv.hostPlatform && stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
noLibc = !self.nativeLibc && (self.libc == null);
isGNU = cc.isGNU or false;
isClang = cc.isClang or false;
isArocc = cc.isArocc or false;
isZig = cc.isZig or false;
inherit
cc
bintools
libc
libcxx
extraPackages
nixSupport
;
}
// extraArgs;
in
self
);
wrapCC =
cc:
wrapCCWith {
inherit cc;
};
wrapBintoolsWith =
{
bintools,
libc ? targetPackages.libc or pkgs.libc,
...
}@extraArgs:
callPackage ../build-support/bintools-wrapper (
let
self = {
nativeTools = stdenv.targetPlatform == stdenv.hostPlatform && stdenv.cc.nativeTools or false;
nativeLibc = stdenv.targetPlatform == stdenv.hostPlatform && stdenv.cc.nativeLibc or false;
nativePrefix = stdenv.cc.nativePrefix or "";
noLibc = (self.libc == null);
inherit bintools libc;
}
// extraArgs;
in
self
);
# prolog
yosys-bluespec = callPackage ../development/compilers/yosys/plugins/bluespec.nix { };
yosys-ghdl = callPackage ../development/compilers/yosys/plugins/ghdl.nix { };
yosys-symbiflow = callPackage ../development/compilers/yosys/plugins/symbiflow.nix { };
inherit
({
zulu8 = callPackage ../development/compilers/zulu/8.nix { };
zulu11 = callPackage ../development/compilers/zulu/11.nix { };
zulu17 = callPackage ../development/compilers/zulu/17.nix { };
zulu21 = callPackage ../development/compilers/zulu/21.nix { };
zulu25 = callPackage ../development/compilers/zulu/25.nix { };
})
zulu8
zulu11
zulu17
zulu21
zulu25
;
zulu = zulu21;
### DEVELOPMENT / INTERPRETERS
acl2 = callPackage ../development/interpreters/acl2 { };
acl2-minimal = callPackage ../development/interpreters/acl2 { certifyBooks = false; };
babashka-unwrapped = callPackage ../development/interpreters/babashka { };
babashka = callPackage ../development/interpreters/babashka/wrapped.nix { };
uiua-unstable = callPackage ../by-name/ui/uiua/package.nix { uiua_versionType = "unstable"; };
# BQN interpreters and compilers
mbqn = bqn;
cbqn = cbqn-bootstrap.phase2;
cbqn-replxx = cbqn-bootstrap.phase2-replxx;
cbqn-standalone = cbqn-bootstrap.phase0;
cbqn-standalone-replxx = cbqn-bootstrap.phase0-replxx;
# Below, the classic self-bootstrapping process
cbqn-bootstrap = dontRecurseIntoAttrs {
# Use clang to compile CBQN if we aren't already.
# CBQN's upstream primarily targets and tests clang which means using gcc
# will result in slower binaries and on some platforms failing/broken builds.
# See https://github.com/dzaima/CBQN/issues/12.
#
# Known issues:
#
# * CBQN using gcc is broken at runtime on i686 due to
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58416,
# * CBQN uses some CPP macros gcc doesn't like for aarch64.
stdenv = if !stdenv.cc.isClang then clangStdenv else stdenv;
mbqn-source = buildPackages.mbqn.src;
phase0 = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) mbqn-source stdenv;
generateBytecode = false;
# Not really used, but since null can be dangerous...
bqn-interpreter = "${lib.getExe' buildPackages.mbqn "bqn"}";
};
phase0-replxx = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) mbqn-source stdenv;
enableReplxx = true;
generateBytecode = false;
# Not really used, but since null can be dangerous...
bqn-interpreter = "${lib.getExe' buildPackages.mbqn "bqn"}";
};
phase1 = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) mbqn-source stdenv;
generateBytecode = true;
bqn-interpreter = "${lib.getExe' buildPackages.cbqn-bootstrap.phase0 "cbqn"}";
};
phase2 = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) mbqn-source stdenv;
generateBytecode = true;
bqn-interpreter = "${lib.getExe' buildPackages.cbqn-bootstrap.phase0 "cbqn"}";
};
phase2-replxx = callPackage ../development/interpreters/bqn/cbqn {
inherit (cbqn-bootstrap) mbqn-source stdenv;
generateBytecode = true;
enableReplxx = true;
bqn-interpreter = "${lib.getExe' buildPackages.cbqn-bootstrap.phase0 "cbqn"}";
};
};
dbqn-native = dbqn.override {
buildNativeImage = true;
jre = graalvmPackages.graalvm-ce;
};
clojupyter = callPackage ../applications/editors/jupyter-kernels/clojupyter {
jre = jre8;
};
inherit (callPackage ../applications/editors/jupyter-kernels/xeus-cling { })
cpp11-kernel
cpp14-kernel
cpp17-kernel
cpp2a-kernel
xeus-cling
;
dhall = haskell.lib.compose.justStaticExecutables haskellPackages.dhall;
dhall-bash = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-bash;
dhall-docs = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-docs;
dhall-lsp-server = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-lsp-server;
dhall-json = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-json;
dhall-nix = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-nix;
dhall-nixpkgs = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-nixpkgs;
dhall-yaml = haskell.lib.compose.justStaticExecutables haskellPackages.dhall-yaml;
dhallPackages = recurseIntoAttrs (callPackage ./dhall-packages.nix { });
beam = callPackage ./beam-packages.nix { };
beam_minimal = callPackage ./beam-packages.nix {
beam = beam_minimal;
systemdSupport = false;
wxSupport = false;
};
inherit (beam.interpreters)
erlang
erlang_29
erlang_28
erlang_27
erlang_26
;
inherit (beam.packages.erlang_28.beamPackages)
elixir_1_19
;
inherit (beam.packages.erlang_27.beamPackages)
elixir
elixir_1_18
elixir_1_17
elixir-ls
ex_doc
lfe
;
inherit (beam.packages.erlang_26.beamPackages)
elixir_1_16
elixir_1_15
;
inherit (beam.packages.erlang)
erlfmt
elvis-erlang
rebar
rebar3
rebar3WithPlugins
fetchHex
;
beamPackages = dontRecurseIntoAttrs beam.packages.erlang.beamPackages;
beamMinimalPackages = dontRecurseIntoAttrs beam_minimal.packages.erlang.beamPackages;
beam26Packages = recurseIntoAttrs beam.packages.erlang_26.beamPackages;
beam27Packages = recurseIntoAttrs beam.packages.erlang_27.beamPackages;
beam28Packages = recurseIntoAttrs beam.packages.erlang_28.beamPackages;
beam29Packages = dontRecurseIntoAttrs beam.packages.erlang_29.beamPackages;
beamMinimal26Packages = recurseIntoAttrs beam_minimal.packages.erlang_26.beamPackages;
beamMinimal27Packages = recurseIntoAttrs beam_minimal.packages.erlang_27.beamPackages;
beamMinimal28Packages = recurseIntoAttrs beam_minimal.packages.erlang_28.beamPackages;
beamMinimal29Packages = dontRecurseIntoAttrs beam_minimal.packages.erlang_29.beamPackages;
gnudatalanguage = callPackage ../development/interpreters/gnudatalanguage {
inherit (llvmPackages) openmp;
# MPICH currently build on Darwin
mpi = mpich;
};
inherit (callPackages ../applications/networking/cluster/hadoop { })
hadoop_3_4
hadoop_3_3
hadoop2
;
hadoop3 = hadoop_3_4;
hadoop = hadoop3;
jacinda = haskell.lib.compose.justStaticExecutables haskellPackages.jacinda;
janet = callPackage ../development/interpreters/janet { };
jpm = callPackage ../development/interpreters/janet/jpm.nix { };
lambda-lisp-blc = lambda-lisp;
love_0_10 = callPackage ../development/interpreters/love/0.10.nix { };
love_11 = callPackage ../development/interpreters/love/11.nix { };
love = love_11;
### LUA interpreters
emiluaPlugins = recurseIntoAttrs (
callPackage ./emilua-plugins.nix { } (callPackage ../development/interpreters/emilua { })
);
inherit (emiluaPlugins) emilua;
luaInterpreters = callPackage ./../development/interpreters/lua-5 { };
inherit (luaInterpreters)
lua5_1
lua5_2
lua5_2_compat
lua5_3
lua5_3_compat
lua5_4
lua5_4_compat
lua5_5
lua5_5_compat
luajit_2_1
luajit_2_0
luajit_openresty
;
lua5 = lua5_2_compat;
lua = lua5;
lua51Packages = recurseIntoAttrs lua5_1.pkgs;
lua52Packages = recurseIntoAttrs lua5_2.pkgs;
lua53Packages = recurseIntoAttrs lua5_3.pkgs;
lua54Packages = recurseIntoAttrs lua5_4.pkgs;
lua55Packages = recurseIntoAttrs lua5_5.pkgs;
luajitPackages = recurseIntoAttrs luajit.pkgs;
luaPackages = lua52Packages;
luajit = luajit_2_1;
luarocks = luaPackages.luarocks;
luarocks-nix = luaPackages.luarocks-nix;
toluapp = callPackage ../development/tools/toluapp {
lua = lua5_1; # doesn't work with any other :(
};
### END OF LUA
### CuboCore
CuboCore = recurseIntoAttrs (
import ./cubocore-packages.nix {
inherit
newScope
lxqt
lib
;
}
);
### End of CuboCore
octave = callPackage ../development/interpreters/octave { };
octaveFull = octave.override {
enableQt = true;
};
octave-kernel = recurseIntoAttrs (callPackage ../applications/editors/jupyter-kernels/octave { });
octavePackages = recurseIntoAttrs octave.pkgs;
# PHP interpreters, packages and extensions.
#
# Set default PHP interpreter, extensions and packages
php = php84;
phpExtensions = recurseIntoAttrs php.extensions;
phpPackages = recurseIntoAttrs php.packages;
# Import PHP interpreters
inherit (callPackage ./../development/interpreters/php { })
php82
php83
php84
php85
;
# PHP Extensions and Packages
php82Extensions = recurseIntoAttrs php82.extensions;
php82Packages = recurseIntoAttrs php82.packages;
php83Extensions = recurseIntoAttrs php83.extensions;
php83Packages = recurseIntoAttrs php83.packages;
php84Extensions = recurseIntoAttrs php84.extensions;
php84Packages = recurseIntoAttrs php84.packages;
php85Extensions = recurseIntoAttrs php85.extensions;
php85Packages = recurseIntoAttrs php85.packages;
polyml = callPackage ../development/compilers/polyml { };
polyml56 = callPackage ../development/compilers/polyml/5.6.nix { };
polyml57 = callPackage ../development/compilers/polyml/5.7.nix { };
# Python interpreters. All standard library modules are included except for tkinter, which is
# available as `pythonPackages.tkinter` and can be used as any other Python package.
# When switching these sets, please update docs at ../../doc/languages-frameworks/python.md
python2 = python27;
python3 = python313;
# pythonPackages further below, but assigned here because they need to be in sync
python2Packages = dontRecurseIntoAttrs python27Packages;
python3Packages = dontRecurseIntoAttrs python313Packages;
pypy = pypy2;
pypy2 = pypy27;
pypy3 = pypy311;
# Python interpreter that is build with all modules, including tkinter.
# These are for compatibility and should not be used inside Nixpkgs.
python2Full = python2.override {
self = python2Full;
pythonAttr = "python2Full";
x11Support = true;
};
python27Full = python27.override {
self = python27Full;
pythonAttr = "python27Full";
x11Support = true;
};
# https://py-free-threading.github.io
python313FreeThreading = python313.override {
self = python313FreeThreading;
pythonAttr = "python313FreeThreading";
enableGIL = false;
};
python314FreeThreading = python314.override {
self = python314FreeThreading;
pythonAttr = "python314FreeThreading";
enableGIL = false;
};
python315FreeThreading = python315.override {
self = python315FreeThreading;
pythonAttr = "python315FreeThreading";
enableGIL = false;
};
pythonInterpreters = callPackage ./../development/interpreters/python { };
inherit (pythonInterpreters)
python27
python311
python312
python313
python314
python315
python3Minimal
pypy27
pypy310
pypy311
;
# List of extensions with overrides to apply to all Python package sets.
pythonPackagesExtensions = [ ];
# Python package sets.
python27Packages = python27.pkgs;
python311Packages = python311.pkgs;
python312Packages = python312.pkgs;
python313Packages = recurseIntoAttrs python313.pkgs;
python314Packages = recurseIntoAttrs python314.pkgs;
python315Packages = python315.pkgs;
pypyPackages = pypy.pkgs;
pypy2Packages = pypy2.pkgs;
pypy27Packages = pypy27.pkgs;
pypy3Packages = pypy3.pkgs;
pypy310Packages = pypy310.pkgs;
pypy311Packages = pypy311.pkgs;
pythonManylinuxPackages = callPackage ./../development/interpreters/python/manylinux { };
pythonCondaPackages = callPackage ./../development/interpreters/python/conda { };
# Should eventually be moved inside Python interpreters.
python-setup-hook = buildPackages.callPackage ../development/interpreters/python/setup-hook.nix { };
pythonDocs = recurseIntoAttrs (callPackage ../development/interpreters/python/cpython/docs { });
svg2tikz = with python3.pkgs; toPythonApplication svg2tikz;
poetryPlugins = recurseIntoAttrs poetry.plugins;
pipx = with python3.pkgs; toPythonApplication pipx;
pipewire = callPackage ../development/libraries/pipewire {
# ffmpeg depends on SDL2 which depends on pipewire by default.
# Break the cycle by depending on ffmpeg-headless.
# Pipewire only uses libavcodec (via an SPA plugin), which isn't
# affected by the *-headless changes.
ffmpeg = ffmpeg-headless;
};
wireplumber = callPackage ../development/libraries/pipewire/wireplumber.nix { };
racket-minimal = callPackage ../by-name/ra/racket/minimal.nix {
stdenv = stdenvAdapters.makeStaticLibraries stdenv;
};
rakudo = callPackage ../development/interpreters/rakudo { };
moarvm = callPackage ../development/interpreters/rakudo/moarvm.nix { };
nqp = callPackage ../development/interpreters/rakudo/nqp.nix { };
zef = callPackage ../development/interpreters/rakudo/zef.nix { };
inherit (ocamlPackages) reason rtop;
buildRubyGem = callPackage ../development/ruby-modules/gem { };
defaultGemConfig = callPackage ../development/ruby-modules/gem-config {
inherit (darwin) DarwinTools autoSignDarwinBinariesHook;
};
bundlerEnv = callPackage ../development/ruby-modules/bundler-env { };
bundlerApp = callPackage ../development/ruby-modules/bundler-app { };
bundlerUpdateScript = callPackage ../development/ruby-modules/bundler-update-script { };
bundler-audit = callPackage ../tools/security/bundler-audit { };
solargraph = rubyPackages.solargraph;
inherit
(callPackage ../development/interpreters/ruby {
inherit (darwin) libunwind;
})
mkRubyVersion
mkRuby
ruby_3_3
ruby_3_4
ruby_4_0
;
ruby = ruby_3_4;
rubyPackages = rubyPackages_3_4;
rubyPackages_3_3 = recurseIntoAttrs ruby_3_3.gems;
rubyPackages_3_4 = recurseIntoAttrs ruby_3_4.gems;
rubyPackages_4_0 = recurseIntoAttrs ruby_4_0.gems;
inherit (callPackages ../applications/networking/cluster/spark { })
spark_4_0
spark_3_5
spark_3_4
;
spark3 = spark_3_5;
spark4 = spark_4_0;
spark = spark_4_0;
inherit
({
spidermonkey_115 = callPackage ../development/interpreters/spidermonkey/115.nix { };
spidermonkey_128 = callPackage ../development/interpreters/spidermonkey/128.nix { };
spidermonkey_140 = callPackage ../development/interpreters/spidermonkey/140.nix { };
})
spidermonkey_115
spidermonkey_128
spidermonkey_140
;
supercollider = libsForQt5.callPackage ../development/interpreters/supercollider {
fftw = fftwSinglePrec;
};
supercollider_scel = supercollider.override { useSCEL = true; };
supercolliderPlugins = recurseIntoAttrs {
sc3-plugins = callPackage ../development/interpreters/supercollider/plugins/sc3-plugins.nix {
fftw = fftwSinglePrec;
};
};
supercollider-with-plugins = callPackage ../development/interpreters/supercollider/wrapper.nix {
plugins = [ ];
};
supercollider-with-sc3-plugins = supercollider-with-plugins.override {
plugins = with supercolliderPlugins; [ sc3-plugins ];
};
tcl = tcl-8_6;
tcl-8_5 = callPackage ../development/interpreters/tcl/8.5.nix { };
tcl-8_6 = callPackage ../development/interpreters/tcl/8.6.nix { };
tcl-9_0 = callPackage ../development/interpreters/tcl/9.0.nix { };
# We don't need versioned package sets thanks to the tcl stubs mechanism
tclPackages = recurseIntoAttrs (callPackage ./tcl-packages.nix { });
tclreadline = tclPackages.tclreadline;
wasm = ocamlPackages.wasm;
### DEVELOPMENT / MISC
inherit (callPackages ../development/misc/h3 { }) h3_3 h3_4;
h3 = h3_3;
sourceFromHead = callPackage ../build-support/source-from-head-fun.nix { };
jruby = callPackage ../development/interpreters/jruby { };
guile_1_8 = callPackage ../development/interpreters/guile/1.8.nix { };
# Needed for autogen
guile_2_0 = callPackage ../development/interpreters/guile/2.0.nix { };
guile_2_2 = callPackage ../development/interpreters/guile/2.2.nix { };
guile_3_0 = callPackage ../development/interpreters/guile/3.0.nix { };
guile = guile_3_0;
msp430GccSupport = callPackage ../development/misc/msp430/gcc-support.nix { };
msp430Newlib = callPackage ../development/misc/msp430/newlib.nix { };
mspds = callPackage ../development/misc/msp430/mspds { };
mspds-bin = callPackage ../development/misc/msp430/mspds/binary.nix { };
mspdebug = callPackage ../development/misc/msp430/mspdebug.nix { };
vc4-newlib = callPackage ../development/misc/vc4/newlib.nix { };
or1k-newlib = callPackage ../development/misc/or1k/newlib.nix { };
### DEVELOPMENT / TOOLS
inherit (callPackage ../development/tools/alloy { })
alloy5
alloy6
alloy
;
anybadge = with python3Packages; toPythonApplication anybadge;
ansible = python3Packages.toPythonApplication python3Packages.ansible-core;
ansible-language-server =
callPackage ../development/tools/language-servers/ansible-language-server
{ };
ansible-builder = with python3Packages; toPythonApplication ansible-builder;
yakut = python3Packages.callPackage ../development/tools/misc/yakut { };
### DEVELOPMENT / TOOLS / LANGUAGE-SERVERS
inherit (callPackages ../development/tools/language-servers/nixd { }) nixf nixt nixd;
antlr2 = callPackage ../development/tools/parsing/antlr/2.7.7.nix { };
antlr3_4 = callPackage ../development/tools/parsing/antlr/3.4.nix { };
antlr3_5 = callPackage ../development/tools/parsing/antlr/3.5.nix { };
antlr3 = antlr3_5;
inherit (callPackages ../development/tools/parsing/antlr/4.nix { })
antlr4_9
antlr4_10
antlr4_11
antlr4_12
antlr4_13
;
antlr4 = antlr4_13;
antlr = antlr4;
inherit (callPackages ../servers/apache-kafka { })
apacheKafka_3_9
apacheKafka_4_0
apacheKafka_4_1
;
apacheKafka = apacheKafka_4_1;
asn2quickder = python3Packages.callPackage ../development/tools/asn2quickder { };
libastyle = astyle.override { asLibrary = true; };
aws-adfs = with python3Packages; toPythonApplication aws-adfs;
electron-source = callPackage ../development/tools/electron { };
inherit (callPackages ../development/tools/electron/binary { })
electron_37-bin
electron_38-bin
electron_39-bin
electron_40-bin
;
inherit (callPackages ../development/tools/electron/chromedriver { })
electron-chromedriver_37
electron-chromedriver_38
electron-chromedriver_39
electron-chromedriver_40
;
inherit
(
let
# On Linux, we use source electron package. On Darwin, we use binary. Hydra
# and other infra uses Linux package .meta.platforms to determine supported
# platforms. It means that Hydra won't cache podman-desktop and other
# electron-based apps on Darwin. This helper will force Linux package .meta
# to list darwin.
getElectronPkg =
{ src, bin }:
(if lib.meta.availableOn stdenv.hostPlatform src then src else bin).overrideAttrs (old: {
meta = old.meta // {
platforms = lib.lists.unique (src.meta.platforms ++ bin.meta.platforms);
};
});
in
{
electron_37 = electron_37-bin;
electron_38 = getElectronPkg {
src = electron-source.electron_38;
bin = electron_38-bin;
};
electron_39 = getElectronPkg {
src = electron-source.electron_39;
bin = electron_39-bin;
};
electron_40 = getElectronPkg {
src = electron-source.electron_40;
bin = electron_40-bin;
};
}
)
electron_37
electron_38
electron_39
electron_40
;
electron = electron_38;
electron-bin = electron_38-bin;
electron-chromedriver = electron-chromedriver_38;
autoconf = callPackage ../development/tools/misc/autoconf { };
autoconf269 = callPackage ../development/tools/misc/autoconf/2.69.nix { };
autoconf271 = callPackage ../development/tools/misc/autoconf/2.71.nix { };
automake = automake118x;
automake116x = callPackage ../development/tools/misc/automake/automake-1.16.x.nix { };
automake118x = callPackage ../development/tools/misc/automake/automake-1.18.x.nix { };
bandit = with python3Packages; toPythonApplication bandit;
bazel = bazel_7;
buildifier = bazel-buildtools;
buildozer = bazel-buildtools;
unused_deps = bazel-buildtools;
buildBazelPackage = callPackage ../build-support/build-bazel-package { };
binutils-unwrapped = callPackage ../development/tools/misc/binutils {
# FHS sys dirs presumably only have stuff for the build platform
noSysDirs = (stdenv.targetPlatform != stdenv.hostPlatform) || noSysDirs;
};
binutils-unwrapped-all-targets = callPackage ../development/tools/misc/binutils {
# FHS sys dirs presumably only have stuff for the build platform
noSysDirs = (stdenv.targetPlatform != stdenv.hostPlatform) || noSysDirs;
withAllTargets = true;
};
binutils = wrapBintoolsWith {
bintools = binutils-unwrapped;
};
binutils_nogold = lowPrio (wrapBintoolsWith {
bintools = binutils-unwrapped.override {
enableGold = false;
};
});
binutilsNoLibc = wrapBintoolsWith {
bintools = binutils-unwrapped;
libc = targetPackages.preLibcHeaders or preLibcHeaders;
};
libbfd = callPackage ../development/tools/misc/binutils/libbfd.nix { };
libopcodes = callPackage ../development/tools/misc/binutils/libopcodes.nix { };
# Held back 2.38 release. Remove once all dependencies are ported to 2.39.
binutils-unwrapped_2_38 = callPackage ../development/tools/misc/binutils/2.38 {
autoreconfHook = autoreconfHook269;
# FHS sys dirs presumably only have stuff for the build platform
noSysDirs = (stdenv.targetPlatform != stdenv.hostPlatform) || noSysDirs;
};
libbfd_2_38 = callPackage ../development/tools/misc/binutils/2.38/libbfd.nix {
autoreconfHook = buildPackages.autoreconfHook269;
};
libopcodes_2_38 = callPackage ../development/tools/misc/binutils/2.38/libopcodes.nix {
autoreconfHook = buildPackages.autoreconfHook269;
};
# Here we select the default bintools implementations to be used. Note when
# cross compiling these are used not for this stage but the *next* stage.
# That is why we choose using this stage's target platform / next stage's
# host platform.
#
# Because this is the *next* stages choice, it's a bit non-modular to put
# here. In theory, bootstrapping is supposed to not be a chain but at tree,
# where each stage supports many "successor" stages, like multiple possible
# futures. We don't have a better alternative, but with this downside in
# mind, please be judicious when using this attribute. E.g. for building
# things in *this* stage you should use probably `stdenv.cc.bintools` (from a
# default or alternate `stdenv`), at build time, and try not to "force" a
# specific bintools at runtime at all.
#
# In other words, try to only use this in wrappers, and only use those
# wrappers from the next stage.
bintools-unwrapped =
let
inherit (stdenv.targetPlatform) linker;
in
if linker == "lld" then
llvmPackages.bintools-unwrapped
else if linker == "cctools" then
darwin.binutils-unwrapped
else if linker == "bfd" then
binutils-unwrapped
else if linker == "gold" then
binutils-unwrapped.override { enableGoldDefault = true; }
else
null;
bintoolsNoLibc = wrapBintoolsWith {
bintools = bintools-unwrapped;
libc = targetPackages.preLibcHeaders or preLibcHeaders;
};
bintools = wrapBintoolsWith {
bintools = bintools-unwrapped;
};
bintoolsDualAs = wrapBintoolsWith {
bintools = darwin.binutilsDualAs-unwrapped;
wrapGas = true;
};
black = with python3Packages; toPythonApplication black;
black-macchiato = with python3Packages; toPythonApplication black-macchiato;
buildkite-test-collector-rust =
callPackage ../development/tools/continuous-integration/buildkite-test-collector-rust
{
};
libbpf = callPackage ../os-specific/linux/libbpf { };
libbpf_0 = callPackage ../os-specific/linux/libbpf/0.x.nix { };
bundlewrap = with python3.pkgs; toPythonApplication bundlewrap;
# Wrapper that works as gcc or g++
# It can be used by setting in nixpkgs config like this, for example:
# replaceStdenv = { pkgs }: pkgs.ccacheStdenv;
# But if you build in chroot, you should have that path in chroot
# If instantiated directly, it will use $HOME/.ccache as the cache directory,
# i.e. /homeless-shelter/.ccache using the Nix daemon.
# You should specify a different directory using an override in
# packageOverrides to set extraConfig.
#
# Example using Nix daemon (i.e. multiuser Nix install or on NixOS):
# packageOverrides = pkgs: {
# ccacheWrapper = pkgs.ccacheWrapper.override {
# extraConfig = ''
# export CCACHE_COMPRESS=1
# export CCACHE_SLOPPINESS=random_seed
# export CCACHE_DIR=/var/cache/ccache
# export CCACHE_UMASK=007
# '';
# };
# You can use a different directory, but whichever directory you choose
# should be owned by user root, group nixbld with permissions 0770.
ccacheWrapper =
makeOverridable
(
{ extraConfig, cc }:
cc.override {
cc = ccache.links {
inherit extraConfig;
unwrappedCC = cc.cc;
};
}
)
{
extraConfig = "";
inherit (stdenv) cc;
};
ccacheStdenv = lowPrio (
makeOverridable
(
{ stdenv, ... }@extraArgs:
overrideCC stdenv (
buildPackages.ccacheWrapper.override (
{
inherit (stdenv) cc;
}
// lib.optionalAttrs (builtins.hasAttr "extraConfig" extraArgs) {
extraConfig = extraArgs.extraConfig;
}
)
)
)
{
inherit stdenv;
}
);
chromedriver = callPackage ../development/tools/selenium/chromedriver { };
chruby = callPackage ../development/tools/misc/chruby { rubies = null; };
cookiecutter = with python3Packages; toPythonApplication cookiecutter;
ctags = callPackage ../development/tools/misc/ctags { };
ctagsWrapped = callPackage ../development/tools/misc/ctags/wrapped.nix { };
# can't use override - it triggers infinite recursion
cmakeMinimal = callPackage ../by-name/cm/cmake/package.nix {
isMinimalBuild = true;
};
cmakeCurses = cmake.override {
uiToolkits = [ "ncurses" ];
};
cmakeWithGui = cmake.override {
uiToolkits = [
"ncurses"
"qt5"
];
};
# Does not actually depend on Qt 5
inherit (plasma5Packages) extra-cmake-modules;
coccinelle = callPackage ../development/tools/misc/coccinelle {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
credstash = with python3Packages; toPythonApplication credstash;
creduce = callPackage ../development/tools/misc/creduce {
inherit (llvmPackages_18) llvm libclang;
};
css-html-js-minify = with python3Packages; toPythonApplication css-html-js-minify;
cvise = python3Packages.callPackage ../development/tools/misc/cvise {
# cvise needs a port to latest llvm-21:
# https://github.com/marxin/cvise/issues/340
inherit (llvmPackages_20) llvm libclang;
};
daggerfall-unity-unfree = daggerfall-unity.override {
pname = "daggerfall-unity-unfree";
includeUnfree = true;
};
dbt = with python3Packages; toPythonApplication dbt-core;
libcxx = llvmPackages.libcxx;
libgcc = stdenv.cc.cc.libgcc or null;
# This is for e.g. LLVM libraries on linux.
gccForLibs =
if
stdenv.targetPlatform == stdenv.hostPlatform && targetPackages.stdenv.cc.isGNU
# Can only do this is in the native case, otherwise we might get infinite
# recursion if `targetPackages.stdenv.cc.cc` itself uses `gccForLibs`.
then
targetPackages.stdenv.cc.cc
else
gcc.cc;
distcc = callPackage ../development/tools/misc/distcc {
libiberty_static = libiberty.override { staticBuild = true; };
};
# distccWrapper: wrapper that works as gcc or g++
# It can be used by setting in nixpkgs config like this, for example:
# replaceStdenv = { pkgs }: pkgs.distccStdenv;
# But if you build in chroot, a default 'nix' will create
# a new net namespace, and won't have network access.
# You can use an override in packageOverrides to set extraConfig:
# packageOverrides = pkgs: {
# distccWrapper = pkgs.distccWrapper.override {
# extraConfig = ''
# DISTCC_HOSTS="myhost1 myhost2"
# '';
# };
#
distccWrapper = makeOverridable (
{
extraConfig ? "",
}:
wrapCC (distcc.links extraConfig)
) { };
distccStdenv = lowPrio (overrideCC stdenv buildPackages.distccWrapper);
distccMasquerade =
if stdenv.hostPlatform.isDarwin then
null
else
callPackage ../development/tools/misc/distcc/masq.nix {
gccRaw = gcc.cc;
binutils = binutils;
};
docutils = with python3Packages; toPythonApplication docutils;
doit = with python3Packages; toPythonApplication doit;
dot2tex = with python3.pkgs; toPythonApplication dot2tex;
doxygen_gui = lowPrio (doxygen.override { withGui = true; });
drake = callPackage ../development/tools/build-managers/drake { };
edb = libsForQt5.callPackage ../development/tools/misc/edb { };
license_finder = callPackage ../development/tools/license_finder { };
# NOTE: Override and set useIcon = false to use Awk instead of Icon.
fffuu = haskell.lib.compose.justStaticExecutables (
haskellPackages.callPackage ../tools/misc/fffuu { }
);
gede = libsForQt5.callPackage ../development/tools/misc/gede { };
gdbgui = python3Packages.callPackage ../development/tools/misc/gdbgui { };
flex_2_5_35 = callPackage ../development/tools/parsing/flex/2.5.35.nix { };
flex = callPackage ../development/tools/parsing/flex { };
m4 = gnum4;
gnumake = callPackage ../development/tools/build-managers/gnumake { };
gradle-packages = callPackage ../development/tools/build-managers/gradle { };
gradle_7-unwrapped = gradle-packages.gradle_7;
gradle_8-unwrapped = gradle-packages.gradle_8;
gradle_9-unwrapped = gradle-packages.gradle_9;
gradle-unwrapped = gradle-packages.gradle;
gradle_7 = gradle-packages.gradle_7.wrapped;
gradle_8 = gradle-packages.gradle_8.wrapped;
gradle_9 = gradle-packages.gradle_9.wrapped;
gradle = gradle-packages.gradle.wrapped;
griffe = with python3Packages; toPythonApplication griffe;
hadolint =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.hadolint;
iaca_2_1 = callPackage ../development/tools/iaca/2.1.nix { };
iaca_3_0 = callPackage ../development/tools/iaca/3.0.nix { };
iaca = iaca_3_0;
include-what-you-use = callPackage ../development/tools/analysis/include-what-you-use {
llvmPackages = llvmPackages_21;
};
inherit (callPackage ../applications/misc/inochi2d { })
inochi-creator
inochi-session
;
jenkins-job-builder = with python3Packages; toPythonApplication jenkins-job-builder;
kustomize = callPackage ../development/tools/kustomize { };
kustomize_3 = callPackage ../development/tools/kustomize/3.nix { };
kustomize_4 = callPackage ../development/tools/kustomize/4.nix { };
kustomize-sops = callPackage ../development/tools/kustomize/kustomize-sops.nix { };
libtool = libtool_2;
libtool_1_5 = callPackage ../development/tools/misc/libtool { };
libtool_2 = callPackage ../development/tools/misc/libtool/libtool2.nix { };
linuxkit = callPackage ../development/tools/misc/linuxkit {
inherit (darwin) sigtool;
};
lit = with python3Packages; toPythonApplication lit;
massif-visualizer = libsForQt5.callPackage ../development/tools/analysis/massif-visualizer { };
maven3 = maven;
inherit (maven) buildMaven;
mavproxy = python3Packages.callPackage ../applications/science/robotics/mavproxy { };
python-matter-server =
with python3Packages;
toPythonApplication (
python-matter-server.overridePythonAttrs (oldAttrs: {
dependencies = oldAttrs.dependencies ++ oldAttrs.optional-dependencies.server;
})
);
minizinc = callPackage ../development/tools/minizinc { };
mkdocs = with python3Packages; toPythonApplication mkdocs;
mold = wrapBintoolsWith {
bintools = mold-unwrapped;
extraBuildCommands = ''
wrap ${targetPackages.stdenv.cc.bintools.targetPrefix}ld.mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${mold-unwrapped}/bin/ld.mold
wrap ${targetPackages.stdenv.cc.bintools.targetPrefix}mold ${../build-support/bintools-wrapper/ld-wrapper.sh} ${mold-unwrapped}/bin/mold
'';
};
mopsa = ocamlPackages.mopsa.bin;
haskell-ci =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.haskell-ci;
nexusmods-app-unfree = nexusmods-app.override {
pname = "nexusmods-app-unfree";
_7zz = _7zz-rar;
};
nwjs = callPackage ../development/tools/nwjs { };
nwjs-sdk = callPackage ../development/tools/nwjs {
sdk = true;
};
obelisk = callPackage ../development/tools/ocaml/obelisk { menhir = ocamlPackages.menhir; };
openai = with python3Packages; toPythonApplication openai;
openai-whisper = with python3.pkgs; toPythonApplication openai-whisper;
openocd-rp2040 = openocd.overrideAttrs (old: {
pname = "openocd-rp2040";
src = fetchFromGitHub {
owner = "raspberrypi";
repo = "openocd";
rev = "4d87f6dcae77d3cbcd8ac3f7dc887adf46ffa504";
hash = "sha256-bBqVoHsnNoaC2t8hqcduI8GGlO0VDMUovCB0HC+rxvc=";
# openocd disables the vendored libraries that use submodules and replaces them with nix versions.
# this works out as one of the submodule sources seems to be flakey.
fetchSubmodules = false;
};
nativeBuildInputs = old.nativeBuildInputs ++ [
autoreconfHook
];
});
oprofile = callPackage ../development/tools/profiling/oprofile {
libiberty_static = libiberty.override { staticBuild = true; };
};
inherit (callPackage ../misc/optee-os { })
buildOptee
opteeQemuArm
opteeQemuAarch64
;
patchelf = callPackage ../development/tools/misc/patchelf { };
patchelfUnstable = lowPrio (callPackage ../development/tools/misc/patchelf/unstable.nix { });
pgcli = with pkgs.python3Packages; toPythonApplication pgcli;
pkgconf-unwrapped = libpkgconf;
pkgconf = callPackage ../build-support/pkg-config-wrapper {
pkg-config = pkgconf-unwrapped;
baseBinName = "pkgconf";
};
pkg-config = callPackage ../build-support/pkg-config-wrapper {
pkg-config = pkg-config-unwrapped;
};
pkg-configUpstream = lowPrio (
pkg-config.override (old: {
pkg-config = old.pkg-config.override {
vanilla = true;
};
})
);
portableService = callPackage ../build-support/portable-service { };
pyprof2calltree = with python3Packages; toPythonApplication pyprof2calltree;
premake4 = callPackage ../development/tools/misc/premake { };
premake5 = callPackage ../development/tools/misc/premake/5.nix { };
premake = premake4;
pycobertura = with python3Packages; toPythonApplication pycobertura;
pycritty = with python3Packages; toPythonApplication pycritty;
qxmledit = libsForQt5.callPackage ../applications/editors/qxmledit { };
radare2 = callPackage ../development/tools/analysis/radare2 (
{
lua = lua5;
}
// (config.radare or { })
);
rizin = pkgs.callPackage ../development/tools/analysis/rizin { };
rizinPlugins = recurseIntoAttrs rizin.plugins;
cutter = qt6.callPackage ../development/tools/analysis/rizin/cutter.nix { };
cutterPlugins = recurseIntoAttrs cutter.plugins;
ragel = ragelStable;
inherit (callPackages ../development/tools/parsing/ragel { }) ragelStable ragelDev;
inherit (regclient) regbot regctl regsync;
reno = with python312Packages; toPythonApplication reno;
replace-secret = callPackage ../build-support/replace-secret/replace-secret.nix { };
inherit (callPackage ../development/tools/replay-io { })
replay-io
replay-node-cli
;
rnginline = with python3Packages; toPythonApplication rnginline;
rr = callPackage ../development/tools/analysis/rr { };
muonStandalone = muon.override {
embedSamurai = true;
buildDocs = false;
};
seer = libsForQt5.callPackage ../development/tools/misc/seer { };
semantik = libsForQt5.callPackage ../applications/office/semantik { };
sbt = callPackage ../development/tools/build-managers/sbt { };
sbt-with-scala-native = callPackage ../development/tools/build-managers/sbt/scala-native.nix { };
simpleBuildTool = sbt;
shake =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.shake;
shellcheck = callPackage ../development/tools/shellcheck {
inherit (__splicedPackages.haskellPackages) ShellCheck;
};
# Minimal shellcheck executable for package checks.
# Use shellcheck which does not include docs, as
# pandoc takes long to build and documentation isn't needed for just running the cli
shellcheck-minimal = haskell.lib.compose.justStaticExecutables shellcheck.unwrapped;
speedtest-cli = with python3Packages; toPythonApplication speedtest-cli;
splint = callPackage ../development/tools/analysis/splint {
flex = flex_2_5_35;
};
spoofer = callPackage ../tools/networking/spoofer {
protobuf = protobuf_21;
};
spoofer-gui = callPackage ../tools/networking/spoofer {
withGUI = true;
protobuf = protobuf_21;
};
sqlite-utils = with python3Packages; toPythonApplication sqlite-utils;
sqlmap = with python3Packages; toPythonApplication sqlmap;
teensyduino = arduino-core.override {
withGui = true;
withTeensyduino = true;
};
texinfoPackages = callPackages ../development/tools/misc/texinfo/packages.nix { };
inherit (texinfoPackages)
texinfo7
;
texinfo = texinfo7;
texinfoInteractive = texinfo.override { interactive = true; };
tflint-plugins = recurseIntoAttrs (callPackage ../development/tools/analysis/tflint-plugins { });
tree-sitter = makeOverridable (callPackage ../development/tools/parsing/tree-sitter) { };
tree-sitter-grammars = recurseIntoAttrs tree-sitter.builtGrammars;
uhdMinimal = uhd.override {
enableUtils = false;
enablePythonApi = false;
};
gdbHostCpuOnly = gdb.override { hostCpuOnly = true; };
valgrind-light = (valgrind.override { gdb = null; }).overrideAttrs (oldAttrs: {
meta = oldAttrs.meta // {
description = "${oldAttrs.meta.description} (without GDB)";
};
});
vcpkg-tool-unwrapped = vcpkg-tool.override { doWrap = false; };
wild =
let
ldWrapper = ../build-support/bintools-wrapper/ld-wrapper.sh;
in
wrapBintoolsWith {
bintools = wild-unwrapped;
extraBuildCommands = ''
wrap wild ${ldWrapper} ${lib.getExe buildPackages.wild-unwrapped}
wrap ld.wild ${ldWrapper} ${lib.getExe buildPackages.wild-unwrapped}
wrap ${stdenv.cc.bintools.targetPrefix}ld.wild ${ldWrapper} ${lib.getExe buildPackages.wild-unwrapped}
wrap ${stdenv.cc.bintools.targetPrefix}ld ${ldWrapper} ${lib.getExe buildPackages.wild-unwrapped}
'';
};
whatstyle = callPackage ../development/tools/misc/whatstyle {
inherit (llvmPackages) clang-unwrapped;
};
whisper-cpp-vulkan = whisper-cpp.override {
vulkanSupport = true;
};
watson-ruby = callPackage ../development/tools/misc/watson-ruby { };
xcbuildHook = makeSetupHook {
name = "xcbuild-hook";
propagatedBuildInputs = [ xcbuild ];
} ../by-name/xc/xcbuild/setup-hook.sh;
xcodebuild = xcbuild;
xxdiff = libsForQt5.callPackage ../development/tools/misc/xxdiff { };
xxdiff-tip = xxdiff;
yq = python3.pkgs.toPythonApplication python3.pkgs.yq;
mypy = with python3Packages; toPythonApplication mypy;
mypy-protobuf = with python3Packages; toPythonApplication mypy-protobuf;
### DEVELOPMENT / LIBRARIES
abseil-cpp_202103 = callPackage ../development/libraries/abseil-cpp/202103.nix { };
abseil-cpp_202401 = callPackage ../development/libraries/abseil-cpp/202401.nix { };
abseil-cpp_202407 = callPackage ../development/libraries/abseil-cpp/202407.nix { };
acl = callPackage ../development/libraries/acl { };
allegro = allegro4;
allegro4 = callPackage ../development/libraries/allegro { };
allegro5 = callPackage ../development/libraries/allegro/5.nix { };
ansi2html = with python3.pkgs; toPythonApplication ansi2html;
appstream = callPackage ../development/libraries/appstream { };
argparse-manpage = with python3Packages; toPythonApplication argparse-manpage;
asio_1_32_0 = callPackage ../by-name/as/asio/package.nix { asioVersion = "1.32.0"; };
asio_1_36_0 = callPackage ../by-name/as/asio/package.nix { asioVersion = "1.36.0"; };
aspell = callPackage ../development/libraries/aspell { };
aspellDicts = recurseIntoAttrs (callPackages ../development/libraries/aspell/dictionaries.nix { });
aspellWithDicts = callPackage ../development/libraries/aspell/aspell-with-dicts.nix {
aspell = aspell.override { searchNixProfiles = false; };
};
astal = recurseIntoAttrs (lib.makeScope newScope (callPackage ../development/libraries/astal { }));
attr = callPackage ../development/libraries/attr { };
# Not moved to aliases while we decide if we should split the package again.
at-spi2-atk = at-spi2-core;
aqbanking = callPackage ../development/libraries/aqbanking { };
aws-spend-summary = haskellPackages.aws-spend-summary.bin;
inherit (callPackages ../development/libraries/bashup-events { }) bashup-events32 bashup-events44;
# TODO(@Ericson2314): Build bionic libc from source
bionic =
if stdenv.hostPlatform.useAndroidPrebuilt then
pkgs."androidndkPkgs_${stdenv.hostPlatform.androidNdkVersion}".libraries
else
callPackage ../os-specific/linux/bionic-prebuilt { };
inherit (callPackage ../development/libraries/boost { inherit (buildPackages) boost-build; })
boost177
boost178
boost179
boost180
boost181
boost182
boost183
boost186
boost187
boost188
boost189
boost190
;
boost = boost189;
botanEsdm = botan3.override { withEsdm = true; };
c-aresMinimal = callPackage ../by-name/c-/c-ares/package.nix { withCMake = false; };
niv = lib.getBin (haskell.lib.compose.justStaticExecutables haskellPackages.niv);
ormolu = lib.getBin (haskell.lib.compose.justStaticExecutables haskellPackages.ormolu);
ceedling = callPackage ../development/tools/ceedling { };
celt = callPackage ../development/libraries/celt { };
celt_0_7 = callPackage ../development/libraries/celt/0.7.nix { };
celt_0_5_1 = callPackage ../development/libraries/celt/0.5.1.nix { };
certbot-full = certbot.withPlugins (
cp: with cp; [
# FIXME unbreak certbot-dns-cloudflare
certbot-dns-google
certbot-dns-inwx
certbot-dns-ovh
certbot-dns-rfc2136
certbot-dns-route53
certbot-dns-wedos
certbot-nginx
]
);
clucene-core = clucene-core_2;
inherit (cosmopolitan) cosmocc;
ustream-ssl = callPackage ../development/libraries/ustream-ssl { ssl_implementation = openssl; };
ustream-ssl-wolfssl = callPackage ../development/libraries/ustream-ssl {
ssl_implementation = wolfssl;
additional_buildInputs = [ openssl ];
};
ustream-ssl-mbedtls = callPackage ../development/libraries/ustream-ssl {
ssl_implementation = mbedtls_2;
};
cxxtest = python3Packages.callPackage ../development/libraries/cxxtest { };
# Make bdb5 the default as it is the last release under the custom
# bsd-like license
db = db5;
db4 = db48;
db48 = callPackage ../development/libraries/db/db-4.8.nix { };
db5 = db53;
db53 = callPackage ../development/libraries/db/db-5.3.nix { };
db6 = db60;
db60 = callPackage ../development/libraries/db/db-6.0.nix { };
db62 = callPackage ../development/libraries/db/db-6.2.nix { };
# Multi-arch "drivers" which we want to build for i686.
driversi686Linux = recurseIntoAttrs {
inherit (pkgsi686Linux)
intel-media-driver
intel-vaapi-driver
mesa
mesa-demos
libva-vdpau-driver
libvdpau-va-gl
vdpauinfo
;
};
vapoursynth-editor = libsForQt5.callPackage ../by-name/va/vapoursynth/editor.nix { };
enchant = enchant_2;
factorPackages-0_99 = callPackage ./factor-packages.nix {
factor-unwrapped = callPackage ../development/compilers/factor-lang/0.99.nix { };
};
factorPackages-0_100 = callPackage ./factor-packages.nix {
factor-unwrapped = callPackage ../development/compilers/factor-lang/0.100.nix {
stdenv = clangStdenv;
};
};
factorPackages-0_101 = callPackage ./factor-packages.nix {
factor-unwrapped = callPackage ../development/compilers/factor-lang/0.101.nix {
stdenv = clangStdenv;
};
};
factorPackages = factorPackages-0_100;
factor-lang-0_99 = factorPackages-0_99.factor-lang;
factor-lang-0_100 = factorPackages-0_100.factor-lang;
factor-lang-0_101 = factorPackages-0_101.factor-lang;
factor-lang = factor-lang-0_101;
inherit (callPackage ../development/libraries/ffmpeg { })
ffmpeg_4
ffmpeg_4-headless
ffmpeg_4-full
ffmpeg_6
ffmpeg_6-headless
ffmpeg_6-full
ffmpeg_7
ffmpeg_7-headless
ffmpeg_7-full
ffmpeg_8
ffmpeg_8-headless
ffmpeg_8-full
ffmpeg
ffmpeg-headless
ffmpeg-full
;
fftwSinglePrec = fftw.override { precision = "single"; };
fftwFloat = fftwSinglePrec; # the configure option is just an alias
fftwLongDouble = fftw.override { precision = "long-double"; };
# Need gcc >= 4.6.0 to build with FFTW with quad precision, but Darwin defaults to Clang
fftwQuad = fftw.override {
precision = "quad-precision";
stdenv = gccStdenv;
};
fftwMpi = fftw.override { enableMpi = true; };
fltk_1_3-minimal = fltk_1_3.override {
withGL = false;
withCairo = false;
withExamples = false;
withDocs = false;
};
fltk_1_4-minimal = fltk_1_4.override {
withGL = false;
withCairo = false;
withPango = false;
withExamples = false;
withDocs = false;
};
fltk = fltk_1_3;
fltk-minimal = fltk_1_3-minimal;
inherit (callPackages ../development/libraries/fmt { })
fmt_9
fmt_10
fmt_11
fmt_12
;
fmt = fmt_12;
fontconfig = callPackage ../development/libraries/fontconfig { };
makeFontsConf = callPackage ../development/libraries/fontconfig/make-fonts-conf.nix { };
makeFontsCache = callPackage ../development/libraries/fontconfig/make-fonts-cache.nix { };
gamt = callPackage ../by-name/am/amtterm/package.nix { withGamt = true; };
gecode_3 = callPackage ../development/libraries/gecode/3.nix { };
gecode_6 = qt5.callPackage ../development/libraries/gecode { };
gecode = gecode_6;
geoclue2-with-demo-agent = geoclue2.override { withDemoAgent = true; };
geoipWithDatabase = makeOverridable (callPackage ../by-name/ge/geoip/package.nix) {
drvName = "geoip-tools";
geoipDatabase = geolite-legacy;
};
gettext = callPackage ../development/libraries/gettext { };
gdalMinimal = gdal.override {
useMinimalFeatures = true;
};
ghp-import = with python3Packages; toPythonApplication ghp-import;
ghcid = haskellPackages.ghcid.bin;
glfw = glfw3;
glfw3-minecraft = callPackage ../by-name/gl/glfw3/package.nix {
withMinecraftPatch = true;
};
glibc = callPackage ../development/libraries/glibc (
if stdenv.hostPlatform != stdenv.buildPlatform then
{
stdenv = gccCrossLibcStdenv; # doesn't compile without gcc
libgcc = callPackage ../development/libraries/gcc/libgcc {
gcc = gccCrossLibcStdenv.cc;
glibc = glibc.override { libgcc = null; };
stdenvNoLibs = gccCrossLibcStdenv;
};
}
else
{
stdenv = gccStdenv; # doesn't compile without gcc
}
);
mtrace = callPackage ../development/libraries/glibc/mtrace.nix { };
# Provided by libc on Operating Systems that use the Extensible Linker Format.
elf-header = if stdenv.hostPlatform.isElf then null else elf-header-real;
glibc_memusage = callPackage ../development/libraries/glibc {
withGd = true;
};
# These are used when building compiler-rt / libgcc, prior to building libc.
preLibcHeaders =
let
inherit (stdenv.hostPlatform) libc;
in
if stdenv.hostPlatform.isMinGW then
windows.mingw_w64_headers or fallback
else if libc == "nblibc" then
netbsd.headers
else if libc == "cygwin" then
cygwin.newlib-cygwin-headers
else
null;
# We can choose:
libc =
let
inherit (stdenv.hostPlatform) libc;
# libc is hackily often used from the previous stage. This `or`
# hack fixes the hack, *sigh*.
in
if libc == null then
null
else if libc == "glibc" then
glibc
else if libc == "bionic" then
bionic
else if libc == "uclibc" then
uclibc-ng
else if libc == "avrlibc" then
avrlibc
else if libc == "newlib" && stdenv.hostPlatform.isMsp430 then
msp430Newlib
else if libc == "newlib" && stdenv.hostPlatform.isVc4 then
vc4-newlib
else if libc == "newlib" && stdenv.hostPlatform.isOr1k then
or1k-newlib
else if libc == "newlib" then
newlib
else if libc == "newlib-nano" then
newlib-nano
else if libc == "musl" then
musl
else if libc == "msvcrt" then
if stdenv.hostPlatform.isMinGW then windows.mingw_w64 else windows.sdk
else if libc == "ucrt" then
if stdenv.hostPlatform.isMinGW then windows.mingw_w64 else windows.sdk
else if libc == "cygwin" then
cygwin.newlib-cygwin-nobin
else if libc == "libSystem" then
if stdenv.hostPlatform.useiOSPrebuilt then darwin.iosSdkPkgs.libraries else darwin.libSystem
else if libc == "fblibc" then
freebsd.libc
else if libc == "oblibc" then
openbsd.libc
else if libc == "nblibc" then
netbsd.libc
else if libc == "wasilibc" then
wasilibc
else if libc == "relibc" then
relibc
else if libc == "llvm" then
llvmPackages_20.libc
else
throw "Unknown libc ${libc}";
threads =
lib.optionalAttrs (stdenv.hostPlatform.isMinGW && !(stdenv.hostPlatform.useLLVM or false))
{
# other possible values: win32 or posix
model = "mcf";
# For win32 or posix set this to null
package = windows.mcfgthreads;
};
# Only supported on Linux and only on glibc
glibcLocales =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu then
callPackage ../development/libraries/glibc/locales.nix {
stdenv = if (!stdenv.cc.isGNU) then gccStdenv else stdenv;
withLinuxHeaders = !stdenv.cc.isGNU;
}
else
null;
glibcLocalesUtf8 =
if stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isGnu then
callPackage ../development/libraries/glibc/locales.nix {
stdenv = if (!stdenv.cc.isGNU) then gccStdenv else stdenv;
withLinuxHeaders = !stdenv.cc.isGNU;
allLocales = false;
}
else
null;
glibcInfo = callPackage ../development/libraries/glibc/info.nix { };
glibc_multi = callPackage ../development/libraries/glibc/multi.nix {
# The buildPackages is required for cross-compilation. The pkgsi686Linux set
# has target and host always set to the same value based on target platform
# of the current set. We need host to be same as build to correctly get i686
# variant of glibc.
glibc32 = pkgsi686Linux.buildPackages.glibc;
};
glsurf = callPackage ../applications/science/math/glsurf {
ocamlPackages = ocaml-ng.ocamlPackages_4_14_unsafe_string;
};
gmime2 = callPackage ../development/libraries/gmime/2.nix { };
gmime3 = callPackage ../development/libraries/gmime/3.nix { };
gmime = gmime2;
gmp6 = callPackage ../development/libraries/gmp/6.x.nix { };
gmp = gmp6;
gmpxx = gmp.override { cxx = true; };
#GMP ex-satellite, so better keep it near gmp
# A GMP fork
gobject-introspection = callPackage ../development/libraries/gobject-introspection/wrapper.nix { };
gobject-introspection-unwrapped = callPackage ../development/libraries/gobject-introspection {
nixStoreDir = config.nix.storeDir or builtins.storeDir;
};
gst_all_1 = recurseIntoAttrs (callPackage ../development/libraries/gstreamer { });
grantlee = libsForQt5.callPackage ../development/libraries/grantlee { };
glirc = haskell.lib.compose.justStaticExecutables haskellPackages.glirc;
# Not moved to aliases while we decide if we should split the package again.
atk = at-spi2-core;
pangomm = callPackage ../development/libraries/pangomm { };
pangomm_2_48 = callPackage ../development/libraries/pangomm/2.48.nix { };
pangomm_2_42 = callPackage ../development/libraries/pangomm/2.42.nix { };
gtk2-x11 = gtk2.override {
cairo = cairo.override { x11Support = true; };
pango = pango.override {
cairo = cairo.override { x11Support = true; };
x11Support = true;
};
gdktarget = "x11";
};
# On darwin gtk uses cocoa by default instead of x11.
gtk3-x11 = gtk3.override {
cairo = cairo.override { x11Support = true; };
pango = pango.override {
cairo = cairo.override { x11Support = true; };
x11Support = true;
};
x11Support = true;
};
gtk-mac-integration-gtk2 = gtk-mac-integration.override {
gtk = gtk2;
};
gtk-mac-integration-gtk3 = gtk-mac-integration;
gtksourceview = gtksourceview3;
gtksourceview3 = callPackage ../development/libraries/gtksourceview/3.x.nix { };
gtksourceview4 = callPackage ../development/libraries/gtksourceview/4.x.nix { };
gtksourceview5 = callPackage ../development/libraries/gtksourceview/5.x.nix { };
gwenhywfar = callPackage ../development/libraries/aqbanking/gwenhywfar.nix { };
hamlib = hamlib_3;
harfbuzzFull = harfbuzz.override {
withGraphite2 = true;
withIcu = true;
};
herqq = libsForQt5.callPackage ../development/libraries/herqq { };
highfive-mpi = highfive.override { hdf5 = hdf5-mpi; };
hunspellDicts = recurseIntoAttrs (callPackages ../by-name/hu/hunspell/dictionaries.nix { });
hunspellDictsChromium = recurseIntoAttrs (
callPackages ../by-name/hu/hunspell/dictionaries-chromium.nix { }
);
hunspellWithDicts =
dicts:
lib.warn "hunspellWithDicts is deprecated, please use hunspell.withDicts instead."
hunspell.withDicts
(_: dicts);
icu-versions = callPackages ../development/libraries/icu { };
inherit (icu-versions)
icu60
icu63
icu64
icu66
icu67
icu69
icu70
icu71
icu72
icu73
icu74
icu75
icu76
icu77
icu78
;
icu = icu76;
idasen = with python3Packages; toPythonApplication idasen;
imlib2Full = imlib2.override {
# Compilation error on Darwin with librsvg. For more information see:
# https://github.com/NixOS/nixpkgs/pull/166452#issuecomment-1090725613
svgSupport = !stdenv.hostPlatform.isDarwin;
heifSupport = !stdenv.hostPlatform.isDarwin;
webpSupport = true;
jxlSupport = true;
psSupport = true;
};
imlib2-nox = imlib2.override {
x11Support = false;
};
imlibsetroot = callPackage ../applications/graphics/imlibsetroot { };
indilib = callPackage ../development/libraries/science/astronomy/indilib { };
indi-3rdparty = recurseIntoAttrs (
callPackages ../development/libraries/science/astronomy/indilib/indi-3rdparty.nix { }
);
ios-cross-compile = callPackage ../development/compilers/ios-cross-compile/9.2.nix { };
irrlicht =
if !stdenv.hostPlatform.isDarwin then
callPackage ../development/libraries/irrlicht { }
else
callPackage ../development/libraries/irrlicht/mac.nix {
};
iso-flags-png-320x240 = iso-flags.overrideAttrs (oldAttrs: {
buildFlags = [ "png-country-320x240-fancy" ];
installPhase = ''
runHook preInstall
mkdir -p $out/share && mv build/png-country-4x2-fancy/res-320x240 $out/share/iso-flags-png
runHook postInstall
'';
});
itk_5_2 = callPackage ../development/libraries/itk/5.2.x.nix {
enableRtk = false;
};
itk_5 = callPackage ../development/libraries/itk/5.x.nix { };
itk = itk_5;
rust-jemalloc-sys-unprefixed = rust-jemalloc-sys.override { unprefixed = true; };
json2yaml = haskell.lib.compose.justStaticExecutables haskellPackages.json2yaml;
libkrb5 = krb5; # TODO(de11n) Try to make krb5 reuse libkrb5 as a dependency
l-smash = callPackage ../development/libraries/l-smash {
stdenv = gccStdenv;
};
lcms = lcms2;
libappindicator-gtk2 = libappindicator.override { gtkVersion = "2"; };
libappindicator-gtk3 = libappindicator.override { gtkVersion = "3"; };
libbass = (callPackage ../development/libraries/audio/libbass { }).bass;
libbass_fx = (callPackage ../development/libraries/audio/libbass { }).bass_fx;
libbassmidi = (callPackage ../development/libraries/audio/libbass { }).bassmidi;
libbassmix = (callPackage ../development/libraries/audio/libbass { }).bassmix;
libcamera-qcam = callPackage ../by-name/li/libcamera/package.nix { withQcam = true; };
libcanberra-gtk2 = pkgs.libcanberra.override {
gtkSupport = "gtk2";
};
libcanberra-gtk3 = pkgs.libcanberra.override {
gtkSupport = "gtk3";
};
libcanberra_kde =
if (config.kde_runtime.libcanberraWithoutGTK or true) then
pkgs.libcanberra
else
pkgs.libcanberra-gtk2;
libchamplain_libsoup3 = libchamplain.override { withLibsoup3 = true; };
libchipcard = callPackage ../development/libraries/aqbanking/libchipcard.nix { };
libdbi-drivers-base = libdbi-drivers.override {
withMysql = false;
withSqlite = false;
};
libdbusmenu-gtk2 = libdbusmenu.override { gtkVersion = "2"; };
libdbusmenu-gtk3 = libdbusmenu.override { gtkVersion = "3"; };
dwarfdump = libdwarf.bin;
libfm-extra = libfm.override {
extraOnly = true;
};
# Use Apples fork of libffi by default, which provides APIs and trampoline functionality that is not yet
# merged upstream. This is needed by some packages (such as cffi).
#
# `libffiReal` is provided in case the upstream libffi package is needed on Darwin instead of the fork.
libffi = if stdenv.hostPlatform.isDarwin then darwin.libffi else libffiReal;
# https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgpg-error.git;a=blob;f=README;h=fd6e1a83f55696c1f7a08f6dfca08b2d6b7617ec;hb=70058cd9f944d620764e57c838209afae8a58c78#l118
libgpg-error-gen-posix-lock-obj = libgpg-error.override {
genPosixLockObjOnly = true;
};
libindicator-gtk2 = libindicator.override { gtkVersion = "2"; };
libindicator-gtk3 = libindicator.override { gtkVersion = "3"; };
inherit (callPackage ../development/libraries/libliftoff { }) libliftoff_0_4 libliftoff_0_5;
libliftoff = libliftoff_0_5;
libqtdbusmock = libsForQt5.callPackage ../development/libraries/libqtdbusmock {
inherit (lomiri) cmake-extras;
};
libqtdbustest = libsForQt5.callPackage ../development/libraries/libqtdbustest {
inherit (lomiri) cmake-extras;
};
libretranslate = with python3.pkgs; toPythonApplication libretranslate;
librsb = callPackage ../development/libraries/librsb {
# Taken from https://build.opensuse.org/package/view_file/science/librsb/librsb.spec
memHierarchy = "L3:16/64/8192K,L2:16/64/2048K,L1:8/64/16K";
};
# GNU libc provides libiconv so systems with glibc don't need to
# build libiconv separately. Additionally, Apple forked/repackaged
# libiconv, so build and use the upstream one with a compatible ABI,
# and BSDs include libiconv in libc.
#
# We also provide `libiconvReal`, which will always be a standalone libiconv,
# just in case you want it regardless of platform.
libiconv =
if
lib.elem stdenv.hostPlatform.libc [
"glibc"
"musl"
"nblibc"
"wasilibc"
"fblibc"
]
then
libcIconv pkgs.libc
else if stdenv.hostPlatform.isDarwin then
darwin.libiconv
else
libiconvReal;
libcIconv =
libc:
let
inherit (libc) pname version;
libcDev = lib.getDev libc;
in
runCommand "${pname}-iconv-${version}" { strictDeps = true; } ''
mkdir -p $out/include
ln -sv ${libcDev}/include/iconv.h $out/include
'';
libiconvReal = callPackage ../development/libraries/libiconv { };
iconv =
if
lib.elem stdenv.hostPlatform.libc [
"glibc"
"musl"
]
then
lib.getBin libc
else if stdenv.hostPlatform.isDarwin then
lib.getBin libiconv
else if stdenv.hostPlatform.isFreeBSD then
lib.getBin freebsd.iconv
else
lib.getBin libiconvReal;
# On non-GNU systems we need GNU Gettext for libintl.
libintl = if stdenv.hostPlatform.libc != "glibc" then gettext else null;
libidn2 = callPackage ../development/libraries/libidn2 { };
libinput = callPackage ../development/libraries/libinput {
graphviz = graphviz-nox;
};
# also known as libturbojpeg
libjpeg = libjpeg_turbo;
libjpeg8 = libjpeg_turbo.override { enableJpeg8 = true; };
malcontent = callPackage ../development/libraries/malcontent { };
malcontent-ui = callPackage ../development/libraries/malcontent/ui.nix { };
inherit
({
libmicrohttpd_0_9_77 = callPackage ../development/libraries/libmicrohttpd/0.9.77.nix { };
libmicrohttpd_1_0 = callPackage ../development/libraries/libmicrohttpd/1.0.nix { };
})
libmicrohttpd_0_9_77
libmicrohttpd_1_0
;
libmicrohttpd = libmicrohttpd_1_0;
libosmscout = libsForQt5.callPackage ../development/libraries/libosmscout { };
libpeas = callPackage ../development/libraries/libpeas { };
libpeas2 = callPackage ../development/libraries/libpeas/2.x.nix { };
inherit
(callPackages ../development/libraries/prometheus-client-c {
stdenv = gccStdenv; # Required for darwin
})
libprom
;
libpulsar = callPackage ../development/libraries/libpulsar {
protobuf = protobuf_21;
};
libsigcxx = callPackage ../development/libraries/libsigcxx { };
libsigcxx30 = callPackage ../development/libraries/libsigcxx/3.0.nix { };
libsoup_2_4 = callPackage ../development/libraries/libsoup { };
libsoup_3 = callPackage ../development/libraries/libsoup/3.x.nix { };
libtorrent-rasterbar = libtorrent-rasterbar-2_0_x;
libubox-nossl = callPackage ../development/libraries/libubox { };
libubox = callPackage ../development/libraries/libubox { with_ustream_ssl = true; };
libubox-wolfssl = callPackage ../development/libraries/libubox {
with_ustream_ssl = true;
ustream-ssl = ustream-ssl-wolfssl;
};
libubox-mbedtls = callPackage ../development/libraries/libubox {
with_ustream_ssl = true;
ustream-ssl = ustream-ssl-mbedtls;
};
libunistring = callPackage ../development/libraries/libunistring { };
libunique = callPackage ../development/libraries/libunique { };
libunique3 = callPackage ../development/libraries/libunique/3.x.nix { };
libusb-compat-0_1 = callPackage ../development/libraries/libusb-compat/0.1.nix { };
libunwind =
# Use the system unwinder in the SDK but provide a compatibility package to:
# 1. avoid evaluation errors with setting `unwind` to `null`; and
# 2. provide a `.pc` for compatibility with packages that expect to find libunwind that way.
if stdenv.hostPlatform.isDarwin then
darwin.libunwind
else if stdenv.hostPlatform.system == "riscv32-linux" then
llvmPackages.libunwind
else
callPackage ../development/libraries/libunwind { };
libv4l = lowPrio (
v4l-utils.override {
withUtils = false;
}
);
libva-minimal = callPackage ../development/libraries/libva { minimal = true; };
libva = libva-minimal.override { minimal = false; };
libva-utils = callPackage ../development/libraries/libva/utils.nix { };
libva1 = callPackage ../development/libraries/libva/1.nix { };
libva1-minimal = libva1.override { minimal = true; };
libwnck = callPackage ../development/libraries/libwnck { };
libwnck2 = callPackage ../development/libraries/libwnck/2.nix { };
libwpd = callPackage ../development/libraries/libwpd { };
libwpd_08 = callPackage ../development/libraries/libwpd/0.8.nix { };
libxcrypt = callPackage ../development/libraries/libxcrypt {
fetchurl = stdenv.fetchurlBoot;
perl = buildPackages.perl.override {
enableCrypt = false;
fetchurl = stdenv.fetchurlBoot;
};
};
libxcrypt-legacy = libxcrypt.override { enableHashes = "all"; };
libxkbcommon = libxkbcommon_8;
inherit (callPackage ../development/libraries/libxml2 { })
libxml2_13
libxml2
;
libxml2Python =
let
inherit (python3.pkgs) libxml2;
in
pkgs.buildEnv {
# slightly hacky
name = "libxml2+py-${res.libxml2.version}";
paths = with libxml2; [
dev
bin
py
];
# Avoid update.nix/tests conflicts with libxml2.
passthru = removeAttrs libxml2.passthru [
"updateScript"
"tests"
];
# the hook to find catalogs is hidden by buildEnv
postBuild = ''
mkdir "$out/nix-support"
cp '${libxml2.dev}/nix-support/propagated-build-inputs' "$out/nix-support/"
'';
};
libxmlxx = callPackage ../development/libraries/libxmlxx { };
libxmlxx3 = callPackage ../development/libraries/libxmlxx/v3.nix { };
libwpe = callPackage ../development/libraries/libwpe { };
libwpe-fdo = callPackage ../development/libraries/libwpe/fdo.nix { };
liquid-dsp = callPackage ../development/libraries/liquid-dsp {
inherit (darwin) autoSignDarwinBinariesHook;
};
luabind = callPackage ../development/libraries/luabind { lua = lua5_1; };
luabind_luajit = luabind.override { lua = luajit; };
luksmeta = callPackage ../development/libraries/luksmeta {
asciidoc = asciidoc-full;
};
matterhorn =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.matterhorn;
mbedtls_2 = callPackage ../development/libraries/mbedtls/2.nix { };
mbedtls = callPackage ../development/libraries/mbedtls/3.nix { };
simple-dftd3 = callPackage ../development/libraries/science/chemistry/simple-dftd3 { };
tblite = callPackage ../development/libraries/science/chemistry/tblite { };
## libGL/libGLU/Mesa stuff
# Default libGL implementation.
#
# Android NDK provides an OpenGL implementation, we can just use that.
#
# On macOS, the SDK provides the OpenGL framework in `stdenv`.
# Packages that still need GLX specifically can pull in `libGLX`
# instead. If you have a package that should work without X11 but it
# cant find the library, it may help to add the path to
# `$NIX_CFLAGS_COMPILE`:
#
# preConfigure = ''
# export NIX_CFLAGS_COMPILE+=" -L$SDKROOT/System/Library/Frameworks/OpenGL.framework/Versions/Current/Libraries"
# '';
#
# If you still cant get it working, please dont hesitate to ping
# @NixOS/darwin-maintainers to ask an expert to take a look.
libGL =
if stdenv.hostPlatform.useAndroidPrebuilt then
stdenv
else if stdenv.hostPlatform.isDarwin then
null
else
libglvnd;
# On macOS, the SDK provides the OpenGL framework in `stdenv`.
# Packages that use `libGLX` on macOS may need to depend on
# `mesa_glu` directly if this doesnt work.
libGLU = if stdenv.hostPlatform.isDarwin then null else mesa_glu;
# `libglvnd` does not work (yet?) on macOS.
libGLX = if stdenv.hostPlatform.isDarwin then mesa else libglvnd;
# On macOS, the SDK provides the GLUT framework in `stdenv`. Packages
# that use `libGLX` on macOS may need to depend on `freeglut`
# directly if this doesnt work.
libglut = if stdenv.hostPlatform.isDarwin then null else freeglut;
mesa =
if stdenv.hostPlatform.isDarwin then
callPackage ../development/libraries/mesa/darwin.nix { }
else
callPackage ../development/libraries/mesa { };
mesa_i686 = pkgsi686Linux.mesa; # make it build on Hydra
libgbm = callPackage ../development/libraries/mesa/gbm.nix { };
mesa-gl-headers = callPackage ../development/libraries/mesa/headers.nix { };
## End libGL/libGLU/Mesa stuff
mkvtoolnix-cli = mkvtoolnix.override {
withGUI = false;
};
mpeg2dec = libmpeg2;
msoffcrypto-tool = with python3.pkgs; toPythonApplication msoffcrypto-tool;
mpich = callPackage ../development/libraries/mpich {
automake = automake116x;
ch4backend = libfabric;
};
mpich-pmix = mpich.override {
pmixSupport = true;
withPm = [ ];
};
mygpoclient = with python3.pkgs; toPythonApplication mygpoclient;
nanovna-saver = libsForQt5.callPackage ../applications/science/electronics/nanovna-saver { };
nemo-qml-plugin-dbus = libsForQt5.callPackage ../development/libraries/nemo-qml-plugin-dbus { };
ncurses5 = ncurses.override {
abiVersion = "5";
};
ncurses6 = ncurses.override {
abiVersion = "6";
};
ncurses =
if stdenv.hostPlatform.useiOSPrebuilt then
null
else
callPackage ../development/libraries/ncurses {
# ncurses is included in the SDK. Avoid an infinite recursion by using a bootstrap stdenv.
stdenv = if stdenv.hostPlatform.isDarwin then darwin.bootstrapStdenv else stdenv;
};
nettle = import ../development/libraries/nettle { inherit callPackage fetchurl; };
libnghttp2 = nghttp2.lib;
ngtcp2 = callPackage ../development/libraries/ngtcp2 { };
ngtcp2-gnutls = callPackage ../development/libraries/ngtcp2/gnutls.nix { };
non = callPackage ../applications/audio/non {
wafHook = (waf.override { extraTools = [ "gccdeps" ]; }).hook;
};
nss_latest = callPackage ../development/libraries/nss/latest.nix { };
nss_esr = callPackage ../development/libraries/nss/esr.nix { };
nss = nss_esr;
nssTools = nss.tools;
nuspellWithDicts =
dicts:
lib.warn "nuspellWithDicts is deprecated, please use nuspell.withDicts instead." nuspell.withDicts (
_: dicts
);
nv-codec-headers-9 = nv-codec-headers.override { majorVersion = "9"; };
nv-codec-headers-10 = nv-codec-headers.override { majorVersion = "10"; };
nv-codec-headers-11 = nv-codec-headers.override { majorVersion = "11"; };
nv-codec-headers-12 = nv-codec-headers.override { majorVersion = "12"; };
nvidiaCtkPackages = recurseIntoAttrs (
callPackage ../by-name/nv/nvidia-container-toolkit/packages.nix { }
);
inherit (nvidiaCtkPackages)
nvidia-docker
;
nvidia-vaapi-driver = hiPrio (callPackage ../development/libraries/nvidia-vaapi-driver { });
nvidia-system-monitor-qt = libsForQt5.callPackage ../tools/system/nvidia-system-monitor-qt { };
nvtopPackages = recurseIntoAttrs (import ../tools/system/nvtop { inherit callPackage stdenv; });
inherit (callPackages ../development/libraries/ogre { })
ogre_13
ogre_14
;
ogre = ogre_14;
openal = openal-soft;
opencascade-occt_7_6 = opencascade-occt.overrideAttrs rec {
pname = "opencascade-occt";
version = "7.6.2";
commit = "V${builtins.replaceStrings [ "." ] [ "_" ] version}";
src = fetchurl {
name = "occt-${commit}.tar.gz";
url = "https://git.dev.opencascade.org/gitweb/?p=occt.git;a=snapshot;h=${commit};sf=tgz";
hash = "sha256-n3KFrN/mN1SVXfuhEUAQ1fJzrCvhiclxfEIouyj9Z18=";
};
};
opencascade-occt_7_6_1 = opencascade-occt.overrideAttrs {
pname = "opencascade-occt";
version = "7.6.1";
src = fetchFromGitHub {
owner = "Open-Cascade-SAS";
repo = "OCCT";
rev = "V7_6_1";
sha256 = "sha256-C02P3D363UwF0NM6R4D4c6yE5ZZxCcu5CpUaoTOxh7E=";
};
};
opencv4 = callPackage ../development/libraries/opencv/4.x.nix {
pythonPackages = python3Packages;
# TODO: LTO does not work.
# https://github.com/NixOS/nixpkgs/issues/343123
enableLto = false;
};
opencv4WithoutCuda = opencv4.override {
enableCuda = false;
};
opencv = opencv4;
openexr = callPackage ../development/libraries/openexr/3.nix { };
openexr_2 = callPackage ../development/libraries/openexr/2.nix { };
opencolorio = callPackage ../development/libraries/opencolorio { };
openstackclient = with python313Packages; toPythonApplication python-openstackclient;
openstackclient-full = openstackclient.overridePythonAttrs (oldAttrs: {
dependencies = oldAttrs.dependencies ++ oldAttrs.optional-dependencies.cli-plugins;
});
barbicanclient = with python313Packages; toPythonApplication python-barbicanclient;
glanceclient = with python313Packages; toPythonApplication python-glanceclient;
heatclient = with python313Packages; toPythonApplication python-heatclient;
ironicclient = with python313Packages; toPythonApplication python-ironicclient;
magnumclient = with python313Packages; toPythonApplication python-magnumclient;
manilaclient = with python313Packages; toPythonApplication python-manilaclient;
mistralclient = with python313Packages; toPythonApplication python-mistralclient;
neutronclient = with python313Packages; toPythonApplication python-neutronclient;
swiftclient = with python313Packages; toPythonApplication python-swiftclient;
troveclient = with python313Packages; toPythonApplication python-troveclient;
watcherclient = with python313Packages; toPythonApplication python-watcherclient;
zunclient = with python313Packages; toPythonApplication python-zunclient;
inherit (callPackages ../by-name/li/libressl { })
libressl_4_1
libressl_4_2
;
openssl = openssl_3_6;
openssl_oqs = openssl.override {
providers = [
{
name = "oqsprovider";
package = pkgs.oqs-provider;
}
];
autoloadProviders = true;
extraINIConfig = {
tls_system_default = {
Groups = "X25519MLKEM768:X25519:P-256:X448:P-521:ffdhe2048:ffdhe3072";
};
};
};
openssl_legacy = openssl.override {
conf = ../development/libraries/openssl/3.0/legacy.cnf;
};
inherit (callPackages ../development/libraries/openssl { })
openssl_1_1
openssl_3
openssl_3_5
openssl_3_6
;
pcre = callPackage ../development/libraries/pcre { };
# pcre32 seems unused
pcre-cpp = res.pcre.override { variant = "cpp"; };
pcre2 = callPackage ../development/libraries/pcre2 { };
pdfhummus = libsForQt5.callPackage ../development/libraries/pdfhummus { };
inherit
(callPackage ../development/libraries/physfs {
})
physfs_2
physfs
;
pipelight = callPackage ../tools/misc/pipelight {
stdenv = stdenv_32bit;
wine-staging = pkgsi686Linux.wine-staging;
};
place-cursor-at = haskell.lib.compose.justStaticExecutables haskellPackages.place-cursor-at;
podofo = podofo_1_0;
poppler = callPackage ../development/libraries/poppler { lcms = lcms2; };
poppler_gi = lowPrio (
poppler.override {
introspectionSupport = true;
}
);
poppler_min = poppler.override {
# TODO: maybe reduce even more
minimal = true;
suffix = "min";
};
poppler-utils = poppler.override {
suffix = "utils";
utils = true;
};
prospector = callPackage ../development/tools/prospector { };
# this version should align with the static protobuf version linked into python3.pkgs.tensorflow
# $ nix-shell -I nixpkgs=$(git rev-parse --show-toplevel) -p python3.pkgs.tensorflow --run "python3 -c 'import google.protobuf; print(google.protobuf.__version__)'"
protobuf = protobuf_33;
inherit
({
protobuf_33 = callPackage ../development/libraries/protobuf/33.nix { };
protobuf_32 = callPackage ../development/libraries/protobuf/32.nix { };
protobuf_31 = callPackage ../development/libraries/protobuf/31.nix { };
protobuf_30 = callPackage ../development/libraries/protobuf/30.nix { };
protobuf_29 = callPackage ../development/libraries/protobuf/29.nix {
# More recent versions of abseil seem to be missing absl::if_constexpr
abseil-cpp = abseil-cpp_202407;
};
protobuf_27 = callPackage ../development/libraries/protobuf/27.nix {
# More recent versions of abseil seem to be missing absl::if_constexpr
abseil-cpp = abseil-cpp_202407;
};
protobuf_25 = callPackage ../development/libraries/protobuf/25.nix { };
protobuf_21 = callPackage ../development/libraries/protobuf/21.nix {
abseil-cpp = abseil-cpp_202103;
};
})
protobuf_33
protobuf_32
protobuf_31
protobuf_30
protobuf_29
protobuf_27
protobuf_25
protobuf_21
;
nanopbMalloc = callPackage ../by-name/na/nanopb/package.nix { enableMalloc = true; };
pth = if stdenv.hostPlatform.isMusl then npth else gnupth;
pyotherside = libsForQt5.callPackage ../development/libraries/pyotherside { };
qbs = libsForQt5.callPackage ../development/tools/build-managers/qbs { };
qdjango = libsForQt5.callPackage ../development/libraries/qdjango { };
qmenumodel = libsForQt5.callPackage ../development/libraries/qmenumodel {
inherit (lomiri) cmake-extras;
};
quarto = callPackage ../development/libraries/quarto { };
quartoMinimal = callPackage ../development/libraries/quarto {
rWrapper = null;
python3 = null;
};
qt5 = recurseIntoAttrs (__splicedPackages.callPackage ../development/libraries/qt-5/5.15 { });
libsForQt5 = recurseIntoAttrs (
import ./qt5-packages.nix {
inherit
lib
config
__splicedPackages
makeScopeWithSplicing'
generateSplicesForMkScope
pkgsHostTarget
;
}
);
# plasma5Packages maps to the Qt5 packages set that is used to build the plasma5 desktop
plasma5Packages = libsForQt5;
qtEnv = qt5.env;
qt6 = recurseIntoAttrs (callPackage ../development/libraries/qt-6 { });
qt6Packages = recurseIntoAttrs (
import ./qt6-packages.nix {
inherit
lib
config
__splicedPackages
makeScopeWithSplicing'
generateSplicesForMkScope
pkgsHostTarget
kdePackages
;
inherit stdenv;
}
);
readline70 = callPackage ../development/libraries/readline/7.0.nix { };
readline = callPackage ../development/libraries/readline/8.3.nix { };
readmdict = with python3Packages; toPythonApplication readmdict;
kissfftFloat = kissfft.override {
datatype = "float";
};
lambdabot = callPackage ../development/tools/haskell/lambdabot {
haskellLib = haskell.lib.compose;
};
librdf_raptor2 = callPackage ../development/libraries/librdf/raptor2.nix { };
librdf_rasqal = callPackage ../development/libraries/librdf/rasqal.nix { };
librdf_redland = callPackage ../development/libraries/librdf/redland.nix { };
redland = librdf_redland; # added 2018-04-25
qadwaitadecorations-qt6 = callPackage ../by-name/qa/qadwaitadecorations/package.nix {
useQt6 = true;
};
qgnomeplatform = libsForQt5.callPackage ../development/libraries/qgnomeplatform { };
qgnomeplatform-qt6 = qt6Packages.callPackage ../development/libraries/qgnomeplatform {
useQt6 = true;
};
reposilitePlugins = recurseIntoAttrs (callPackage ../by-name/re/reposilite/plugins.nix { });
rocksdb_9_10 = rocksdb.overrideAttrs rec {
pname = "rocksdb";
version = "9.10.0";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
hash = "sha256-G+DlQwEUyd7JOCjS1Hg1cKWmA/qAiK8UpUIKcP+riGQ=";
};
};
rocksdb_8_11 = rocksdb.overrideAttrs rec {
pname = "rocksdb";
version = "8.11.4";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
hash = "sha256-ZrU7G3xeimF3H2LRGBDHOq936u5pH/3nGecM4XEoWc8=";
};
};
rocksdb_8_3 = rocksdb.overrideAttrs rec {
pname = "rocksdb";
version = "8.3.2";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
hash = "sha256-mfIRQ8nkUbZ3Bugy3NAvOhcfzFY84J2kBUIUBcQ2/Qg=";
};
};
rocksdb_7_10 = rocksdb.overrideAttrs rec {
pname = "rocksdb";
version = "7.10.2";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
hash = "sha256-U2ReSrJwjAXUdRmwixC0DQXht/h/6rV8SOf5e2NozIs=";
};
};
rocksdb_6_23 = rocksdb.overrideAttrs rec {
pname = "rocksdb";
version = "6.23.3";
src = fetchFromGitHub {
owner = "facebook";
repo = pname;
rev = "v${version}";
hash = "sha256-SsDqhjdCdtIGNlsMj5kfiuS3zSGwcxi4KV71d95h7yk=";
};
};
SDL = SDL_compat;
SDL2 = sdl2-compat;
sigdigger = libsForQt5.callPackage ../applications/radio/sigdigger { };
sev-snp-measure = with python3Packages; toPythonApplication sev-snp-measure;
graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix { };
simavr = callPackage ../development/tools/simavr {
avrgcc = pkgsCross.avr.buildPackages.gcc;
avrlibc = pkgsCross.avr.libc;
};
simpleitk = callPackage ../development/libraries/simpleitk { lua = lua5_4; };
skawarePackages = recurseIntoAttrs (callPackage ../development/skaware-packages { });
inherit (skawarePackages)
execline
execline-man-pages
mdevd
nsss
s6
s6-dns
s6-linux-init
s6-linux-utils
s6-man-pages
s6-networking
s6-networking-man-pages
s6-portable-utils
s6-portable-utils-man-pages
s6-rc
s6-rc-man-pages
sdnotify-wrapper
skalibs
skalibs_2_10
tipidee
utmps
;
kgt = callPackage ../development/tools/kgt {
inherit (skawarePackages) cleanPackaging;
};
slibGuile = callPackage ../development/libraries/slib {
scheme = guile;
};
soapysdr = callPackage ../applications/radio/soapysdr { };
soapysdr-with-plugins = callPackage ../applications/radio/soapysdr {
extraPackages = [
limesuite
soapyairspy
soapyaudio
soapybladerf
soapyhackrf
soapyplutosdr
soapyremote
soapyrtlsdr
]
++ (lib.optionals stdenv.hostPlatform.isLinux [
soapyuhd
]);
};
spandsp = callPackage ../development/libraries/spandsp { };
spandsp3 = callPackage ../development/libraries/spandsp/3.nix { };
speechd-minimal = speechd.override {
withLibao = false;
withPulse = false;
withAlsa = false;
withOss = false;
withFlite = false;
withEspeak = false;
withPico = false;
libsOnly = true;
};
speex = callPackage ../development/libraries/speex {
fftw = fftwFloat;
};
speexdsp = callPackage ../development/libraries/speexdsp {
fftw = fftwFloat;
};
sphinx = with python3Packages; toPythonApplication sphinx;
sphinx-autobuild = with python3Packages; toPythonApplication sphinx-autobuild;
sphinx-serve = with python3Packages; toPythonApplication sphinx-serve;
inherit (python3Packages) sphinxHook;
suwidgets = libsForQt5.callPackage ../applications/radio/suwidgets { };
sqlite = lowPrio (callPackage ../development/libraries/sqlite { });
unqlite = lowPrio (callPackage ../development/libraries/unqlite { });
inherit
(callPackage ../development/libraries/sqlite/tools.nix {
})
sqlite-analyzer
sqldiff
sqlite-rsync
;
sqlar = callPackage ../development/libraries/sqlite/sqlar.nix { };
sqlite-interactive = (sqlite.override { interactive = true; }).bin;
stlink-gui = callPackage ../by-name/st/stlink/package.nix { withGUI = true; };
streamlink-twitch-gui-bin = callPackage ../applications/video/streamlink-twitch-gui/bin.nix { };
structuresynth = libsForQt5.callPackage ../development/libraries/structuresynth { };
szurubooru = callPackage ../servers/web-apps/szurubooru { };
tclap = tclap_1_2;
tclap_1_2 = callPackage ../development/libraries/tclap/1.2.nix { };
tclap_1_4 = callPackage ../development/libraries/tclap/1.4.nix { };
tinyxml = callPackage ../development/libraries/tinyxml/2.6.2.nix { };
tk = tk-8_6;
tk-9_0 = callPackage ../development/libraries/tk/9.0.nix { tcl = tcl-9_0; };
tk-8_6 = callPackage ../development/libraries/tk/8.6.nix { };
tk-8_5 = callPackage ../development/libraries/tk/8.5.nix { tcl = tcl-8_5; };
tpm2-tss = callPackage ../development/libraries/tpm2-tss {
autoreconfHook = buildPackages.autoreconfHook269;
};
unixODBCDrivers = recurseIntoAttrs (callPackages ../development/libraries/unixODBCDrivers { });
valeStyles = recurseIntoAttrs (callPackages ../by-name/va/vale/styles.nix { });
valhalla = callPackage ../development/libraries/valhalla {
boost = boost.override {
enablePython = true;
python = python3;
};
protobuf = protobuf_21.override {
abseil-cpp = abseil-cpp_202103.override {
cxxStandard = "17";
};
};
};
vencord-web-extension = callPackage ../by-name/ve/vencord/package.nix { buildWebExtension = true; };
vid-stab = callPackage ../development/libraries/vid-stab {
inherit (llvmPackages) openmp;
};
vigra = callPackage ../development/libraries/vigra {
hdf5 = hdf5.override { usev110Api = true; };
};
vte-gtk4 = vte.override {
gtkVersion = "4";
};
inherit (callPackage ../development/libraries/vtk { }) vtk_9_5;
vtk = vtk_9_5;
vtk-full = vtk.override {
withQt6 = true;
mpiSupport = true;
pythonSupport = true;
};
vtkWithQt6 = vtk.override { withQt6 = true; };
vulkan-caps-viewer = libsForQt5.callPackage ../tools/graphics/vulkan-caps-viewer { };
wayland = callPackage ../development/libraries/wayland { };
wayland-scanner = callPackage ../development/libraries/wayland/scanner.nix { };
wayland-protocols = callPackage ../development/libraries/wayland/protocols.nix { };
waylandpp = callPackage ../development/libraries/waylandpp {
graphviz = graphviz-nox;
};
webkitgtk_6_0 = callPackage ../development/libraries/webkitgtk {
harfbuzz = harfbuzzFull;
inherit (gst_all_1) gst-plugins-base gst-plugins-bad;
};
webkitgtk_4_1 = webkitgtk_6_0.override {
gtk4 = gtk3;
};
wlr-protocols = callPackage ../development/libraries/wlroots/protocols.nix { };
wt = wt4;
inherit (libsForQt5.callPackage ../development/libraries/wt { })
wt4
;
inherit (callPackages ../development/libraries/xapian { })
xapian_1_4
;
xapian = xapian_1_4;
xapian-omega = callPackage ../development/libraries/xapian/tools/omega {
libmagic = file;
};
xgboostWithCuda = xgboost.override { cudaSupport = true; };
zlib = callPackage ../development/libraries/zlib {
stdenv =
# zlib is a dependency of xcbuild. Avoid an infinite recursion by using a bootstrap stdenv
# that does not propagate xcrun.
if stdenv.hostPlatform.isDarwin then darwin.bootstrapStdenv else stdenv;
};
inherit
(rec {
zigPackages = recurseIntoAttrs (callPackage ../development/compilers/zig { });
zig_0_13 = zigPackages."0.13";
zig_0_14 = zigPackages."0.14";
zig_0_15 = zigPackages."0.15";
})
zigPackages
zig_0_13
zig_0_14
zig_0_15
;
# If this is updated, the default zls version should also be updated to match the default zig version.
zig = zig_0_15;
zigStdenv = if stdenv.cc.isZig then stdenv else lowPrio zig.passthru.stdenv;
inherit (callPackages ../development/tools/zls { })
zls_0_14
zls_0_15
;
# This should be kept updated to ensure the default zls version matches the default zig version.
zls = zls_0_15;
libzint = zint-qt.override { withGUI = false; };
aroccPackages = recurseIntoAttrs (callPackage ../development/compilers/arocc { });
arocc = aroccPackages.latest;
aroccStdenv = if stdenv.cc.isArocc then stdenv else lowPrio arocc.cc.passthru.stdenv;
### DEVELOPMENT / LIBRARIES / DARWIN SDKS
apple-sdk_14 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "14"; };
apple-sdk_15 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "15"; };
apple-sdk_26 = callPackage ../by-name/ap/apple-sdk/package.nix { darwinSdkMajorVersion = "26"; };
darwinMinVersionHook =
deploymentTarget:
makeSetupHook {
name = "darwin-deployment-target-hook-${deploymentTarget}";
substitutions = {
darwinMinVersionVariable = lib.escapeShellArg stdenv.hostPlatform.darwinMinVersionVariable;
deploymentTarget = lib.escapeShellArg deploymentTarget;
};
} ../os-specific/darwin/darwin-min-version-hook/setup-hook.sh;
### DEVELOPMENT / TESTING TOOLS
### DEVELOPMENT / LIBRARIES / AGDA
agdaPackages = recurseIntoAttrs (
callPackage ./agda-packages.nix {
inherit (haskellPackages) Agda;
}
);
agda = agdaPackages.agda;
### DEVELOPMENT / LIBRARIES / JAVA
saxonb = saxonb_8_8;
saxon-he = saxon_12-he;
inherit
(callPackages ../development/libraries/java/saxon {
jre = jre_headless;
jre8 = jre8_headless;
})
saxon
saxonb_8_8
saxonb_9_1
saxon_9-he
saxon_11-he
saxon_12-he
;
### DEVELOPMENT / GO
# the unversioned attributes should always point to the same go version
go = go_1_25;
buildGoModule = buildGo125Module;
go_latest = go_1_26;
buildGoLatestModule = buildGo126Module;
go_1_24 = callPackage ../development/compilers/go/1.24.nix { };
buildGo124Module = callPackage ../build-support/go/module.nix {
go = buildPackages.go_1_24;
};
go_1_25 = callPackage ../development/compilers/go/1.25.nix { };
buildGo125Module = callPackage ../build-support/go/module.nix {
go = buildPackages.go_1_25;
};
go_1_26 = callPackage ../development/compilers/go/1.26.nix { };
buildGo126Module = callPackage ../build-support/go/module.nix {
go = buildPackages.go_1_26;
};
### DEVELOPMENT / HARE
hareHook = callPackage ../by-name/ha/hare/hook.nix { };
### DEVELOPMENT / JAVA MODULES
javaPackages = recurseIntoAttrs (callPackage ./java-packages.nix { });
### DEVELOPMENT / LISP MODULES
asdf = callPackage ../development/lisp-modules/asdf {
texLive = null;
};
# QuickLisp minimal version
asdf_2_26 = callPackage ../development/lisp-modules/asdf/2.26.nix {
texLive = null;
};
# Currently most popular
asdf_3_1 = callPackage ../development/lisp-modules/asdf/3.1.nix {
texLive = null;
};
# Latest
asdf_3_3 = callPackage ../development/lisp-modules/asdf/3.3.nix {
texLive = null;
};
wrapLisp = callPackage ../development/lisp-modules/nix-cl.nix { };
# Armed Bear Common Lisp
abcl = wrapLisp {
pkg = callPackage ../development/compilers/abcl { };
faslExt = "abcl";
};
# Clozure Common Lisp
ccl = wrapLisp {
pkg = callPackage ../development/compilers/ccl {
inherit (buildPackages.darwin) bootstrap_cmds;
};
faslExt = "lx64fsl";
};
# Clasp Common Lisp
clasp-common-lisp = wrapLisp {
pkg = callPackage ../development/compilers/clasp { };
faslExt = "fasl";
};
# CLISP
clisp = wrapLisp {
pkg = callPackage ../development/interpreters/clisp { };
faslExt = "fas";
flags = [
"-E"
"UTF-8"
];
};
wrapLispi686Linux = pkgsi686Linux.callPackage ../development/lisp-modules/nix-cl.nix { };
# CMU Common Lisp
cmucl_binary = wrapLispi686Linux {
pkg = pkgsi686Linux.callPackage ../development/compilers/cmucl/binary.nix { };
faslExt = "sse2f";
program = "lisp";
};
# Embeddable Common Lisp
ecl = wrapLisp {
pkg = callPackage ../development/compilers/ecl { };
faslExt = "fas";
};
ecl_16_1_2 = wrapLisp {
pkg = callPackage ../development/compilers/ecl/16.1.2.nix { };
faslExt = "fas";
};
# GNU Common Lisp
gcl = wrapLisp {
pkg = callPackage ../development/compilers/gcl { };
faslExt = "o";
};
# ManKai Common Lisp
mkcl = wrapLisp {
pkg = callPackage ../development/compilers/mkcl { };
faslExt = "fas";
};
# Steel Bank Common Lisp
sbcl_2_4_6 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl { version = "2.4.6"; };
faslExt = "fasl";
flags = [
"--dynamic-space-size"
"3000"
];
};
sbcl_2_6_0 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl { version = "2.6.0"; };
faslExt = "fasl";
flags = [
"--dynamic-space-size"
"3000"
];
};
sbcl_2_6_1 = wrapLisp {
pkg = callPackage ../development/compilers/sbcl { version = "2.6.1"; };
faslExt = "fasl";
flags = [
"--dynamic-space-size"
"3000"
];
};
sbcl = sbcl_2_6_1;
sbclPackages = recurseIntoAttrs sbcl.pkgs;
### DEVELOPMENT / PERL MODULES
perlInterpreters = import ../development/interpreters/perl { inherit callPackage; };
inherit (perlInterpreters) perl5;
perl5Packages = recurseIntoAttrs perl5.pkgs;
perl = perl5;
perlPackages = perl5Packages;
ack = perlPackages.ack;
perlcritic = perlPackages.PerlCritic;
sqitchMysql =
(callPackage ../development/tools/misc/sqitch {
mysqlSupport = true;
}).overrideAttrs
{ pname = "sqitch-mysql"; };
sqitchPg =
(callPackage ../development/tools/misc/sqitch {
postgresqlSupport = true;
}).overrideAttrs
{ pname = "sqitch-pg"; };
sqitchSqlite =
(callPackage ../development/tools/misc/sqitch {
sqliteSupport = true;
}).overrideAttrs
{ pname = "sqitch-sqlite"; };
### DEVELOPMENT / R MODULES
R = callPackage ../applications/science/math/R {
# TODO: split docs into a separate output
withRecommendedPackages = false;
};
rWrapper = callPackage ../development/r-modules/wrapper.nix {
recommendedPackages = with rPackages; [
boot
class
cluster
codetools
foreign
KernSmooth
lattice
MASS
Matrix
mgcv
nlme
nnet
rpart
spatial
survival
];
# Override this attribute to register additional libraries.
packages = [ ];
};
radianWrapper = callPackage ../development/r-modules/wrapper-radian.nix {
recommendedPackages = with rPackages; [
boot
class
cluster
codetools
foreign
KernSmooth
lattice
MASS
Matrix
mgcv
nlme
nnet
rpart
spatial
survival
];
# Override this attribute to register additional libraries.
packages = [ ];
# Override this attribute if you want to expose R with the same set of
# packages as specified in radian
wrapR = false;
};
rstudioWrapper = callPackage ../development/r-modules/wrapper-rstudio.nix {
recommendedPackages = with rPackages; [
boot
class
cluster
codetools
foreign
KernSmooth
lattice
MASS
Matrix
mgcv
nlme
nnet
rpart
spatial
survival
];
# Override this attribute to register additional libraries.
packages = [ ];
};
rstudioServerWrapper = rstudioWrapper.override { rstudio = rstudio-server; };
rPackages = dontRecurseIntoAttrs (
callPackage ../development/r-modules {
overrides = (config.rPackageOverrides or (_: { })) pkgs;
}
);
### SERVERS
apacheHttpd_2_4 = callPackage ../servers/http/apache-httpd/2.4.nix { };
apacheHttpd = apacheHttpd_2_4;
apacheHttpdPackagesFor =
apacheHttpd: self:
let
callPackage = newScope self;
in
{
inherit apacheHttpd;
mod_auth_mellon = callPackage ../servers/http/apache-modules/mod_auth_mellon { };
mod_ca = callPackage ../servers/http/apache-modules/mod_ca { };
mod_crl = callPackage ../servers/http/apache-modules/mod_crl { };
mod_cspnonce = callPackage ../servers/http/apache-modules/mod_cspnonce { };
mod_csr = callPackage ../servers/http/apache-modules/mod_csr { };
mod_dnssd = callPackage ../servers/http/apache-modules/mod_dnssd { };
mod_fastcgi = callPackage ../servers/http/apache-modules/mod_fastcgi { };
mod_itk = callPackage ../servers/http/apache-modules/mod_itk { };
mod_jk = callPackage ../servers/http/apache-modules/mod_jk { };
mod_mbtiles = callPackage ../servers/http/apache-modules/mod_mbtiles { };
mod_ocsp = callPackage ../servers/http/apache-modules/mod_ocsp { };
mod_perl = callPackage ../servers/http/apache-modules/mod_perl { };
mod_pkcs12 = callPackage ../servers/http/apache-modules/mod_pkcs12 { };
mod_python = callPackage ../servers/http/apache-modules/mod_python { };
mod_scep = callPackage ../servers/http/apache-modules/mod_scep { };
mod_spkac = callPackage ../servers/http/apache-modules/mod_spkac { };
mod_tile = callPackage ../servers/http/apache-modules/mod_tile { };
mod_timestamp = callPackage ../servers/http/apache-modules/mod_timestamp { };
mod_wsgi3 = callPackage ../servers/http/apache-modules/mod_wsgi { };
php = pkgs.php.override { inherit apacheHttpd; };
subversion = pkgs.subversion.override {
httpServer = true;
inherit apacheHttpd;
};
}
// lib.optionalAttrs config.allowAliases {
mod_evasive = throw "mod_evasive is not supported on Apache httpd 2.4";
mod_wsgi = self.mod_wsgi2;
mod_wsgi2 = throw "mod_wsgi2 has been removed since Python 2 is EOL. Use mod_wsgi3 instead";
};
apacheHttpdPackages_2_4 = recurseIntoAttrs (
apacheHttpdPackagesFor apacheHttpd_2_4 apacheHttpdPackages_2_4
);
apacheHttpdPackages = apacheHttpdPackages_2_4;
appdaemon = callPackage ../servers/home-assistant/appdaemon.nix { };
cassandra_4 = callPackage ../servers/nosql/cassandra/4.nix {
# Effective Cassandra 4.0.2 there is full Java 11 support
# -- https://cassandra.apache.org/doc/latest/cassandra/new/java11.html
jre = pkgs.jdk11_headless;
python = python3;
};
cassandra = cassandra_4;
inherit (callPackages ../servers/asterisk { })
asterisk
asterisk-stable
asterisk-lts
asterisk_20
asterisk_22
asterisk_23
;
asterisk-ldap = lowPrio (asterisk.override { ldapSupport = true; });
dnsutils = bind.dnsutils;
dig = lib.addMetaAttrs { mainProgram = "dig"; } bind.dnsutils;
clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
couchdb3 = callPackage ../servers/http/couchdb/3.nix {
erlang = beamMinimalPackages.erlang;
};
dict = callPackage ../servers/dict {
flex = flex_2_5_35;
libmaa = callPackage ../servers/dict/libmaa.nix { };
};
dictdDBs = recurseIntoAttrs (callPackages ../servers/dict/dictd-db.nix { });
dictDBCollector = callPackage ../servers/dict/dictd-db-collector.nix { };
dodgy = with python3Packages; toPythonApplication dodgy;
inherit (callPackages ../servers/firebird { })
firebird_4
firebird_3
firebird
;
freshrss = callPackage ../servers/web-apps/freshrss { };
freshrss-extensions = recurseIntoAttrs (callPackage ../servers/web-apps/freshrss/extensions { });
grafanaPlugins = recurseIntoAttrs (callPackages ../servers/monitoring/grafana/plugins { });
inherit (callPackage ../servers/hbase { })
hbase_2_4
hbase_2_5
hbase_2_6
hbase_3_0
;
hbase2 = hbase_2_6;
hbase3 = hbase_3_0;
hbase = hbase2; # when updating, point to the latest stable release
home-assistant = callPackage ../servers/home-assistant { };
buildHomeAssistantComponent = callPackage ../servers/home-assistant/build-custom-component { };
home-assistant-custom-components = recurseIntoAttrs (
lib.makeExtensible (
self:
lib.packagesFromDirectoryRecursive {
inherit (home-assistant.python.pkgs) callPackage;
directory = ../servers/home-assistant/custom-components;
}
)
);
home-assistant-custom-lovelace-modules = recurseIntoAttrs (
lib.makeExtensible (
self:
lib.packagesFromDirectoryRecursive {
inherit callPackage;
directory = ../servers/home-assistant/custom-lovelace-modules;
}
)
);
home-assistant-cli = callPackage ../servers/home-assistant/cli.nix { };
icingaweb2-ipl = callPackage ../servers/icingaweb2/ipl.nix { };
icingaweb2-thirdparty = callPackage ../servers/icingaweb2/thirdparty.nix { };
icingaweb2 = callPackage ../servers/icingaweb2 { };
icingaweb2Modules = recurseIntoAttrs {
theme-april = callPackage ../servers/icingaweb2/theme-april { };
theme-lsd = callPackage ../servers/icingaweb2/theme-lsd { };
theme-particles = callPackage ../servers/icingaweb2/theme-particles { };
theme-snow = callPackage ../servers/icingaweb2/theme-snow { };
theme-spring = callPackage ../servers/icingaweb2/theme-spring { };
};
inspircdMinimal = inspircd.override { extraModules = [ ]; };
inherit (callPackages ../servers/http/jetty { })
jetty_11
jetty_12
;
jetty = jetty_12;
inherit
({
kanidm_1_7 = callPackage ../servers/kanidm/1_7.nix {
kanidmWithSecretProvisioning = kanidmWithSecretProvisioning_1_7;
};
kanidm_1_8 = callPackage ../servers/kanidm/1_8.nix {
kanidmWithSecretProvisioning = kanidmWithSecretProvisioning_1_8;
};
kanidm_1_9 = callPackage ../servers/kanidm/1_9.nix {
kanidmWithSecretProvisioning = kanidmWithSecretProvisioning_1_9;
};
kanidmWithSecretProvisioning_1_7 = kanidm_1_7.override { enableSecretProvisioning = true; };
kanidmWithSecretProvisioning_1_8 = kanidm_1_8.override { enableSecretProvisioning = true; };
kanidmWithSecretProvisioning_1_9 = kanidm_1_9.override { enableSecretProvisioning = true; };
})
kanidm_1_7
kanidm_1_8
kanidm_1_9
kanidmWithSecretProvisioning_1_7
kanidmWithSecretProvisioning_1_8
kanidmWithSecretProvisioning_1_9
;
lemmy-server = callPackage ../servers/web-apps/lemmy/server.nix { };
lemmy-ui = callPackage ../servers/web-apps/lemmy/ui.nix {
nodejs = nodejs_20;
};
mailmanPackages = recurseIntoAttrs (callPackage ../servers/mail/mailman { });
inherit (mailmanPackages) mailman mailman-hyperkitty;
mailman-web = mailmanPackages.web;
micro-full = micro.wrapper.override {
extraPackages = [
wl-clipboard
xclip
];
};
micro-with-wl-clipboard = micro.wrapper.override {
extraPackages = [
wl-clipboard
];
};
micro-with-xclip = micro.wrapper.override {
extraPackages = [
xclip
];
};
mkchromecast = libsForQt5.callPackage ../applications/networking/mkchromecast { };
moodle = callPackage ../servers/web-apps/moodle { };
moodle-utils = callPackage ../servers/web-apps/moodle/moodle-utils.nix { };
inherit (callPackage ../applications/networking/mullvad { })
mullvad
;
napalm =
with python3Packages;
toPythonApplication (
napalm.overridePythonAttrs (attrs: {
# add community frontends that depend on the napalm python package
dependencies = attrs.dependencies ++ [
napalm-hp-procurve
];
})
);
nginx = nginxStable;
nginxStable = callPackage ../servers/http/nginx/stable.nix {
zlib-ng = zlib-ng.override { withZlibCompat = true; };
withPerl = false;
# We don't use `with` statement here on purpose!
# See https://github.com/NixOS/nixpkgs/pull/10474#discussion_r42369334
modules = [
nginxModules.rtmp
nginxModules.dav
nginxModules.moreheaders
];
};
nginxMainline = callPackage ../servers/http/nginx/mainline.nix {
zlib-ng = zlib-ng.override { withZlibCompat = true; };
withKTLS = true;
withPerl = false;
# We don't use `with` statement here on purpose!
# See https://github.com/NixOS/nixpkgs/pull/10474#discussion_r42369334
modules = [
nginxModules.dav
nginxModules.moreheaders
];
};
nginxModules = recurseIntoAttrs (callPackage ../servers/http/nginx/modules.nix { });
# We should move to dynamic modules and create a nginxFull package with all modules
nginxShibboleth = nginxStable.override {
modules = [
nginxModules.rtmp
nginxModules.dav
nginxModules.moreheaders
nginxModules.shibboleth
];
};
nsdiff = perlPackages.nsdiff;
openafs = callPackage ../servers/openafs/1.8 { };
openresty = callPackage ../servers/http/openresty {
zlib-ng = zlib;
withPerl = false;
modules = [ ];
};
system-sendmail = lowPrio (callPackage ../servers/mail/system-sendmail { });
# PulseAudio daemons
pulseaudioFull = pulseaudio.override {
x11Support = true;
jackaudioSupport = true;
airtunesSupport = true;
bluetoothSupport = true;
advancedBluetoothCodecs = true;
remoteControlSupport = true;
zeroconfSupport = true;
};
libpulseaudio = pulseaudio.override {
libOnly = true;
};
tomcat-native = callPackage ../servers/http/tomcat/tomcat-native.nix { };
libmysqlclient = libmysqlclient_3_3;
libmysqlclient_3_1 = mariadb-connector-c_3_1;
libmysqlclient_3_2 = mariadb-connector-c_3_2;
libmysqlclient_3_3 = mariadb-connector-c_3_3;
mariadb-connector-c = mariadb-connector-c_3_3;
mariadb-connector-c_3_1 = callPackage ../servers/sql/mariadb/connector-c/3_1.nix { };
mariadb-connector-c_3_2 = callPackage ../servers/sql/mariadb/connector-c/3_2.nix { };
mariadb-connector-c_3_3 = callPackage ../servers/sql/mariadb/connector-c/3_3.nix { };
inherit (import ../servers/sql/mariadb pkgs)
mariadb_106
mariadb_1011
mariadb_114
mariadb_118
;
mariadb = mariadb_114;
mariadb-embedded = mariadb.override { withEmbedded = true; };
mongodb = hiPrio mongodb-7_0;
mongodb-7_0 = callPackage ../servers/nosql/mongodb/7.0.nix {
sasl = cyrus_sasl;
boost = boost179.override { enableShared = false; };
};
mysql80 = callPackage ../servers/sql/mysql/8.0.x.nix {
inherit (darwin) developer_cmds DarwinTools;
boost = boost177; # Configure checks for specific version.
icu = icu69;
protobuf = protobuf_21;
};
mssql_jdbc = callPackage ../servers/sql/mssql/jdbc { };
jtds_jdbc = callPackage ../servers/sql/mssql/jdbc/jtds.nix { };
inherit (callPackage ../servers/mir { })
mir
mir_2_15
;
nagiosPlugins = recurseIntoAttrs (callPackages ../servers/monitoring/nagios-plugins { });
qboot = pkgsi686Linux.callPackage ../applications/virtualization/qboot { };
OVMF = callPackage ../applications/virtualization/OVMF {
inherit (python3Packages) pexpect;
};
OVMFFull = callPackage ../applications/virtualization/OVMF {
inherit (python3Packages) pexpect;
secureBoot = true;
httpSupport = true;
tpmSupport = true;
tlsSupport = true;
msVarsTemplate = stdenv.hostPlatform.isx86_64 || stdenv.hostPlatform.isAarch64;
};
inherit (import ../servers/sql/postgresql pkgs)
postgresqlVersions
postgresqlJitVersions
libpq
;
inherit (postgresqlVersions)
postgresql_14
postgresql_15
postgresql_16
postgresql_17
postgresql_18
;
inherit (postgresqlJitVersions)
postgresql_14_jit
postgresql_15_jit
postgresql_16_jit
postgresql_17_jit
postgresql_18_jit
;
postgresql = postgresql_17;
postgresql_jit = postgresql_17_jit;
postgresqlPackages = recurseIntoAttrs postgresql.pkgs;
postgresql14Packages = recurseIntoAttrs postgresql_14.pkgs;
postgresql15Packages = recurseIntoAttrs postgresql_15.pkgs;
postgresql16Packages = recurseIntoAttrs postgresql_16.pkgs;
postgresql17Packages = recurseIntoAttrs postgresql_17.pkgs;
postgresql18Packages = recurseIntoAttrs postgresql_18.pkgs;
postgres-websockets = haskellPackages.postgres-websockets.bin;
postgrest = haskellPackages.postgrest.bin;
public-inbox = perlPackages.callPackage ../servers/mail/public-inbox { };
pypiserver = with python3Packages; toPythonApplication pypiserver;
samba4 = callPackage ../servers/samba/4.x.nix { };
samba = samba4;
samba4Full = lowPrio (
samba4.override {
enableLDAP = true;
enablePrinting = true;
enableMDNS = true;
enableDomainController = true;
enableRegedit = true;
enableCephFS = !stdenv.hostPlatform.isAarch64;
}
);
sambaFull = samba4Full;
scalene = with python3Packages; toPythonApplication scalene;
shairport-sync-airplay2 = shairport-sync.override {
enableAirplay2 = true;
};
stalwart-webadmin = stalwart.webadmin;
stalwart-spam-filter = stalwart.spam-filter;
stalwart-enterprise = stalwart.override {
stalwartEnterprise = true;
};
inherit (callPackages ../servers/monitoring/sensu-go { })
sensu-go-agent
sensu-go-backend
sensu-go-cli
;
spacecookie = haskell.lib.compose.justStaticExecutables haskellPackages.spacecookie;
inherit (callPackages ../servers/http/tomcat { })
tomcat9
tomcat10
tomcat11
;
tomcat = tomcat11;
virtualenv = with python3Packages; toPythonApplication virtualenv;
virtualenv-clone = with python3Packages; toPythonApplication virtualenv-clone;
mkfontdir = mkfontscale;
xcbproto = xcb-proto;
zabbixFor = version: rec {
agent = (callPackages ../servers/monitoring/zabbix/agent.nix { }).${version};
proxy-mysql =
(callPackages ../servers/monitoring/zabbix/proxy.nix { mysqlSupport = true; }).${version};
proxy-pgsql =
(callPackages ../servers/monitoring/zabbix/proxy.nix { postgresqlSupport = true; }).${version};
proxy-sqlite =
(callPackages ../servers/monitoring/zabbix/proxy.nix { sqliteSupport = true; }).${version};
server-mysql =
(callPackages ../servers/monitoring/zabbix/server.nix { mysqlSupport = true; }).${version};
server-pgsql =
(callPackages ../servers/monitoring/zabbix/server.nix { postgresqlSupport = true; }).${version};
web = (callPackages ../servers/monitoring/zabbix/web.nix { }).${version};
agent2 = (callPackages ../servers/monitoring/zabbix/agent2.nix { }).${version};
# backwards compatibility
server = server-pgsql;
};
zabbix74 = recurseIntoAttrs (zabbixFor "v74");
zabbix70 = recurseIntoAttrs (zabbixFor "v70");
zabbix60 = recurseIntoAttrs (zabbixFor "v60");
zabbix = zabbix60;
### OS-SPECIFIC
alfred = callPackage ../os-specific/linux/batman-adv/alfred.nix { };
arm-trusted-firmware = callPackage ../misc/arm-trusted-firmware { };
inherit (arm-trusted-firmware)
buildArmTrustedFirmware
armTrustedFirmwareTools
armTrustedFirmwareAllwinner
armTrustedFirmwareAllwinnerH616
armTrustedFirmwareAllwinnerH6
armTrustedFirmwareQemu
armTrustedFirmwareRK3328
armTrustedFirmwareRK3399
armTrustedFirmwareRK3568
armTrustedFirmwareRK3588
armTrustedFirmwareS905
;
inherit (libapparmor.passthru) apparmorRulesFromClosure;
ath9k-htc-blobless-firmware = callPackage ../os-specific/linux/firmware/ath9k { };
ath9k-htc-blobless-firmware-unstable = callPackage ../os-specific/linux/firmware/ath9k {
enableUnstable = true;
};
b43Firmware_5_1_138 = callPackage ../os-specific/linux/firmware/b43-firmware/5.1.138.nix { };
b43Firmware_6_30_163_46 =
callPackage ../os-specific/linux/firmware/b43-firmware/6.30.163.46.nix
{ };
batctl = callPackage ../os-specific/linux/batman-adv/batctl.nix { };
bluez5 = bluez;
bluez5-experimental = bluez-experimental;
bluez-experimental = bluez.override {
enableExperimental = true;
};
busybox = callPackage ../os-specific/linux/busybox {
# Fixes libunwind from being dynamically linked to a static binary.
stdenv =
if (stdenv.targetPlatform.useLLVM or false) then
overrideCC stdenv buildPackages.llvmPackages.clangNoLibcxx
else
stdenv;
};
busybox-sandbox-shell = callPackage ../os-specific/linux/busybox/sandbox-shell.nix { };
cm-rgb = python3Packages.callPackage ../tools/system/cm-rgb { };
conky = callPackage ../os-specific/linux/conky (
{
lua = lua5_4;
inherit (linuxPackages.nvidia_x11.settings) libXNVCtrl;
}
// config.conky or { }
);
cpupower-gui = python3Packages.callPackage ../os-specific/linux/cpupower-gui {
inherit (pkgs) meson;
};
# Darwin package set
#
# Even though this is a set of packages not single package, use `callPackage`
# not `callPackages` so the per-package callPackages don't have their
# `.override` clobbered. C.F. `llvmPackages` which does the same.
darwin = callPackage ./darwin-packages.nix { };
displaylink = callPackage ../os-specific/linux/displaylink {
inherit (linuxPackages) evdi;
};
dmraid = callPackage ../os-specific/linux/dmraid { lvm2 = lvm2_dmeventd; };
drbd = callPackage ../os-specific/linux/drbd/utils.nix { };
# unstable until the first 1.x release
fwts = callPackage ../os-specific/linux/fwts { };
libuuid = if stdenv.hostPlatform.isLinux then util-linuxMinimal else null;
error-inject = recurseIntoAttrs (callPackages ../os-specific/linux/error-inject { });
libffado = ffado;
freefall = callPackage ../os-specific/linux/freefall {
inherit (linuxPackages) kernel;
};
fusePackages = dontRecurseIntoAttrs (
callPackage ../os-specific/linux/fuse {
util-linux = util-linuxMinimal;
}
);
fuse = fuse2;
fuse2 = lowPrio (if stdenv.hostPlatform.isDarwin then macfuse-stubs else fusePackages.fuse_2);
fuse3 = fusePackages.fuse_3;
gpm-ncurses = gpm.override { withNcurses = true; };
btop-cuda = btop.override { cudaSupport = true; };
btop-rocm = btop.override { rocmSupport = true; };
i7z = qt5.callPackage ../os-specific/linux/i7z { };
ipu6-camera-hal = callPackage ../development/libraries/ipu6-camera-hal { };
ipu6ep-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {
ipuVersion = "ipu6ep";
};
ipu6epmtl-camera-hal = callPackage ../development/libraries/ipu6-camera-hal {
ipuVersion = "ipu6epmtl";
};
iputils = hiPrio (callPackage ../os-specific/linux/iputils { });
# hiPrio for collisions with inetutils (ping)
iptables = callPackage ../os-specific/linux/iptables { };
iptables-legacy = callPackage ../os-specific/linux/iptables { nftablesCompat = false; };
iptables-nftables-compat = iptables;
jool-cli = callPackage ../os-specific/linux/jool/cli.nix { };
libkrun-sev = libkrun.override { variant = "sev"; };
libkrun-tdx = libkrun.override { variant = "tdx"; };
projecteur = libsForQt5.callPackage ../os-specific/linux/projecteur { };
lklWithFirewall = lkl.override { firewallSupport = true; };
inherit (callPackages ../os-specific/linux/kernel-headers { inherit (pkgsBuildBuild) elf-header; })
linuxHeaders
makeLinuxHeaders
;
klibc = callPackage ../os-specific/linux/klibc { };
klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
linuxKernel = recurseIntoAttrs (callPackage ./linux-kernels.nix { });
inherit (linuxKernel) buildLinux linuxConfig kernelPatches;
kernelPackagesExtensions = [ ];
linuxPackagesFor = linuxKernel.packagesFor;
hardenedLinuxPackagesFor = linuxKernel.hardenedPackagesFor;
linuxManualConfig = linuxKernel.manualConfig;
linuxPackages_custom = linuxKernel.customPackage;
# This serves as a test for linuxPackages_custom
linuxPackages_custom_tinyconfig_kernel =
let
base = linuxPackages.kernel;
tinyLinuxPackages = linuxKernel.customPackage {
inherit (base) version modDirVersion src;
allowImportFromDerivation = false;
configfile = linuxConfig {
makeTarget = "tinyconfig";
src = base.src;
};
};
in
tinyLinuxPackages.kernel;
# The current default kernel / kernel modules.
linuxPackages = linuxKernel.packageAliases.linux_default;
linux = linuxPackages.kernel;
linuxPackages_latest = linuxKernel.packageAliases.linux_latest;
linux_latest = linuxPackages_latest.kernel;
# Testing (rc) kernel
linuxPackages_testing = linuxKernel.packages.linux_testing;
linux_testing = linuxKernel.kernels.linux_testing;
# Realtime kernel
linuxPackages-rt = linuxKernel.packageAliases.linux_rt_default;
linuxPackages-rt_latest = linuxKernel.packageAliases.linux_rt_latest;
linux-rt = linuxPackages-rt.kernel;
linux-rt_latest = linuxPackages-rt_latest.kernel;
# zen-kernel
linuxPackages_zen = linuxKernel.packages.linux_zen;
linux_zen = linuxPackages_zen.kernel;
linuxPackages_lqx = linuxKernel.packages.linux_lqx;
linux_lqx = linuxPackages_lqx.kernel;
# XanMod kernel
linuxPackages_xanmod = linuxKernel.packages.linux_xanmod;
linux_xanmod = linuxKernel.kernels.linux_xanmod;
linuxPackages_xanmod_stable = linuxKernel.packages.linux_xanmod_stable;
linux_xanmod_stable = linuxKernel.kernels.linux_xanmod_stable;
linuxPackages_xanmod_latest = linuxKernel.packages.linux_xanmod_latest;
linux_xanmod_latest = linuxKernel.kernels.linux_xanmod_latest;
linux-doc = callPackage ../os-specific/linux/kernel/htmldocs.nix { };
cryptodev = linuxPackages.cryptodev;
librealsense = callPackage ../development/libraries/librealsense { };
librealsenseWithCuda = callPackage ../development/libraries/librealsense {
cudaSupport = true;
};
librealsenseWithoutCuda = callPackage ../development/libraries/librealsense {
cudaSupport = false;
};
librealsense-gui = callPackage ../development/libraries/librealsense {
enableGUI = true;
};
kmod = callPackage ../os-specific/linux/kmod { };
lvm2 = callPackage ../os-specific/linux/lvm2/2_03.nix {
# break the cyclic dependency:
# util-linux (non-minimal) depends (optionally, but on by default) on systemd,
# systemd (optionally, but on by default) on cryptsetup and cryptsetup depends on lvm2
util-linux = util-linuxMinimal;
};
lvm2_dmeventd = lvm2.override {
enableDmeventd = true;
enableCmdlib = true;
};
lvm2_vdo = lvm2_dmeventd.override {
enableVDO = true;
};
mdadm = mdadm4;
minimal-bootstrap = recurseIntoAttrs (
import ../os-specific/linux/minimal-bootstrap {
inherit (stdenv) buildPlatform hostPlatform;
inherit lib config;
fetchurl = import ../build-support/fetchurl/boot.nix {
inherit (stdenv.buildPlatform) system;
inherit (config) rewriteURL;
};
checkMeta = callPackage ../stdenv/generic/check-meta.nix { inherit (stdenv) hostPlatform; };
}
);
minimal-bootstrap-sources =
callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/bootstrap-sources.nix
{
inherit (stdenv) hostPlatform;
};
make-minimal-bootstrap-sources =
callPackage ../os-specific/linux/minimal-bootstrap/stage0-posix/make-bootstrap-sources.nix
{
inherit (stdenv) hostPlatform;
};
aggregateModules =
modules:
callPackage ../os-specific/linux/kmod/aggregator.nix {
inherit (buildPackages) kmod;
inherit modules;
};
nushellPlugins = recurseIntoAttrs {
gstat = callPackage ../by-name/nu/nushell-plugin-gstat/package.nix { };
bson = callPackage ../by-name/nu/nushell-plugin-bson/package.nix { };
formats = callPackage ../by-name/nu/nushell-plugin-formats/package.nix { };
polars = callPackage ../by-name/nu/nushell-plugin-polars/package.nix { };
query = callPackage ../by-name/nu/nushell-plugin-query/package.nix { };
net = callPackage ../by-name/nu/nushell-plugin-net/package.nix { };
units = callPackage ../by-name/nu/nushell-plugin-units/package.nix { };
highlight = callPackage ../by-name/nu/nushell-plugin-highlight/package.nix { };
dbus = callPackage ../by-name/nu/nushell-plugin-dbus/package.nix {
inherit dbus;
};
skim = callPackage ../by-name/nu/nushell-plugin-skim/package.nix { };
semver = callPackage ../by-name/nu/nushell-plugin-semver/package.nix { };
hcl = callPackage ../by-name/nu/nushell-plugin-hcl/package.nix { };
desktop_notifications =
callPackage ../by-name/nu/nushell-plugin-desktop_notifications/package.nix
{ };
};
net-tools =
# some platforms refer back to this from unixtools, so this is needed to
# break the cycle
if stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isCygwin then
callPackage ../os-specific/linux/net-tools { }
else
unixtools.net-tools;
nftables = callPackage ../os-specific/linux/nftables { };
open-vm-tools-headless = open-vm-tools.override { withX = false; };
pam =
if stdenv.hostPlatform.isLinux then
linux-pam
else if stdenv.hostPlatform.isFreeBSD then
freebsd.libpam
else
openpam;
# pam_bioapi ( see http://www.thinkwiki.org/wiki/How_to_enable_the_fingerprint_reader )
procps =
# some platforms refer back to this from unixtools, so this is needed to
# break the cycle
if stdenv.hostPlatform.isLinux || stdenv.hostPlatform.isCygwin then
callPackage ../os-specific/linux/procps-ng { }
else
unixtools.procps;
qemu_kvm = lowPrio (qemu.override { hostCpuOnly = true; });
qemu_full = lowPrio (
qemu.override {
smbdSupport = lib.meta.availableOn stdenv.hostPlatform samba;
cephSupport = lib.meta.availableOn stdenv.hostPlatform ceph;
glusterfsSupport =
lib.meta.availableOn stdenv.hostPlatform glusterfs
&& lib.meta.availableOn stdenv.hostPlatform libuuid;
}
);
qemu_test = lowPrio (
qemu.override {
hostCpuOnly = true;
nixosTestRunner = true;
}
);
rfkill_udev = callPackage ../os-specific/linux/rfkill/udev.nix { };
sgx-sdk = callPackage ../os-specific/linux/sgx/sdk {
ocamlPackages = ocaml-ng.ocamlPackages_5_3;
};
sgx-psw = callPackage ../os-specific/linux/sgx/psw {
protobuf = protobuf_21;
};
sinit = callPackage ../os-specific/linux/sinit {
rcinit = "/etc/rc.d/rc.init";
rcshutdown = "/etc/rc.d/rc.shutdown";
};
sysdig = callPackage ../os-specific/linux/sysdig {
kernel = null;
}; # sysdig is a client, for a driver look at linuxPackagesFor
sysprof = callPackage ../development/tools/profiling/sysprof { };
libsysprof-capture = callPackage ../development/tools/profiling/sysprof/capture.nix { };
systemd = callPackage ../os-specific/linux/systemd {
# break some cyclic dependencies
util-linux = util-linuxMinimal;
# provide a super minimal gnupg used for systemd-machined
gnupg = gnupg.override {
enableMinimal = true;
guiSupport = false;
};
};
systemdMinimal = systemd.override {
pname = "systemd-minimal";
withAcl = false;
withAnalyze = false;
withApparmor = false;
withAudit = false;
withCompression = false;
withCoredump = false;
withCryptsetup = false;
withRepart = false;
withDocumentation = false;
withEfi = false;
withFido2 = false;
withGcrypt = false;
withHostnamed = false;
withHomed = false;
withHwdb = false;
withImportd = false;
withLibBPF = false;
withLibidn2 = false;
withLocaled = false;
withLogind = false;
withMachined = false;
withNetworkd = false;
withNss = false;
withOomd = false;
withOpenSSL = false;
withPCRE2 = false;
withPam = false;
withPolkit = false;
withPortabled = false;
withRemote = false;
withResolved = false;
withShellCompletions = false;
withSysupdate = false;
withSysusers = false;
withTimedated = false;
withTimesyncd = false;
withTpm2Tss = false;
withUserDb = false;
withUkify = false;
withBootloader = false;
withPasswordQuality = false;
withVmspawn = false;
withQrencode = false;
withLibarchive = false;
withVConsole = false;
# withKmod = false; # breaks udevCheckHook of bcache-tools
withFirstboot = false;
withKexectools = false;
withLibseccomp = false;
withNspawn = false;
};
systemdLibs = systemdMinimal.override {
pname = "systemd-minimal-libs";
buildLibsOnly = true;
};
# We do not want to include ukify in the normal systemd attribute as it
# relies on Python at runtime.
systemdUkify = systemd.override {
withUkify = true;
};
udev = if lib.meta.availableOn stdenv.hostPlatform systemdLibs then systemdLibs else libudev-zero;
sysvtools = sysvinit.override {
withoutInitTools = true;
};
# Upstream U-Boots:
inherit (callPackage ../misc/uboot { })
buildUBoot
ubootTools
ubootPythonTools
ubootA20OlinuxinoLime
ubootA20OlinuxinoLime2EMMC
ubootBananaPi
ubootBananaPim2Zero
ubootBananaPim3
ubootBananaPim64
ubootAmx335xEVM
ubootClearfog
ubootCM3588NAS
ubootCubieboard2
ubootGuruplug
ubootJetsonTK1
ubootLibreTechCC
ubootNanoPCT4
ubootNanoPCT6
ubootNanoPiR5S
ubootNovena
ubootOdroidC2
ubootOdroidXU3
ubootOlimexA64Olinuxino
ubootOlimexA64Teres1
ubootOrangePi3
ubootOrangePi3B
ubootOrangePi5
ubootOrangePi5Max
ubootOrangePi5Plus
ubootOrangePiPc
ubootOrangePiZeroPlus2H5
ubootOrangePiZero
ubootOrangePiZero2
ubootOrangePiZero3
ubootPcduino3Nano
ubootPine64
ubootPine64LTS
ubootPinebook
ubootPinebookPro
ubootQemuAarch64
ubootQemuArm
ubootQemuRiscv64Smode
ubootQemuX86
ubootQemuX86_64
ubootQuartz64B
ubootRadxaZero3W
ubootRaspberryPi
ubootRaspberryPi2
ubootRaspberryPi3_32bit
ubootRaspberryPi3_64bit
ubootRaspberryPi4_32bit
ubootRaspberryPi4_64bit
ubootRaspberryPiZero
ubootRock4CPlus
ubootRock5ModelB
ubootRock64
ubootRock64v2
ubootRockPiE
ubootRockPi4
ubootRockPro64
ubootROCPCRK3399
ubootSheevaplug
ubootSopine
ubootTuringRK1
ubootUtilite
ubootVisionFive2
ubootWandboard
;
usbrelay = callPackage ../os-specific/linux/usbrelay { };
usbrelayd = callPackage ../os-specific/linux/usbrelay/daemon.nix { };
util-linuxMinimal = util-linux.override {
fetchurl = stdenv.fetchurlBoot;
cryptsetupSupport = false;
nlsSupport = false;
ncursesSupport = false;
pamSupport = false;
shadowSupport = false;
systemdSupport = false;
translateManpages = false;
withLastlog = false;
};
windows = recurseIntoAttrs (callPackages ../os-specific/windows { });
cygwin = recurseIntoAttrs (callPackages ../os-specific/cygwin { });
wpa_supplicant = callPackage ../os-specific/linux/wpa_supplicant { };
wpa_supplicant_gui = libsForQt5.callPackage ../os-specific/linux/wpa_supplicant/gui.nix { };
inherit
({
zfs_2_3 = callPackage ../os-specific/linux/zfs/2_3.nix {
configFile = "user";
};
zfs_2_4 = callPackage ../os-specific/linux/zfs/2_4.nix {
configFile = "user";
};
zfs_unstable = callPackage ../os-specific/linux/zfs/unstable.nix {
configFile = "user";
};
})
zfs_2_3
zfs_2_4
zfs_unstable
;
zfs = zfs_2_4;
### DATA
adwaita-qt6 = adwaita-qt.override { useQt6 = true; };
dejavu_fonts = lowPrio (callPackage ../data/fonts/dejavu-fonts { });
docbook_sgml_dtd_31 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/3.1.nix { };
docbook_sgml_dtd_41 = callPackage ../data/sgml+xml/schemas/sgml-dtd/docbook/4.1.nix { };
docbook_xml_dtd_412 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.1.2.nix { };
docbook_xml_dtd_42 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.2.nix { };
docbook_xml_dtd_43 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.3.nix { };
docbook_xml_dtd_44 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.4.nix { };
docbook_xml_dtd_45 = callPackage ../data/sgml+xml/schemas/xml-dtd/docbook/4.5.nix { };
inherit (callPackages ../data/sgml+xml/stylesheets/xslt/docbook-xsl { })
docbook-xsl-nons
docbook-xsl-ns
;
# TODO: move this to aliases
docbook_xsl = docbook-xsl-nons;
docbook_xsl_ns = docbook-xsl-ns;
documentation-highlighter = callPackage ../misc/documentation-highlighter { };
moeli = eduli;
font-awesome_4 = (callPackage ../data/fonts/font-awesome { }).v4;
font-awesome_5 = (callPackage ../data/fonts/font-awesome { }).v5;
font-awesome_6 = (callPackage ../data/fonts/font-awesome { }).v6;
font-awesome_7 = (callPackage ../data/fonts/font-awesome { }).v7;
font-awesome = font-awesome_7;
palenight-theme = callPackage ../data/themes/gtk-theme-framework { theme = "palenight"; };
amarena-theme = callPackage ../data/themes/gtk-theme-framework { theme = "amarena"; };
gruvterial-theme = callPackage ../data/themes/gtk-theme-framework { theme = "gruvterial"; };
oceanic-theme = callPackage ../data/themes/gtk-theme-framework { theme = "oceanic"; };
spacx-gtk-theme = callPackage ../data/themes/gtk-theme-framework { theme = "spacx"; };
gruppled-white-cursors = gruppled-black-cursors.override { theme = "white"; };
gruppled-white-lite-cursors = gruppled-black-lite-cursors.override { theme = "white"; };
iosevka-comfy = recurseIntoAttrs (callPackages ../data/fonts/iosevka/comfy.nix { });
/**
A JSON Schema Catalog is a mapping from URIs to JSON Schema documents.
It enables offline use, e.g. in build processes, and it improves performance, robustness and safety.
*/
inherit (callPackage ../data/json-schema/default.nix { }) jsonSchemaCatalogs;
inherit (callPackages ../data/fonts/liberation-fonts { })
liberation_ttf_v1
liberation_ttf_v2
;
liberation_ttf = liberation_ttf_v2;
# ltunifi and solaar both provide udev rules but solaar's rules are more
# up-to-date so we simply use that instead of having to maintain our own rules
logitech-udev-rules = solaar.udev;
# lohit-fonts.assamese lohit-fonts.bengali lohit-fonts.devanagari lohit-fonts.gujarati lohit-fonts.gurmukhi
# lohit-fonts.kannada lohit-fonts.malayalam lohit-fonts.marathi lohit-fonts.nepali lohit-fonts.odia
# lohit-fonts.tamil-classical lohit-fonts.tamil lohit-fonts.telugu
# lohit-fonts.kashmiri lohit-fonts.konkani lohit-fonts.maithili lohit-fonts.sindhi
lohit-fonts = recurseIntoAttrs (callPackages ../data/fonts/lohit-fonts { });
mplus-outline-fonts = recurseIntoAttrs (callPackage ../data/fonts/mplus-outline-fonts { });
noto-fonts-cjk-serif-static = callPackage ../by-name/no/noto-fonts-cjk-serif/package.nix {
static = true;
};
noto-fonts-cjk-sans-static = callPackage ../by-name/no/noto-fonts-cjk-sans/package.nix {
static = true;
};
noto-fonts-lgc-plus = callPackage ../by-name/no/noto-fonts/package.nix {
suffix = "-lgc-plus";
variants = [
"Noto Sans"
"Noto Serif"
"Noto Sans Mono"
"Noto Music"
"Noto Sans Symbols"
"Noto Sans Symbols 2"
"Noto Sans Math"
];
longDescription = ''
This package provides the Noto Fonts, but only for latin, greek
and cyrillic scripts, as well as some extra fonts.
'';
};
openmoji-color = callPackage ../data/fonts/openmoji { fontFormats = [ "glyf_colr_0" ]; };
openmoji-black = callPackage ../data/fonts/openmoji { fontFormats = [ "glyf" ]; };
papis = with python3Packages; toPythonApplication papis;
scheherazade-new = scheherazade.override {
version = "4.400";
};
inherit (callPackages ../data/fonts/gdouros { })
aegan
aegyptus
akkadian
assyrian
eemusic
maya
symbola
textfonts
unidings
;
inherit (callPackages ../data/fonts/pretendard { })
pretendard
pretendard-gov
pretendard-jp
pretendard-std
;
inherit (callPackage ../data/fonts/source-han { })
source-han-sans
source-han-serif
source-han-mono
source-han-sans-vf-otf
source-han-sans-vf-ttf
source-han-serif-vf-otf
source-han-serif-vf-ttf
;
themes = name: callPackage (../data/misc/themes + ("/" + name + ".nix")) { };
tex-gyre = recurseIntoAttrs (callPackages ../data/fonts/tex-gyre { });
tex-gyre-math = recurseIntoAttrs (callPackages ../data/fonts/tex-gyre-math { });
xkeyboard_config = xkeyboard-config;
xkeyboard-config_custom = callPackage ../by-name/xk/xkeyboard-config/custom.nix { };
xlsx2csv = with python3Packages; toPythonApplication xlsx2csv;
### APPLICATIONS / GIS
qgis-ltr = callPackage ../applications/gis/qgis/ltr.nix { };
qgis = callPackage ../applications/gis/qgis { };
### APPLICATIONS
_2bwm = callPackage ../applications/window-managers/2bwm {
patches = config."2bwm".patches or [ ];
};
inherit (qt6Packages.callPackage ../applications/office/activitywatch { })
aw-qt
aw-notify
aw-server-rust
aw-watcher-afk
aw-watcher-window
;
activitywatch = callPackage ../applications/office/activitywatch/wrapper.nix { };
masterpdfeditor4 = libsForQt5.callPackage ../applications/misc/masterpdfeditor4 { };
inherit
({
pdfstudio2021 = callPackage ../applications/misc/pdfstudio { year = "2021"; };
pdfstudio2022 = callPackage ../applications/misc/pdfstudio { year = "2022"; };
pdfstudio2023 = callPackage ../applications/misc/pdfstudio { year = "2023"; };
pdfstudio2024 = callPackage ../applications/misc/pdfstudio { year = "2024"; };
pdfstudioviewer = callPackage ../applications/misc/pdfstudio { program = "pdfstudioviewer"; };
})
pdfstudio2021
pdfstudio2022
pdfstudio2023
pdfstudio2024
pdfstudioviewer
;
androidStudioPackages = recurseIntoAttrs (callPackage ../applications/editors/android-studio { });
android-studio = androidStudioPackages.stable;
android-studio-full = android-studio.full;
androidStudioForPlatformPackages = recurseIntoAttrs (
callPackage ../applications/editors/android-studio-for-platform { }
);
android-studio-for-platform = androidStudioForPlatformPackages.stable;
apngasm = callPackage ../applications/graphics/apngasm { };
apngasm_2 = callPackage ../applications/graphics/apngasm/2.nix { };
arelle = with python3Packages; toPythonApplication arelle;
astroid = callPackage ../applications/networking/mailreaders/astroid {
vim = vim-full.override { features = "normal"; };
protobuf = protobuf_21;
};
audacious = audacious-bare.override { withPlugins = true; };
bambootracker-qt6 = bambootracker.override { withQt6 = true; };
awesome = callPackage ../applications/window-managers/awesome {
cairo = cairo.override { xcbSupport = true; };
inherit (texFunctions) fontsConf;
};
awesomebump = libsForQt5.callPackage ../applications/graphics/awesomebump { };
backintime = backintime-qt;
bespokesynth-with-vst2 = bespokesynth.override {
enableVST2 = true;
};
bfcal = libsForQt5.callPackage ../applications/misc/bfcal { };
bitlbee = callPackage ../applications/networking/instant-messengers/bitlbee { };
bitlbee-plugins = callPackage ../applications/networking/instant-messengers/bitlbee/plugins.nix { };
bitscope = recurseIntoAttrs (
callPackage ../applications/science/electronics/bitscope/packages.nix { }
);
bitwig-studio4 = callPackage ../applications/audio/bitwig-studio/bitwig-studio4.nix {
libjpeg = libjpeg8;
};
bitwig-studio5-unwrapped = callPackage ../applications/audio/bitwig-studio/bitwig-studio5.nix {
libjpeg = libjpeg8;
};
bitwig-studio5 = callPackage ../applications/audio/bitwig-studio/bitwig-wrapper.nix {
bitwig-studio-unwrapped = bitwig-studio5-unwrapped;
};
bitwig-studio = bitwig-studio5;
blucontrol = callPackage ../applications/misc/blucontrol/wrapper.nix {
inherit (haskellPackages) ghcWithPackages;
};
breezy = with python3Packages; toPythonApplication breezy;
# calico-felix and calico-node have not been packaged due to libbpf, linking issues
inherit (callPackage ../applications/networking/cluster/calico { })
calico-apiserver
calico-app-policy
calico-cni-plugin
calico-kube-controllers
calico-pod2daemon
calico-typha
calicoctl
confd-calico
;
cb2bib = libsForQt5.callPackage ../applications/office/cb2bib { };
cbconvert-gui = cbconvert.gui;
cdparanoia = cdparanoiaIII;
cdxj-indexer = with python3Packages; toPythonApplication cdxj-indexer;
chromium = callPackage ../applications/networking/browsers/chromium (config.chromium or { });
clipgrab = libsForQt5.callPackage ../applications/video/clipgrab { };
cni = callPackage ../applications/networking/cluster/cni { };
cni-plugins = callPackage ../applications/networking/cluster/cni/plugins.nix { };
communi = libsForQt5.callPackage ../applications/networking/irc/communi { };
confclerk = libsForQt5.callPackage ../applications/misc/confclerk { };
codeblocksFull = codeblocks.override { contribPlugins = true; };
cudatext-qt = callPackage ../applications/editors/cudatext { widgetset = "qt5"; };
cudatext-gtk = callPackage ../applications/editors/cudatext { widgetset = "gtk2"; };
cudatext = cudatext-qt;
darcs = haskell.lib.compose.disableCabalFlag "library" (
haskell.lib.compose.justStaticExecutables haskellPackages.darcs
);
datadog-agent = callPackage ../tools/networking/dd-agent/datadog-agent.nix {
pythonPackages = datadog-integrations-core { };
};
datadog-process-agent = callPackage ../tools/networking/dd-agent/datadog-process-agent.nix { };
datadog-integrations-core =
extras:
callPackage ../tools/networking/dd-agent/integrations-core.nix {
extraIntegrations = extras;
};
deadbeefPlugins = recurseIntoAttrs {
headerbar-gtk3 = callPackage ../applications/audio/deadbeef/plugins/headerbar-gtk3.nix { };
lyricbar = callPackage ../applications/audio/deadbeef/plugins/lyricbar.nix { };
mpris2 = callPackage ../applications/audio/deadbeef/plugins/mpris2.nix { };
musical-spectrum = callPackage ../applications/audio/deadbeef/plugins/musical-spectrum.nix { };
statusnotifier = callPackage ../applications/audio/deadbeef/plugins/statusnotifier.nix { };
playlist-manager = callPackage ../applications/audio/deadbeef/plugins/playlist-manager.nix { };
waveform-seekbar = callPackage ../applications/audio/deadbeef/plugins/waveform-seekbar.nix { };
};
deadbeef-with-plugins = callPackage ../applications/audio/deadbeef/wrapper.nix {
plugins = [ ];
};
inherit (callPackage ../development/tools/devpod { }) devpod devpod-desktop;
djview4 = djview;
dmenu-rs-enable-plugins = dmenu-rs.override { enablePlugins = true; };
inherit (callPackage ../applications/virtualization/docker { })
docker_25
docker_28
docker_29
;
docker = docker_29;
docker-client = docker.override { clientOnly = true; };
docker-gc = callPackage ../applications/virtualization/docker/gc.nix { };
docker-machine-hyperkit =
callPackage ../applications/networking/cluster/docker-machine/hyperkit.nix
{ };
docker-buildx = callPackage ../applications/virtualization/docker/buildx.nix { };
docker-compose = callPackage ../applications/virtualization/docker/compose.nix { };
docker-sbom = callPackage ../applications/virtualization/docker/sbom.nix { };
drawpile-server-headless = drawpile.override {
buildClient = false;
buildServerGui = false;
};
drawterm-wayland = callPackage ../by-name/dr/drawterm/package.nix { withWayland = true; };
droopy = python3Packages.callPackage ../applications/networking/droopy { };
evilwm = callPackage ../applications/window-managers/evilwm {
patches = config.evilwm.patches or [ ];
};
eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse { });
electrum = libsForQt5.callPackage ../applications/misc/electrum { };
electrum-grs = libsForQt5.callPackage ../applications/misc/electrum/grs.nix { };
electrum-ltc = libsForQt5.callPackage ../applications/misc/electrum/ltc.nix { };
inherit (recurseIntoAttrs (callPackage ../applications/editors/emacs { }))
emacs30
emacs30-gtk3
emacs30-nox
emacs30-pgtk
emacs30-macport
;
emacs-macport = emacs30-macport;
emacs = emacs30;
emacs-gtk = emacs30-gtk3;
emacs-nox = emacs30-nox;
emacs-pgtk = emacs30-pgtk;
emacsPackagesFor =
emacs:
import ./emacs-packages.nix {
inherit lib;
emacs' = emacs;
pkgs' = pkgs; # default pkgs used for bootstrapping the emacs package set
};
# emacsPackages is exposed on search.nixos.org.
# Also see pkgs/top-level/packages-config.nix
emacsPackages = dontRecurseIntoAttrs emacs.pkgs;
espeak-classic = callPackage ../applications/audio/espeak { };
espeak = espeak-ng;
espeakedit = callPackage ../applications/audio/espeak/edit.nix { };
evolution-data-server-gtk4 = evolution-data-server.override {
withGtk3 = false;
withGtk4 = true;
};
evolution = callPackage ../applications/networking/mailreaders/evolution/evolution { };
evolutionWithPlugins =
callPackage ../applications/networking/mailreaders/evolution/evolution/wrapper.nix
{
plugins = [
evolution
evolution-ews
];
};
firewalld-gui = firewalld.override { withGui = true; };
fldigi = callPackage ../applications/radio/fldigi {
hamlib = hamlib_4;
};
fossil = callPackage ../applications/version-management/fossil {
sqlite = sqlite.override { enableDeserialize = true; };
};
fvwm = fvwm2;
gaucheBootstrap = callPackage ../development/interpreters/gauche/boot.nix { };
gauche = callPackage ../development/interpreters/gauche { };
geany = callPackage ../applications/editors/geany { };
geany-with-vte = callPackage ../applications/editors/geany/with-vte.nix { };
gimagereader-qt = qt6Packages.callPackage ../by-name/gi/gimagereader/package.nix {
withQt6 = true;
};
gnuradio = callPackage ../applications/radio/gnuradio/wrapper.nix {
unwrapped = callPackage ../applications/radio/gnuradio {
python = python3;
};
};
gnuradioPackages = recurseIntoAttrs gnuradio.pkgs;
goldendict = libsForQt5.callPackage ../applications/misc/goldendict { };
inherit (ocamlPackages) google-drive-ocamlfuse;
gqrx-portaudio = gqrx.override {
portaudioSupport = true;
pulseaudioSupport = false;
};
gqrx-gr-audio = gqrx.override {
portaudioSupport = false;
pulseaudioSupport = false;
};
tshark = wireshark-cli;
wireshark-cli = wireshark.override { withQt = false; };
buildMozillaMach =
opts: callPackage (import ../build-support/build-mozilla-mach/default.nix opts) { };
firefox-unwrapped = import ../applications/networking/browsers/firefox/packages/firefox.nix {
inherit
stdenv
lib
callPackage
fetchurl
nixosTests
buildMozillaMach
;
};
firefox-beta-unwrapped =
import ../applications/networking/browsers/firefox/packages/firefox-beta.nix
{
inherit
stdenv
lib
callPackage
fetchurl
nixosTests
buildMozillaMach
;
};
firefox-devedition-unwrapped =
import ../applications/networking/browsers/firefox/packages/firefox-devedition.nix
{
inherit
stdenv
lib
callPackage
fetchurl
nixosTests
buildMozillaMach
;
};
firefox-esr-140-unwrapped =
import ../applications/networking/browsers/firefox/packages/firefox-esr-140.nix
{
inherit
stdenv
lib
callPackage
fetchurl
nixosTests
buildMozillaMach
;
};
firefox-esr-unwrapped = firefox-esr-140-unwrapped;
firefox = wrapFirefox firefox-unwrapped { };
firefox-beta = wrapFirefox firefox-beta-unwrapped { };
firefox-devedition = wrapFirefox firefox-devedition-unwrapped { };
firefox-mobile = callPackage ../applications/networking/browsers/firefox/mobile-config.nix { };
firefox-esr-140 = wrapFirefox firefox-esr-140-unwrapped {
nameSuffix = "-esr";
wmClass = "firefox-esr";
icon = "firefox-esr";
};
firefox-esr = firefox-esr-140;
firefox-bin-unwrapped = callPackage ../applications/networking/browsers/firefox-bin {
inherit (firefox-unwrapped.passthru) applicationName;
generated = import ../applications/networking/browsers/firefox-bin/release_sources.nix;
};
firefox-bin = wrapFirefox firefox-bin-unwrapped {
pname = "firefox-bin";
};
librewolf = wrapFirefox librewolf-unwrapped {
inherit (librewolf-unwrapped) extraPrefsFiles extraPoliciesFiles;
libName = "librewolf";
};
librewolf-bin = wrapFirefox librewolf-bin-unwrapped {
pname = "librewolf-bin";
extraPrefsFiles = [
"${librewolf-bin-unwrapped}/lib/librewolf-bin-${librewolf-bin-unwrapped.version}/librewolf.cfg"
];
extraPoliciesFiles = [
"${librewolf-bin-unwrapped}/lib/librewolf-bin-${librewolf-bin-unwrapped.version}/distribution/extra-policies.json"
];
};
floorp-bin = wrapFirefox floorp-bin-unwrapped {
pname = "floorp-bin";
};
formiko =
with python3Packages;
callPackage ../applications/editors/formiko {
inherit buildPythonApplication;
};
inherit
({
freeoffice = callPackage ../applications/office/softmaker/freeoffice.nix { };
})
freeoffice
;
gimp2 = callPackage ../applications/graphics/gimp/2.0 {
lcms = lcms2;
stdenv = if stdenv.cc.isGNU then gcc14Stdenv else stdenv;
};
gimp2-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix {
gimpPlugins = gimp2Plugins;
plugins = null; # All packaged plugins enabled, if not explicit plugin list supplied
};
gimp2Plugins = recurseIntoAttrs (
callPackage ../applications/graphics/gimp/plugins {
gimp = gimp2;
}
);
gimp = callPackage ../applications/graphics/gimp {
lcms = lcms2;
};
gimp-with-plugins = callPackage ../applications/graphics/gimp/wrapper.nix {
plugins = null; # All packaged plugins enabled, if not explicit plugin list supplied
};
gimpPlugins = recurseIntoAttrs (callPackage ../applications/graphics/gimp/plugins { });
gtk-pipe-viewer = perlPackages.callPackage ../applications/video/pipe-viewer { withGtk3 = true; };
jetbrains = (
recurseIntoAttrs (
callPackages ../applications/editors/jetbrains {
vmopts = config.jetbrains.vmopts or null;
jdk = jetbrains.jdk;
}
)
// {
jdk-no-jcef = callPackage ../development/compilers/jetbrains-jdk {
jdk = jdk21;
withJcef = false;
};
jdk = callPackage ../development/compilers/jetbrains-jdk {
jdk = jdk21;
};
jcef = callPackage ../development/compilers/jetbrains-jdk/jcef.nix {
jdk = jdk21;
};
}
// lib.optionalAttrs config.allowAliases {
jdk-no-jcef-17 = throw "'jdk-no-jcef-17' has been removed because it is unused in nixpkgs."; # Added 2026-01-24
}
);
librespot = callPackage ../applications/audio/librespot {
withALSA = stdenv.hostPlatform.isLinux;
withPulseAudio = config.pulseaudio or stdenv.hostPlatform.isLinux;
withPortAudio = stdenv.hostPlatform.isDarwin;
};
linssid = libsForQt5.callPackage ../applications/networking/linssid { };
deadd-notification-center = haskell.lib.compose.justStaticExecutables (
haskellPackages.callPackage ../applications/misc/deadd-notification-center { }
);
m32edit = callPackage ../applications/audio/midas/m32edit.nix { };
manuskript = libsForQt5.callPackage ../applications/editors/manuskript { };
minari = python3Packages.toPythonApplication python3Packages.minari;
mindforger = libsForQt5.callPackage ../applications/editors/mindforger { };
molsketch = libsForQt5.callPackage ../applications/editors/molsketch { };
gphoto2 = callPackage ../applications/misc/gphoto2 { };
gphoto2fs = callPackage ../applications/misc/gphoto2/gphotofs.nix { };
graphicsmagick_q16 = graphicsmagick.override { quantumdepth = 16; };
graphicsmagick-imagemagick-compat = graphicsmagick.imagemagick-compat;
q4wine = kdePackages.callPackage ../applications/misc/q4wine { };
googleearth-pro = libsForQt5.callPackage ../applications/misc/googleearth-pro { };
gpsbabel-gui = gpsbabel.override {
withGUI = true;
withDoc = true;
};
guvcview = libsForQt5.callPackage ../os-specific/linux/guvcview { };
hachoir = with python3Packages; toPythonApplication hachoir;
heimer = libsForQt5.callPackage ../applications/misc/heimer { };
hydrogen-web-unwrapped =
callPackage ../applications/networking/instant-messengers/hydrogen-web/unwrapped.nix
{ };
hydrogen-web = callPackage ../applications/networking/instant-messengers/hydrogen-web/wrapper.nix {
conf = config.hydrogen-web.conf or { };
};
hledger = haskell.lib.compose.justStaticExecutables haskellPackages.hledger;
hledger-iadd = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-iadd;
hledger-interest = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-interest;
hledger-ui = haskell.lib.compose.justStaticExecutables haskellPackages.hledger-ui;
hledger-web =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.hledger-web;
hledger-utils = with python3.pkgs; toPythonApplication hledger-utils;
hpack = haskell.lib.compose.justStaticExecutables haskellPackages.hpack;
huggle = libsForQt5.callPackage ../applications/misc/huggle { };
hyperion-ng = libsForQt5.callPackage ../applications/video/hyperion-ng { };
hyperglot = with python3Packages; toPythonApplication hyperglot;
jackline = callPackage ../applications/networking/instant-messengers/jackline {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
pass2csv = python3Packages.callPackage ../tools/security/pass2csv { };
pinboard = with python3Packages; toPythonApplication pinboard;
pinboard-notes-backup = haskell.lib.compose.justStaticExecutables haskellPackages.pinboard-notes-backup;
inherit (callPackage ../applications/virtualization/singularity/packages.nix { })
apptainer
singularity
apptainer-overriden-nixos
singularity-overriden-nixos
;
inherit (callPackages ../development/libraries/wlroots { })
wlroots_0_17
wlroots_0_18
wlroots_0_19
;
sway-contrib = recurseIntoAttrs (callPackages ../applications/misc/sway-contrib { });
i3 = callPackage ../applications/window-managers/i3 { };
i3-auto-layout = callPackage ../applications/window-managers/i3/auto-layout.nix { };
i3-rounded = callPackage ../applications/window-managers/i3/rounded.nix { };
i3altlayout = callPackage ../applications/window-managers/i3/altlayout.nix { };
i3-balance-workspace =
python3Packages.callPackage ../applications/window-managers/i3/balance-workspace.nix
{ };
i3-cycle-focus = callPackage ../applications/window-managers/i3/cycle-focus.nix { };
i3-easyfocus = callPackage ../applications/window-managers/i3/easyfocus.nix { };
i3-layout-manager = callPackage ../applications/window-managers/i3/layout-manager.nix { };
i3-ratiosplit = callPackage ../applications/window-managers/i3/i3-ratiosplit.nix { };
i3-resurrect = python3Packages.callPackage ../applications/window-managers/i3/i3-resurrect.nix { };
i3-swallow = python3Packages.callPackage ../applications/window-managers/i3/swallow.nix { };
i3blocks = callPackage ../applications/window-managers/i3/blocks.nix { };
i3blocks-gaps = callPackage ../applications/window-managers/i3/blocks-gaps.nix { };
i3ipc-glib = callPackage ../applications/window-managers/i3/i3ipc-glib.nix { };
i3lock = callPackage ../applications/window-managers/i3/lock.nix {
cairo = cairo.override { xcbSupport = true; };
};
i3lock-blur = callPackage ../applications/window-managers/i3/lock-blur.nix { };
i3lock-color = callPackage ../applications/window-managers/i3/lock-color.nix { };
i3lock-fancy = callPackage ../applications/window-managers/i3/lock-fancy.nix { };
i3lock-fancy-rapid = callPackage ../applications/window-managers/i3/lock-fancy-rapid.nix { };
i3status = callPackage ../applications/window-managers/i3/status.nix { };
i3wsr = callPackage ../applications/window-managers/i3/wsr.nix { };
i3-wk-switch = callPackage ../applications/window-managers/i3/wk-switch.nix { };
workstyle = callPackage ../applications/window-managers/i3/workstyle.nix { };
wmfocus = callPackage ../applications/window-managers/i3/wmfocus.nix { };
ikiwiki = callPackage ../applications/misc/ikiwiki {
inherit
(perlPackages.override {
pkgs = pkgs // {
imagemagick = imagemagickBig;
};
})
ImageMagick
;
};
ikiwiki-full = ikiwiki.override {
bazaarSupport = false; # tests broken
cvsSupport = true;
docutilsSupport = true;
gitSupport = true;
mercurialSupport = true;
monotoneSupport = true;
subversionSupport = true;
};
avalonia-ilspy = callPackage ../applications/misc/avalonia-ilspy {
inherit (darwin) autoSignDarwinBinariesHook;
};
imagemagick_light = lowPrio (
imagemagick.override {
bzip2Support = false;
zlibSupport = false;
libX11Support = false;
libXtSupport = false;
fontconfigSupport = false;
freetypeSupport = false;
libraqmSupport = false;
libjpegSupport = false;
djvulibreSupport = false;
lcms2Support = false;
openexrSupport = false;
libjxlSupport = false;
libpngSupport = false;
liblqr1Support = false;
librsvgSupport = false;
libtiffSupport = false;
libxml2Support = false;
openjpegSupport = false;
libwebpSupport = false;
libheifSupport = false;
}
);
imagemagickBig = lowPrio (
imagemagick.override {
ghostscriptSupport = true;
}
);
img2pdf = with python3Packages; toPythonApplication img2pdf;
inkscape = callPackage ../applications/graphics/inkscape {
lcms = lcms2;
};
inkscape-with-extensions = callPackage ../applications/graphics/inkscape/with-extensions.nix { };
inkscape-extensions = recurseIntoAttrs (
callPackages ../applications/graphics/inkscape/extensions.nix { }
);
jabcode = callPackage ../development/libraries/jabcode { };
jabcode-writer = callPackage ../development/libraries/jabcode {
subproject = "writer";
};
jabcode-reader = callPackage ../development/libraries/jabcode {
subproject = "reader";
};
jackmix_jack1 = jackmix.override { jack = jack1; };
jwm = callPackage ../applications/window-managers/jwm { };
jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };
inherit (callPackage ../applications/networking/cluster/k3s { })
k3s_1_32
k3s_1_33
k3s_1_34
k3s_1_35
;
k3s = k3s_1_34;
okteta = libsForQt5.callPackage ../applications/editors/okteta { };
k4dirstat = libsForQt5.callPackage ../applications/misc/k4dirstat { };
klayout = libsForQt5.callPackage ../applications/misc/klayout { };
kotatogram-desktop =
callPackage ../applications/networking/instant-messengers/telegram/kotatogram-desktop
{ };
kubeval = callPackage ../applications/networking/cluster/kubeval { };
kubeval-schema = callPackage ../applications/networking/cluster/kubeval/schema.nix { };
kubectl-convert = kubectl.convert;
kubectl-view-allocations =
callPackage ../applications/networking/cluster/kubectl-view-allocations
{ };
linkerd = callPackage ../applications/networking/cluster/linkerd { };
linkerd_edge = callPackage ../applications/networking/cluster/linkerd/edge.nix { };
linkerd_stable = linkerd;
kuma = callPackage ../applications/networking/cluster/kuma { isFull = true; };
kuma-experimental = callPackage ../applications/networking/cluster/kuma {
isFull = true;
enableGateway = true;
pname = "kuma-experimental";
};
kumactl = callPackage ../applications/networking/cluster/kuma {
components = [ "kumactl" ];
pname = "kumactl";
};
kuma-cp = callPackage ../applications/networking/cluster/kuma {
components = [ "kuma-cp" ];
pname = "kuma-cp";
};
kuma-dp = callPackage ../applications/networking/cluster/kuma {
components = [ "kuma-dp" ];
pname = "kuma-dp";
};
kubernetes-helm = callPackage ../applications/networking/cluster/helm { };
wrapHelm = callPackage ../applications/networking/cluster/helm/wrapper.nix { };
kubernetes-helm-wrapped = wrapHelm kubernetes-helm { };
kubernetes-helmPlugins = recurseIntoAttrs (
callPackage ../applications/networking/cluster/helm/plugins { }
);
kup = libsForQt5.callPackage ../applications/misc/kup { };
kvirc = libsForQt5.callPackage ../applications/networking/irc/kvirc { };
ladspaPlugins = callPackage ../applications/audio/ladspa-plugins {
fftw = fftwSinglePrec;
};
lemonbar = callPackage ../applications/window-managers/lemonbar { };
lemonbar-xft = callPackage ../applications/window-managers/lemonbar/xft.nix { };
libreoffice-bin = callPackage ../applications/office/libreoffice/darwin { };
libreoffice = hiPrio libreoffice-still;
libreoffice-unwrapped = libreoffice.unwrapped;
libreoffice-qt = hiPrio libreoffice-qt-still;
libreoffice-qt-unwrapped = libreoffice-qt.unwrapped;
libreoffice-qt-fresh = lowPrio (
callPackage ../applications/office/libreoffice/wrapper.nix {
unwrapped = kdePackages.callPackage ../applications/office/libreoffice {
kdeIntegration = true;
variant = "fresh";
};
}
);
libreoffice-qt-fresh-unwrapped = libreoffice-qt-fresh.unwrapped;
libreoffice-qt-still = lowPrio (
callPackage ../applications/office/libreoffice/wrapper.nix {
unwrapped = kdePackages.callPackage ../applications/office/libreoffice {
kdeIntegration = true;
variant = "still";
};
}
);
libreoffice-qt-still-unwrapped = libreoffice-qt-still.unwrapped;
libreoffice-fresh = lowPrio (
callPackage ../applications/office/libreoffice/wrapper.nix {
unwrapped = callPackage ../applications/office/libreoffice {
variant = "fresh";
};
}
);
libreoffice-fresh-unwrapped = libreoffice-fresh.unwrapped;
libreoffice-still = lowPrio (
callPackage ../applications/office/libreoffice/wrapper.nix {
unwrapped = callPackage ../applications/office/libreoffice {
variant = "still";
};
}
);
libreoffice-still-unwrapped = libreoffice-still.unwrapped;
libreoffice-collabora = callPackage ../applications/office/libreoffice {
variant = "collabora";
withFonts = true;
};
lmms = libsForQt5.callPackage ../applications/audio/lmms {
lame = null;
libsoundio = null;
portaudio = null;
};
luminanceHDR = callPackage ../applications/graphics/luminance-hdr {
openexr = openexr_2;
};
luddite = with python3Packages; toPythonApplication luddite;
lxi-tools = callPackage ../tools/networking/lxi-tools { };
lxi-tools-gui = callPackage ../tools/networking/lxi-tools { withGui = true; };
lyx = libsForQt5.callPackage ../applications/misc/lyx { };
magic-wormhole = with python3Packages; toPythonApplication magic-wormhole;
magnetophonDSP = recurseIntoAttrs {
CharacterCompressor = callPackage ../applications/audio/magnetophonDSP/CharacterCompressor { };
CompBus = callPackage ../applications/audio/magnetophonDSP/CompBus { };
ConstantDetuneChorus = callPackage ../applications/audio/magnetophonDSP/ConstantDetuneChorus { };
faustCompressors = callPackage ../applications/audio/magnetophonDSP/faustCompressors { };
LazyLimiter = callPackage ../applications/audio/magnetophonDSP/LazyLimiter { };
MBdistortion = callPackage ../applications/audio/magnetophonDSP/MBdistortion { };
pluginUtils = callPackage ../applications/audio/magnetophonDSP/pluginUtils { };
RhythmDelay = callPackage ../applications/audio/magnetophonDSP/RhythmDelay { };
VoiceOfFaust = callPackage ../applications/audio/magnetophonDSP/VoiceOfFaust { };
shelfMultiBand = callPackage ../applications/audio/magnetophonDSP/shelfMultiBand { };
};
matrix-commander =
python3Packages.callPackage ../applications/networking/instant-messengers/matrix-commander
{ };
mediaelch-qt5 = callPackage ../by-name/me/mediaelch/package.nix { qtVersion = 5; };
mediaelch-qt6 = mediaelch;
mendeley = libsForQt5.callPackage ../applications/office/mendeley {
gconf = gnome2.GConf;
};
mercurialFull = mercurial.override { fullBuild = true; };
michabo = libsForQt5.callPackage ../applications/misc/michabo { };
minitube = libsForQt5.callPackage ../applications/video/minitube { };
mldonkey = callPackage ../applications/networking/p2p/mldonkey {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
monotone = callPackage ../applications/version-management/monotone {
lua = lua5;
};
moolticute = libsForQt5.callPackage ../applications/misc/moolticute { };
mopidyPackages = recurseIntoAttrs (
callPackages ../applications/audio/mopidy {
python = python3;
}
);
inherit (mopidyPackages)
mopidy
mopidy-listenbrainz
mopidy-bandcamp
mopidy-iris
mopidy-jellyfin
mopidy-local
mopidy-moped
mopidy-mopify
mopidy-mpd
mopidy-mpris
mopidy-muse
mopidy-musicbox-webclient
mopidy-notify
mopidy-podcast
mopidy-scrobbler
mopidy-somafm
mopidy-soundcloud
mopidy-spotify
mopidy-subidy
mopidy-tidal
mopidy-tunein
mopidy-youtube
mopidy-ytmusic
;
mpg123 = callPackage ../applications/audio/mpg123 {
jack = libjack2;
};
libmpg123 = mpg123.override {
libOnly = true;
withConplay = false;
};
mplayer = callPackage ../applications/video/mplayer (
{
libdvdnav = libdvdnav_4_2_1;
}
// (config.mplayer or { })
);
mpvScripts = callPackage ../by-name/mp/mpv/scripts.nix { };
mu-repo = python3Packages.callPackage ../applications/misc/mu-repo { };
murmur =
(callPackages ../applications/networking/mumble {
avahi = avahi-compat;
pulseSupport = config.pulseaudio or false;
iceSupport = config.murmur.iceSupport or true;
}).murmur;
mumble =
(callPackages ../applications/networking/mumble {
avahi = avahi-compat;
jackSupport = config.mumble.jackSupport or false;
speechdSupport = config.mumble.speechdSupport or false;
}).mumble;
mumble_overlay = (callPackages ../applications/networking/mumble { }).overlay;
mwic = callPackage ../applications/misc/mwic {
pythonPackages = python3Packages;
};
natron = libsForQt5.callPackage ../applications/video/natron { };
netmaker = callPackage ../applications/networking/netmaker { subPackages = [ "." ]; };
netmaker-full = callPackage ../applications/networking/netmaker { };
ninja_1_11 = callPackage ../by-name/ni/ninja/package.nix { ninjaRelease = "1.11"; };
ostinato = libsForQt5.callPackage ../applications/networking/ostinato {
protobuf = protobuf_21;
};
p4v = qt6Packages.callPackage ../applications/version-management/p4v { };
pcmanfm-qt = lxqt.pcmanfm-qt;
pijuice = with python3Packages; toPythonApplication pijuice;
pinegrow6 = callPackage ../applications/editors/pinegrow { pinegrowVersion = "6"; };
pinegrow = callPackage ../applications/editors/pinegrow { };
pipe-viewer = perlPackages.callPackage ../applications/video/pipe-viewer { };
pleroma-bot = python3Packages.callPackage ../development/python-modules/pleroma-bot { };
pnglatex = with python3Packages; toPythonApplication pnglatex;
polybarFull = polybar.override {
alsaSupport = true;
githubSupport = true;
mpdSupport = true;
pulseSupport = true;
iwSupport = false;
nlSupport = true;
i3Support = true;
};
scx = recurseIntoAttrs (callPackage ../os-specific/linux/scx { });
shogun = callPackage ../applications/science/machine-learning/shogun {
protobuf = protobuf_21;
};
smtube = libsForQt5.callPackage ../applications/video/smtube { };
inherit
({
softmaker-office = callPackage ../applications/office/softmaker/softmaker-office.nix { };
softmaker-office-nx = callPackage ../applications/office/softmaker/softmaker-office-nx.nix { };
})
softmaker-office
softmaker-office-nx
;
taxi-cli = with python3Packages; toPythonApplication taxi;
imapfilter = callPackage ../applications/networking/mailreaders/imapfilter.nix {
lua = lua5;
};
mupdf-headless = mupdf.override {
enableX11 = false;
enableGL = false;
};
diffpdf = libsForQt5.callPackage ../applications/misc/diffpdf { };
mypaint-brushes1 = callPackage ../development/libraries/mypaint-brushes/1.0.nix { };
mypaint-brushes = callPackage ../development/libraries/mypaint-brushes { };
mythtv = libsForQt5.callPackage ../applications/video/mythtv { };
ncdu_1 = callPackage ../by-name/nc/ncdu/1.nix { };
notepadqq = libsForQt5.callPackage ../applications/editors/notepadqq { };
notmuch = callPackage ../applications/networking/mailreaders/notmuch {
pythonPackages = python3Packages;
};
notmuch-mutt = callPackage ../applications/networking/mailreaders/notmuch/mutt.nix { };
muchsync = callPackage ../applications/networking/mailreaders/notmuch/muchsync.nix { };
nufraw = callPackage ../applications/graphics/nufraw { };
nufraw-thumbnailer = callPackage ../applications/graphics/nufraw {
addThumbnailer = true;
};
obs-studio = qt6Packages.callPackage ../applications/video/obs-studio { };
obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins { });
wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix { };
openambit = qt5.callPackage ../applications/misc/openambit { };
openbrf = libsForQt5.callPackage ../applications/misc/openbrf { };
opencpn = callPackage ../applications/misc/opencpn {
inherit (darwin) DarwinTools;
};
open-music-kontrollers = recurseIntoAttrs {
eteroj = callPackage ../applications/audio/open-music-kontrollers/eteroj.nix { };
jit = callPackage ../applications/audio/open-music-kontrollers/jit.nix { };
mephisto = callPackage ../applications/audio/open-music-kontrollers/mephisto.nix { };
midi_matrix = callPackage ../applications/audio/open-music-kontrollers/midi_matrix.nix { };
moony = callPackage ../applications/audio/open-music-kontrollers/moony.nix { };
orbit = callPackage ../applications/audio/open-music-kontrollers/orbit.nix { };
patchmatrix = callPackage ../applications/audio/open-music-kontrollers/patchmatrix.nix { };
router = callPackage ../applications/audio/open-music-kontrollers/router.nix { };
sherlock = callPackage ../applications/audio/open-music-kontrollers/sherlock.nix { };
synthpod = callPackage ../applications/audio/open-music-kontrollers/synthpod.nix { };
vm = callPackage ../applications/audio/open-music-kontrollers/vm.nix { };
};
inherit (callPackages ../data/fonts/open-relay { })
constructium
fairfax
fairfax-hd
kreative-square
;
opentx = libsForQt5.callPackage ../applications/misc/opentx { };
openrazer-daemon = python3Packages.toPythonApplication python3Packages.openrazer-daemon;
orpie = callPackage ../applications/misc/orpie {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
pantalaimon = callPackage ../applications/networking/instant-messengers/pantalaimon { };
pantalaimon-headless = callPackage ../applications/networking/instant-messengers/pantalaimon {
enableDbusUi = false;
};
parsec-bin = callPackage ../applications/misc/parsec/bin.nix { };
pdfpc = callPackage ../applications/misc/pdfpc {
inherit (gst_all_1)
gstreamer
gst-plugins-base
gst-plugins-good
gst-libav
;
};
peaclock = callPackage ../applications/misc/peaclock {
stdenv = gccStdenv;
};
pianoteq = callPackage ../applications/audio/pianoteq { };
pidginPackages = recurseIntoAttrs (
callPackage ../applications/networking/instant-messengers/pidgin/pidgin-plugins { }
);
inherit (pidginPackages) pidgin;
plex-mpv-shim = python3Packages.callPackage ../applications/video/plex-mpv-shim { };
plover = recurseIntoAttrs (libsForQt5.callPackage ../applications/misc/plover { });
pothos = libsForQt5.callPackage ../applications/radio/pothos { };
# perhaps there are better apps for this task? It's how I had configured my previous system.
# And I don't want to rewrite all rules
profanity = callPackage ../applications/networking/instant-messengers/profanity (
{
}
// (config.profanity or { })
);
psi = libsForQt5.callPackage ../applications/networking/instant-messengers/psi { };
psi-plus = libsForQt5.callPackage ../applications/networking/instant-messengers/psi-plus { };
pulseview = libsForQt5.callPackage ../applications/science/electronics/pulseview { };
puredata-with-plugins =
plugins: callPackage ../by-name/pu/puredata/wrapper.nix { inherit plugins; };
pure-maps = libsForQt5.callPackage ../applications/misc/pure-maps { };
qbittorrent-nox = qbittorrent.override { guiSupport = false; };
qbittorrent-enhanced-nox = qbittorrent-enhanced.override { guiSupport = false; };
qctools = libsForQt5.callPackage ../applications/video/qctools { };
qelectrotech = libsForQt5.callPackage ../applications/misc/qelectrotech { };
eiskaltdcpp = libsForQt5.callPackage ../applications/networking/p2p/eiskaltdcpp { };
qemu = callPackage ../applications/virtualization/qemu {
inherit (darwin) sigtool;
};
qemu-python-utils = python3Packages.toPythonApplication (
python3Packages.qemu.override {
fuseSupport = true;
tuiSupport = true;
}
);
qemu-utils = qemu.override {
toolsOnly = true;
};
# variant of qemu building user space emulator only - intended to be used from pkgsStatic
qemu-user = qemu.override {
userOnly = true;
};
canokey-qemu = callPackage ../applications/virtualization/qemu/canokey-qemu.nix { };
wrapQemuBinfmtP = callPackage ../applications/virtualization/qemu/binfmt-p-wrapper.nix { };
qmediathekview = libsForQt5.callPackage ../applications/video/qmediathekview { };
qmplay2-qt5 = qmplay2.override { qtVersion = "5"; };
qmplay2-qt6 = qmplay2.override { qtVersion = "6"; };
qsstv = qt5.callPackage ../applications/radio/qsstv { };
qsudo = libsForQt5.callPackage ../applications/misc/qsudo { };
qtbitcointrader = libsForQt5.callPackage ../applications/misc/qtbitcointrader { };
qtemu = libsForQt5.callPackage ../applications/virtualization/qtemu { };
quassel = libsForQt5.callPackage ../applications/networking/irc/quassel { };
quasselClient = quassel.override {
monolithic = false;
client = true;
tag = "-client-kf5";
};
quasselDaemon = quassel.override {
monolithic = false;
enableDaemon = true;
withKDE = false;
tag = "-daemon-qt5";
};
quiterss = libsForQt5.callPackage ../applications/networking/newsreaders/quiterss { };
quodlibet = callPackage ../applications/audio/quodlibet {
kakasi = null;
keybinder3 = null;
libappindicator-gtk3 = null;
libmodplug = null;
};
quodlibet-without-gst-plugins = quodlibet.override {
tag = "-without-gst-plugins";
withGstPlugins = false;
};
quodlibet-xine = quodlibet.override {
tag = "-xine";
withGstreamerBackend = false;
withXineBackend = true;
};
quodlibet-full = quodlibet.override {
inherit gtksourceview;
kakasi = kakasi;
keybinder3 = keybinder3;
libappindicator-gtk3 = libappindicator-gtk3;
libmodplug = libmodplug;
tag = "-full";
withDbusPython = true;
withMusicBrainzNgs = true;
withPahoMqtt = true;
withPypresence = true;
withSoco = true;
};
quodlibet-xine-full = quodlibet-full.override {
tag = "-xine-full";
withGstreamerBackend = false;
withXineBackend = true;
};
rawtherapee = callPackage ../applications/graphics/rawtherapee {
fftw = fftwSinglePrec;
};
reaper = callPackage ../applications/audio/reaper {
jackLibrary = libjack2; # Another option is "pipewire.jack".
ffmpeg = ffmpeg_4-headless;
};
rednotebook = python3Packages.callPackage ../applications/editors/rednotebook { };
retroshare = libsForQt5.callPackage ../applications/networking/p2p/retroshare { };
rgp = libsForQt5.callPackage ../development/tools/rgp { };
ringboard-wayland = callPackage ../by-name/ri/ringboard/package.nix { displayServer = "wayland"; };
ripcord =
if stdenv.hostPlatform.isLinux then
qt5.callPackage ../applications/networking/instant-messengers/ripcord { }
else
callPackage ../applications/networking/instant-messengers/ripcord/darwin.nix { };
inherit (callPackage ../applications/networking/cluster/rke2 { })
rke2_1_32
rke2_1_33
rke2_1_34
rke2_1_35
rke2_stable
rke2_latest
;
rke2 = rke2_stable;
rofi-pass = callPackage ../tools/security/pass/rofi-pass.nix { };
rofi-pass-wayland = callPackage ../tools/security/pass/rofi-pass.nix {
backend = "wayland";
};
rstudio-server = rstudio.override { server = true; };
rsync = callPackage ../applications/networking/sync/rsync (config.rsync or { });
rrsync = callPackage ../applications/networking/sync/rsync/rrsync.nix { };
inherit (callPackages ../applications/radio/rtl-sdr { })
rtl-sdr-librtlsdr
rtl-sdr-osmocom
rtl-sdr-blog
;
rtl-sdr = rtl-sdr-blog;
rusty-psn-gui = rusty-psn.override { withGui = true; };
scantailor-advanced = callPackage ../applications/graphics/scantailor/advanced.nix { };
scantailor-universal = callPackage ../applications/graphics/scantailor/universal.nix { };
stag = callPackage ../applications/misc/stag {
curses = ncurses;
};
sweethome3d = recurseIntoAttrs (
(callPackage ../applications/misc/sweethome3d { })
// (callPackage ../applications/misc/sweethome3d/editors.nix {
sweethome3dApp = sweethome3d.application;
})
);
sxiv = callPackage ../applications/graphics/sxiv {
imlib2 = imlib2Full;
};
dropbox = callPackage ../applications/networking/dropbox { };
dropbox-cli = callPackage ../applications/networking/dropbox/cli.nix { };
maestral = with python3Packages; toPythonApplication maestral;
myfitnesspal = with python3Packages; toPythonApplication myfitnesspal;
lightdm_qt = lightdm.override { withQt5 = true; };
curaengine_stable = callPackage ../applications/misc/curaengine/stable.nix { };
curaengine = callPackage ../applications/misc/curaengine {
inherit (python3.pkgs) libarcus;
protobuf = protobuf_21;
};
cura = libsForQt5.callPackage ../applications/misc/cura { };
curaPlugins = recurseIntoAttrs (callPackage ../applications/misc/cura/plugins.nix { });
super-slicer-beta = super-slicer.beta;
super-slicer-latest = super-slicer.latest;
socialscan = with python3.pkgs; toPythonApplication socialscan;
squeezelite-pulse = callPackage ../by-name/sq/squeezelite/package.nix {
audioBackend = "pulse";
};
inherit (ocaml-ng.ocamlPackages) stog;
stumpwm = callPackage ../applications/window-managers/stumpwm {
stdenv = stdenvNoCC;
sbcl = sbcl.withPackages (
ps: with ps; [
alexandria
cl-ppcre
clx
fiasco
]
);
};
stumpwm-unwrapped = sbcl.pkgs.stumpwm;
sublime3Packages = recurseIntoAttrs (
callPackage ../applications/editors/sublime/3/packages.nix { }
);
sublime3 = sublime3Packages.sublime3;
sublime3-dev = sublime3Packages.sublime3-dev;
inherit (recurseIntoAttrs (callPackage ../applications/editors/sublime/4/packages.nix { }))
sublime4
sublime4-dev
;
inherit (callPackage ../applications/version-management/sublime-merge { })
sublime-merge
sublime-merge-dev
;
inherit
(callPackages ../applications/version-management/subversion {
sasl = cyrus_sasl;
})
subversion
;
subversionClient = subversion.override {
bdbSupport = false;
perlBindings = true;
pythonBindings = true;
};
supersonic-wayland = supersonic.override {
waylandSupport = true;
};
inherit
(callPackages ../applications/networking/syncthing {
inherit (darwin) autoSignDarwinBinariesHook;
})
syncthing
syncthing-discovery
syncthing-relay
;
synergyWithoutGUI = synergy.override { withGUI = false; };
tabbed = callPackage ../applications/window-managers/tabbed {
# if you prefer a custom config, write the config.h in tabbed.config.h
# and enable
# customConfig = builtins.readFile ./tabbed.config.h;
};
taffybar = callPackage ../applications/window-managers/taffybar {
inherit (haskellPackages) ghcWithPackages taffybar;
};
telegram-desktop =
kdePackages.callPackage ../applications/networking/instant-messengers/telegram/telegram-desktop
{
stdenv = if stdenv.hostPlatform.isDarwin then llvmPackages_19.stdenv else stdenv;
};
termdown = python3Packages.callPackage ../applications/misc/termdown { };
terminaltexteffects = with python3Packages; toPythonApplication terminaltexteffects;
inherit
(callPackage ../applications/graphics/tesseract {
})
tesseract3
tesseract4
tesseract5
;
tesseract = tesseract5;
thunderbirdPackages = recurseIntoAttrs (
callPackage ../applications/networking/mailreaders/thunderbird/packages.nix {
callPackage = newScope {
inherit (rustPackages) cargo rustc;
};
}
);
thunderbird-unwrapped = thunderbirdPackages.thunderbird;
thunderbird = wrapThunderbird thunderbird-unwrapped { };
thunderbird-latest-unwrapped = thunderbirdPackages.thunderbird-latest;
thunderbird-latest = wrapThunderbird thunderbird-latest-unwrapped { };
thunderbird-esr-unwrapped = thunderbirdPackages.thunderbird-esr;
thunderbird-esr = wrapThunderbird thunderbird-esr-unwrapped { };
thunderbird-140-unwrapped = thunderbirdPackages.thunderbird-140;
thunderbird-140 = wrapThunderbird thunderbirdPackages.thunderbird-140 { };
thunderbird-bin = thunderbird-latest-bin;
thunderbird-latest-bin = wrapThunderbird thunderbird-latest-bin-unwrapped {
pname = "thunderbird-bin";
};
thunderbird-latest-bin-unwrapped =
callPackage ../applications/networking/mailreaders/thunderbird-bin
{
generated = import ../applications/networking/mailreaders/thunderbird-bin/release_sources.nix;
};
thunderbird-esr-bin = wrapThunderbird thunderbird-esr-bin-unwrapped {
pname = "thunderbird-esr-bin";
};
thunderbird-esr-bin-unwrapped = callPackage ../applications/networking/mailreaders/thunderbird-bin {
generated = import ../applications/networking/mailreaders/thunderbird-bin/release_esr_sources.nix;
versionSuffix = "esr";
};
timbreid = callPackage ../applications/audio/pd-plugins/timbreid {
fftw = fftwSinglePrec;
};
inherit
({
timeshift-unwrapped = callPackage ../applications/backup/timeshift/unwrapped.nix { };
timeshift = callPackage ../applications/backup/timeshift { grubPackage = grub2; };
timeshift-minimal = callPackage ../applications/backup/timeshift/minimal.nix { };
})
timeshift-unwrapped
timeshift
timeshift-minimal
;
tlp = callPackage ../tools/misc/tlp {
inherit (linuxPackages) x86_energy_perf_policy;
};
trustedqsl = tqsl; # Alias added 2019-02-10
transmission_4 = callPackage ../applications/networking/p2p/transmission/4.nix {
libutp = libutp_3_4;
};
libtransmission_4 = transmission_4.override {
installLib = true;
enableDaemon = false;
enableCli = false;
};
transmission_4-gtk = transmission_4.override { enableGTK3 = true; };
transmission_4-qt5 = transmission_4.override { enableQt5 = true; };
transmission_4-qt6 = transmission_4.override { enableQt6 = true; };
transmission_4-qt = transmission_4-qt5;
tinywl = callPackage ../applications/window-managers/tinywl {
wlroots = wlroots_0_19;
};
tuxclocker = libsForQt5.callPackage ../applications/misc/tuxclocker {
tuxclocker-plugins = tuxclocker-plugins-with-unfree;
};
tuxclocker-without-unfree = libsForQt5.callPackage ../applications/misc/tuxclocker { };
twmn = libsForQt5.callPackage ../applications/misc/twmn { };
twinkle = qt5.callPackage ../applications/networking/instant-messengers/twinkle { };
linphonePackages = recurseIntoAttrs (
callPackage ../applications/networking/instant-messengers/linphone { }
);
buildTypstPackage = callPackage ../build-support/build-typst-package.nix { };
typstPackages = recurseIntoAttrs typst.packages;
ueberzug = with python3Packages; toPythonApplication ueberzug;
uefitoolPackages = recurseIntoAttrs (callPackage ../tools/system/uefitool/variants.nix { });
uefitool = uefitoolPackages.new-engine;
ungoogled-chromium = callPackage ../applications/networking/browsers/chromium (
(config.chromium or { })
// {
ungoogled = true;
}
);
unigine-tropics = pkgsi686Linux.callPackage ../applications/graphics/unigine-tropics { };
unigine-sanctuary = pkgsi686Linux.callPackage ../applications/graphics/unigine-sanctuary { };
unigine-superposition = libsForQt5.callPackage ../applications/graphics/unigine-superposition { };
uuagc = haskell.lib.compose.justStaticExecutables haskellPackages.uuagc;
valentina = libsForQt5.callPackage ../applications/misc/valentina { };
vdirsyncer = with python3Packages; toPythonApplication vdirsyncer;
vim = vimUtils.makeCustomizable (
callPackage ../applications/editors/vim {
}
);
macvim =
let
macvimUtils = callPackage ../applications/editors/vim/macvim-configurable.nix { };
in
macvimUtils.makeCustomizable (
callPackage ../applications/editors/vim/macvim.nix {
stdenv = clangStdenv;
}
);
vim-full = vimUtils.makeCustomizable (callPackage ../applications/editors/vim/full.nix { });
vim-darwin =
(vim-full.override {
config = {
vim = {
gui = "none";
darwin = true;
};
};
}).overrideAttrs
{
pname = "vim-darwin";
meta = {
platforms = lib.platforms.darwin;
};
};
vimacs = callPackage ../applications/editors/vim/vimacs.nix { };
qpdfview = libsForQt5.callPackage ../applications/office/qpdfview { };
# this is a lower-level alternative to wrapNeovim conceived to handle
# more usecases when wrapping neovim. The interface is being actively worked on
# so expect breakage. use wrapNeovim instead if you want a stable alternative
wrapNeovimUnstable = callPackage ../applications/editors/neovim/wrapper.nix { };
wrapNeovim = neovim-unwrapped: lib.makeOverridable (neovimUtils.legacyWrapper neovim-unwrapped);
neovimUtils = callPackage ../applications/editors/neovim/utils.nix {
lua = lua5_1;
};
neovim = wrapNeovim neovim-unwrapped { };
gnvim-unwrapped = callPackage ../applications/editors/neovim/gnvim { };
gnvim = callPackage ../applications/editors/neovim/gnvim/wrapper.nix { };
virt-top = callPackage ../applications/virtualization/virt-top {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
virtualbox = libsForQt5.callPackage ../applications/virtualization/virtualbox {
stdenv = stdenv_32bit;
# VirtualBox uses wsimport, which was removed after JDK 8.
jdk = jdk8;
# Opt out of building the guest BIOS sources with the problematic Open Watcom
# toolchain. People who need to build the BIOS from sources (for example to
# apply patches) can override this.
open-watcom-bin = null;
};
virtualboxKvm = lowPrio (
virtualbox.override {
enableKvm = true;
}
);
virtualboxHardened = lowPrio (
virtualbox.override {
enableHardening = true;
}
);
virtualboxHeadless = lowPrio (
virtualbox.override {
enableHardening = true;
headless = true;
}
);
virtualboxExtpack = callPackage ../applications/virtualization/virtualbox/extpack.nix { };
virtualboxWithExtpack = lowPrio (
virtualbox.override {
extensionPack = virtualboxExtpack;
}
);
vlc-bin-universal = vlc-bin.override { variant = "universal"; };
libvlc = vlc.override {
withQt5 = false;
onlyLibVLC = true;
};
vscode = callPackage ../applications/editors/vscode/vscode.nix { };
vscode-fhs = vscode.fhs;
vscode-fhsWithPackages = vscode.fhsWithPackages;
buildVscode = callPackage ../applications/editors/vscode/generic.nix { };
vscode-with-extensions = callPackage ../applications/editors/vscode/with-extensions.nix { };
vscode-utils = callPackage ../applications/editors/vscode/extensions/vscode-utils.nix { };
vscode-extensions = recurseIntoAttrs (callPackage ../applications/editors/vscode/extensions { });
vscode-extension-update-script =
callPackage ../by-name/vs/vscode-extension-update/vscode-extension-update-script.nix
{ };
vscodium = callPackage ../applications/editors/vscode/vscodium.nix { };
vscodium-fhs = vscodium.fhs;
vscodium-fhsWithPackages = vscodium.fhsWithPackages;
antigravity-fhs = antigravity.fhs;
antigravity-fhsWithPackages = antigravity.fhsWithPackages;
code-cursor-fhs = code-cursor.fhs;
code-cursor-fhsWithPackages = code-cursor.fhsWithPackages;
kiro-fhs = kiro.fhs;
kiro-fhsWithPackages = kiro.fhsWithPackages;
whispers = with python3Packages; toPythonApplication whispers;
# Should always be the version with the most features
w3m-full = w3m;
# Version without X11
w3m-nox = w3m.override {
x11Support = false;
imlib2 = imlib2-nox;
};
# Version without X11 or graphics
w3m-nographics = w3m.override {
x11Support = false;
graphicsSupport = false;
};
# Version for batch text processing, not a good browser
w3m-batch = w3m.override {
graphicsSupport = false;
mouseSupport = false;
x11Support = false;
imlib2 = imlib2-nox;
};
wayfire = callPackage ../applications/window-managers/wayfire/default.nix { };
wf-config = callPackage ../applications/window-managers/wayfire/wf-config.nix { };
wayfirePlugins = recurseIntoAttrs (
callPackage ../applications/window-managers/wayfire/plugins.nix { }
);
wayfire-with-plugins = callPackage ../applications/window-managers/wayfire/wrapper.nix {
plugins = with wayfirePlugins; [
wcm
wf-shell
];
};
webssh = with python3Packages; toPythonApplication webssh;
wrapWeechat = callPackage ../applications/networking/irc/weechat/wrapper.nix { };
weechat-unwrapped = callPackage ../applications/networking/irc/weechat {
inherit (darwin) libresolv;
guile = guile_3_0;
};
weechat = wrapWeechat weechat-unwrapped { };
weechatScripts = recurseIntoAttrs (callPackage ../applications/networking/irc/weechat/scripts { });
westonLite = weston.override {
demoSupport = false;
jpegSupport = false;
lcmsSupport = false;
luaSupport = false;
pangoSupport = false;
pipewireSupport = false;
rdpSupport = false;
remotingSupport = false;
vaapiSupport = false;
vncSupport = false;
vulkanSupport = false;
webpSupport = false;
xwaylandSupport = false;
};
dockapps = recurseIntoAttrs windowmaker.dockapps;
wofi-pass = callPackage ../../pkgs/tools/security/pass/wofi-pass.nix { };
wrapFirefox = callPackage ../applications/networking/browsers/firefox/wrapper.nix { };
wrapThunderbird = callPackage ../applications/networking/mailreaders/thunderbird/wrapper.nix { };
wsjtx = qt5.callPackage ../applications/radio/wsjtx { };
x2gokdriveclient = libsForQt5.callPackage ../applications/networking/remote/x2gokdriveclient { };
x32edit = callPackage ../applications/audio/midas/x32edit.nix { };
kodiPackages = recurseIntoAttrs (kodi.packages);
kodi = callPackage ../applications/video/kodi {
ffmpeg = ffmpeg_6;
jre_headless = buildPackages.jdk11_headless;
};
kodi-wayland = callPackage ../applications/video/kodi {
ffmpeg = ffmpeg_6;
jre_headless = buildPackages.jdk11_headless;
waylandSupport = true;
};
kodi-gbm = callPackage ../applications/video/kodi {
ffmpeg = ffmpeg_6;
jre_headless = buildPackages.jdk11_headless;
gbmSupport = true;
};
xdg-desktop-portal = callPackage ../development/libraries/xdg-desktop-portal { };
xdg-desktop-portal-hyprland =
callPackage ../applications/window-managers/hyprwm/xdg-desktop-portal-hyprland
{
stdenv = gcc15Stdenv;
inherit (qt6)
qtbase
qttools
qtwayland
wrapQtAppsHook
;
};
xpdf = libsForQt5.callPackage ../applications/misc/xpdf { };
xmobar = haskellPackages.xmobar.bin;
xmonad-with-packages = callPackage ../applications/window-managers/xmonad/wrapper.nix {
inherit (haskellPackages) ghcWithPackages;
packages = _: [ haskellPackages.xmonad-contrib ];
};
xmonadctl = callPackage ../applications/window-managers/xmonad/xmonadctl.nix {
inherit (haskellPackages) ghcWithPackages;
};
xmonad_log_applet_mate = xmonad_log_applet.override {
desktopSupport = "mate";
};
xmonad_log_applet_xfce = xmonad_log_applet.override {
desktopSupport = "xfce4";
};
libxpdf = callPackage ../applications/misc/xpdf/libxpdf.nix { };
inherit (callPackage ../applications/misc/xppen { })
xppen_3
xppen_4
;
xygrib = libsForQt5.callPackage ../applications/misc/xygrib { };
ydiff = with python3.pkgs; toPythonApplication ydiff;
yokadi = python3Packages.callPackage ../applications/misc/yokadi { };
your-editor = callPackage ../applications/editors/your-editor { stdenv = gccStdenv; };
youtube-dl = with python3Packages; toPythonApplication youtube-dl;
youtube-dl-light = with python3Packages; toPythonApplication youtube-dl-light;
yt-dlp-light = yt-dlp.override {
atomicparsleySupport = false;
ffmpegSupport = false;
javascriptSupport = false;
rtmpSupport = false;
};
youtube-viewer = perlPackages.WWWYoutubeViewer;
zathuraPkgs = recurseIntoAttrs (callPackage ../applications/misc/zathura { });
zathura = zathuraPkgs.zathuraWrapper;
zeroc-ice-cpp11 = zeroc-ice.override { cpp11 = true; };
zed-editor-fhs = zed-editor.fhs;
zgv = callPackage ../applications/graphics/zgv {
# Enable the below line for terminal display. Note
# that it requires sixel graphics compatible terminals like mlterm
# or xterm -ti 340
SDL = SDL_sixel;
SDL_image = SDL_image.override { SDL = SDL_sixel; };
};
zynaddsubfx = callPackage ../applications/audio/zynaddsubfx {
guiModule = "zest";
fftw = fftwSinglePrec;
};
zynaddsubfx-fltk = zynaddsubfx.override {
guiModule = "fltk";
};
zynaddsubfx-ntk = zynaddsubfx.override {
guiModule = "ntk";
};
### BLOCKCHAINS / CRYPTOCURRENCIES / WALLETS
alfis-nogui = alfis.override {
withGui = false;
};
bitcoin = qt6Packages.callPackage ../applications/blockchains/bitcoin {
withGui = true;
inherit (darwin) autoSignDarwinBinariesHook;
};
bitcoind = callPackage ../applications/blockchains/bitcoin {
withGui = false;
inherit (darwin) autoSignDarwinBinariesHook;
};
bitcoin-knots = libsForQt5.callPackage ../applications/blockchains/bitcoin-knots {
withGui = true;
inherit (darwin) autoSignDarwinBinariesHook;
};
bitcoind-knots = callPackage ../applications/blockchains/bitcoin-knots {
withGui = false;
inherit (darwin) autoSignDarwinBinariesHook;
};
elements = libsForQt5.callPackage ../applications/blockchains/elements {
withGui = true;
inherit (darwin) autoSignDarwinBinariesHook;
};
elementsd = callPackage ../applications/blockchains/elements {
withGui = false;
inherit (darwin) autoSignDarwinBinariesHook;
};
gridcoin-research = libsForQt5.callPackage ../applications/blockchains/gridcoin-research {
boost = boost179;
};
groestlcoin = libsForQt5.callPackage ../applications/blockchains/groestlcoin {
withGui = true;
inherit (darwin) autoSignDarwinBinariesHook;
};
groestlcoind = callPackage ../applications/blockchains/groestlcoin {
inherit (darwin) autoSignDarwinBinariesHook;
};
ledger-agent = with python3Packages; toPythonApplication ledger-agent;
napari = with python312Packages; toPythonApplication napari;
nano-wallet = libsForQt5.callPackage ../applications/blockchains/nano-wallet { };
pycoin = with python3Packages; toPythonApplication pycoin;
inherit (callPackages ../applications/blockchains/teos { })
teos
teos-watchtower-plugin
;
vertcoin = libsForQt5.callPackage ../applications/blockchains/vertcoin {
withGui = true;
};
vertcoind = callPackage ../applications/blockchains/vertcoin {
withGui = false;
};
zcash = callPackage ../applications/blockchains/zcash {
stdenv = llvmPackages.stdenv;
};
beancount = with python3.pkgs; toPythonApplication beancount;
beancount_2 = with python3.pkgs; toPythonApplication beancount_2;
beancount-black = with python3.pkgs; toPythonApplication beancount-black;
beanhub-cli = with python3.pkgs; toPythonApplication beanhub-cli;
bean-add = callPackage ../applications/office/beancount/bean-add.nix { };
beanquery = with python3.pkgs; toPythonApplication beanquery;
bench =
# TODO: Erroneous references to GHC on aarch64-darwin: https://github.com/NixOS/nixpkgs/issues/318013
(
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
lib.id
else
haskell.lib.compose.justStaticExecutables
)
haskellPackages.bench;
cri-o = callPackage ../applications/virtualization/cri-o/wrapper.nix { };
cri-o-unwrapped = callPackage ../applications/virtualization/cri-o { };
### GAMES
inherit (callPackages ../games/fteqw { })
fteqw
fteqw-dedicated
fteqcc
;
pmars-x11 = pmars.override { enableXwinGraphics = true; };
vanillara = vanillatd.override { appName = "vanillara"; };
anki-utils = callPackage ../by-name/an/anki/addons/anki-utils.nix { };
ankiAddons = recurseIntoAttrs (callPackage ../by-name/an/anki/addons { });
beancount-ing-diba = callPackage ../applications/office/beancount/beancount-ing-diba.nix {
inherit (python3Packages) beancount beangulp;
};
beancount-share = callPackage ../applications/office/beancount/beancount_share.nix {
inherit (python3Packages) beancount beancount-plugin-utils;
};
cataclysmDDA = callPackage ../games/cataclysm-dda { };
cataclysm-dda = cataclysmDDA.stable.tiles;
cataclysm-dda-git = cataclysmDDA.git.tiles;
construoBase = construo.override {
withLibGL = false;
withLibGLU = false;
withLibglut = false;
};
crawlTiles = callPackage ../by-name/cr/crawl/package.nix {
tileMode = true;
};
curseofwar-sdl = curseofwar.override {
withSDL = true;
ncurses = null;
};
ddnet-server = ddnet.override { buildClient = false; };
dwarf-fortress-packages = recurseIntoAttrs (callPackage ../games/dwarf-fortress { });
inherit (dwarf-fortress-packages) dwarf-fortress dwarf-fortress-full dwarf-therapist;
dfhack = dwarf-fortress-packages.dwarf-fortress-full;
inherit (callPackages ../by-name/dx/dxx-rebirth/assets.nix { })
descent1-assets
descent2-assets
;
inherit (callPackages ../by-name/dx/dxx-rebirth/full.nix { })
d1x-rebirth-full
d2x-rebirth-full
;
factorio-experimental = factorio.override {
releaseType = "alpha";
experimental = true;
};
factorio-headless = factorio.override { releaseType = "headless"; };
factorio-headless-experimental = factorio.override {
releaseType = "headless";
experimental = true;
};
factorio-demo = factorio.override { releaseType = "demo"; };
factorio-demo-experimental = factorio.override {
releaseType = "demo";
experimental = true;
};
factorio-space-age = factorio.override { releaseType = "expansion"; };
factorio-space-age-experimental = factorio.override {
releaseType = "expansion";
experimental = true;
};
factorio-utils = callPackage ../by-name/fa/factorio/utils.nix { };
freeciv_sdl2 = freeciv.override {
sdl2Client = true;
gtkClient = false;
qtClient = false;
};
freeciv_qt = freeciv.override {
sdl2Client = false;
gtkClient = false;
qtClient = true;
};
freeciv_gtk = freeciv;
# used as base package for iortcw forks
iortcw_sp = callPackage ../by-name/io/iortcw/sp.nix { };
katagoWithCuda = katago.override {
backend = "cuda";
};
katagoCPU = katago.override {
backend = "eigen";
};
katagoTensorRT = katago.override {
backend = "tensorrt";
};
koboredux-free = callPackage ../by-name/ko/koboredux/package.nix {
useProprietaryAssets = false;
};
ldmud-full = callPackage ../by-name/ld/ldmud/package.nix {
ipv6Support = true;
mccpSupport = true;
mysqlSupport = true;
postgresSupport = true;
sqliteSupport = true;
tlsSupport = true;
pythonSupport = true;
};
mindustry-wayland = callPackage ../by-name/mi/mindustry/package.nix {
enableWayland = true;
};
mindustry-server = callPackage ../by-name/mi/mindustry/package.nix {
enableClient = false;
enableServer = true;
};
minecraftServers = import ../games/minecraft-servers { inherit callPackage lib javaPackages; };
minecraft-server = minecraftServers.vanilla; # backwards compatibility
luanti-client = luanti.override { buildServer = false; };
luanti-server = luanti.override { buildClient = false; };
blightmud-tts = callPackage ../by-name/bl/blightmud/package.nix { withTTS = true; };
run-npush = callPackage ../by-name/np/npush/run.nix { };
openloco = pkgsi686Linux.callPackage ../games/openloco { };
openraPackages_2019 = import ../games/openra_2019 {
inherit lib;
pkgs = pkgs.__splicedPackages;
};
openra_2019 = openraPackages_2019.engines.release;
openraPackages = recurseIntoAttrs (callPackage ../games/openra { });
openra = openraPackages.engines.release;
papermcServers = callPackages ../games/papermc { };
papermc = papermcServers.papermc;
pokerth-server = pokerth.override { target = "server"; };
inherit (import ../games/quake3 pkgs.callPackage)
quake3wrapper
quake3arenadata
quake3demodata
quake3pointrelease
quake3arena
quake3arena-hires
quake3demo
quake3demo-hires
quake3hires
;
rott-shareware = callPackage ../by-name/ro/rott/package.nix {
buildShareware = true;
};
inherit (callPackage ../by-name/sc/scummvm/games.nix { })
beneath-a-steel-sky
broken-sword-25
drascula-the-vampire-strikes-back
dreamweb
flight-of-the-amazon-queen
lure-of-the-temptress
;
sgt-puzzles-mobile = callPackage ../by-name/sg/sgt-puzzles/package.nix {
isMobile = true;
};
rkpd2 = callPackage ../by-name/sh/shattered-pixel-dungeon/rkpd2 { };
rat-king-adventure = callPackage ../by-name/sh/shattered-pixel-dungeon/rat-king-adventure { };
experienced-pixel-dungeon =
callPackage ../by-name/sh/shattered-pixel-dungeon/experienced-pixel-dungeon
{ };
summoning-pixel-dungeon =
callPackage ../by-name/sh/shattered-pixel-dungeon/summoning-pixel-dungeon
{ };
shorter-pixel-dungeon = callPackage ../by-name/sh/shattered-pixel-dungeon/shorter-pixel-dungeon { };
tower-pixel-dungeon = callPackage ../by-name/sh/shattered-pixel-dungeon/tower-pixel-dungeon { };
# get binaries without data built by Hydra
simutrans_binaries = lowPrio simutrans.binaries;
steam-run = steam.run;
steam-run-free = steam.run-free;
protonup-ng = with python3Packages; toPythonApplication protonup-ng;
teeworlds-server = teeworlds.override { buildClient = false; };
tengine = callPackage ../servers/http/tengine {
modules = with nginxModules; [
rtmp
dav
moreheaders
modsecurity
];
};
tibia = pkgsi686Linux.callPackage ../games/tibia { };
ultrastar-creator = libsForQt5.callPackage ../tools/misc/ultrastar-creator { };
ultrastar-manager = libsForQt5.callPackage ../tools/misc/ultrastar-manager { };
# To ensure vdrift's code is built on hydra
vdrift-bin = vdrift.bin;
vessel = pkgsi686Linux.callPackage ../games/vessel { };
wesnoth-devel = callPackage ../by-name/we/wesnoth/package.nix { enableDevel = true; };
inherit (callPackage ../games/xonotic { })
xonotic-data
xonotic
;
xonotic-glx =
(callPackage ../games/xonotic {
withSDL = false;
withGLX = true;
}).xonotic;
xonotic-dedicated =
(callPackage ../games/xonotic {
withSDL = false;
withDedicated = true;
}).xonotic;
xonotic-sdl = xonotic;
xonotic-sdl-unwrapped = xonotic-sdl.xonotic-unwrapped;
xonotic-glx-unwrapped = xonotic-glx.xonotic-unwrapped;
xonotic-dedicated-unwrapped = xonotic-dedicated.xonotic-unwrapped;
inherit
(callPackage ../games/quake2/yquake2 {
})
yquake2
yquake2-ctf
yquake2-ground-zero
yquake2-the-reckoning
yquake2-all-games
;
### DESKTOP ENVIRONMENTS
arcan-wrapped = arcan.wrapper.override { };
arcan-all-wrapped = arcan.wrapper.override {
name = "arcan-all-wrapped";
appls = [
cat9
durden
pipeworld
];
};
cat9-wrapped = arcan.wrapper.override {
name = "cat9-wrapped";
appls = [ cat9 ];
};
durden-wrapped = arcan.wrapper.override {
name = "durden-wrapped";
appls = [ durden ];
};
pipeworld-wrapped = arcan.wrapper.override {
name = "pipeworld-wrapped";
appls = [ pipeworld ];
};
prio-wrapped = arcan.wrapper.override {
name = "prio-wrapped";
appls = [ prio ];
};
enlightenment = recurseIntoAttrs (callPackage ../desktops/enlightenment { });
expidus = recurseIntoAttrs (
callPackages ../desktops/expidus {
# Use the Nix built Flutter Engine for testing.
# Also needed when we eventually package Genesis Shell.
flutterPackages = flutterPackages-source;
}
);
gnome2 = recurseIntoAttrs (callPackage ../desktops/gnome-2 { });
gnome = recurseIntoAttrs (callPackage ../desktops/gnome { });
inherit (callPackage ../desktops/gnome/extensions { })
gnomeExtensions
gnome38Extensions
gnome40Extensions
gnome41Extensions
gnome42Extensions
gnome43Extensions
gnome44Extensions
gnome45Extensions
gnome46Extensions
gnome47Extensions
gnome48Extensions
gnome49Extensions
;
gnome-session-ctl = callPackage ../by-name/gn/gnome-session/ctl.nix { };
lomiri = recurseIntoAttrs (callPackage ../desktops/lomiri { });
lumina = recurseIntoAttrs (callPackage ../desktops/lumina { });
### DESKTOPS/LXDE
lxappearance-gtk2 = callPackage ../by-name/lx/lxappearance/package.nix {
gtk2 = gtk2-x11;
withGtk3 = false;
};
lxqt = recurseIntoAttrs (
import ../desktops/lxqt {
inherit pkgs;
inherit (lib) makeScope;
inherit kdePackages;
}
);
mate = recurseIntoAttrs (callPackage ../desktops/mate { });
# Needed for elementary's gala, wingpanel and greeter until support for higher versions is provided
pantheon = recurseIntoAttrs (callPackage ../desktops/pantheon { });
xfce = recurseIntoAttrs (callPackage ../desktops/xfce { });
inherit
(callPackages ../applications/misc/redshift {
inherit (python3Packages)
python
pygobject3
pyxdg
wrapPython
;
geoclue = geoclue2;
})
redshift
gammastep
;
### SCIENCE/CHEMISTY
avogadrolibs = callPackage ../development/libraries/science/chemistry/avogadrolibs { };
molequeue = libsForQt5.callPackage ../development/libraries/science/chemistry/molequeue { };
avogadro2 = callPackage ../applications/science/chemistry/avogadro2 { };
libxc_7 = pkgs.libxc.override { version = "7.0.0"; };
molbar = with python3Packages; toPythonApplication molbar;
nwchem = callPackage ../applications/science/chemistry/nwchem {
blas = blas-ilp64;
lapack = lapack-ilp64;
scalapack = scalapack-ilp64;
};
autodock-vina = callPackage ../applications/science/chemistry/autodock-vina { };
pdb2pqr = with python3Packages; toPythonApplication pdb2pqr;
quantum-espresso = callPackage ../applications/science/chemistry/quantum-espresso {
hdf5 = hdf5-fortran;
};
siesta-mpi = callPackage ../by-name/si/siesta/package.nix { useMpi = true; };
### SCIENCE/BIOLOGY
deepdiff = with python3Packages; toPythonApplication deepdiff;
deep-translator = with python3Packages; toPythonApplication deep-translator;
hh-suite = callPackage ../applications/science/biology/hh-suite {
inherit (llvmPackages) openmp;
};
nest-mpi = nest.override { withMpi = true; };
neuron-mpi = neuron.override { useMpi = true; };
neuron-full = neuron-mpi.override {
useCore = true;
useRx3d = true;
};
minc_tools = callPackage ../applications/science/biology/minc-tools {
inherit (perlPackages) perl TextFormat;
};
raxml-mpi = raxml.override { useMpi = true; };
### SCIENCE/MACHINE LEARNING
streamlit = with python3Packages; toPythonApplication streamlit;
### SCIENCE/MATH
blas-ilp64 = blas.override { isILP64 = true; };
labplot = libsForQt5.callPackage ../applications/science/math/labplot { };
lapack-ilp64 = lapack.override { isILP64 = true; };
liblapack = lapack-reference;
notus-scanner = with python3Packages; toPythonApplication notus-scanner;
openblas = callPackage ../development/libraries/science/math/openblas {
inherit (llvmPackages) openmp;
};
# A version of OpenBLAS using 32-bit integers on all platforms for compatibility with
# standard BLAS and LAPACK.
openblasCompat = openblas.override { blas64 = false; };
magma-cuda = magma.override {
cudaSupport = true;
rocmSupport = false;
};
magma-cuda-static = magma-cuda.override {
static = true;
};
magma-hip = magma.override {
cudaSupport = false;
rocmSupport = true;
};
mathematica-webdoc = mathematica.override {
webdoc = true;
};
mathematica-cuda = mathematica.override {
cudaSupport = true;
};
mathematica-webdoc-cuda = mathematica.override {
webdoc = true;
cudaSupport = true;
};
p4est-sc-dbg = p4est-sc.override { debug = true; };
p4est-dbg = p4est.override { debug = true; };
scalapack-ilp64 = scalapack.override {
blas = blas-ilp64;
lapack = lapack-ilp64;
};
suitesparse_5_3 = callPackage ../development/libraries/science/math/suitesparse {
inherit (llvmPackages) openmp;
};
suitesparse = suitesparse_5_3;
trilinos-mpi = trilinos.override { withMPI = true; };
wolfram-engine = libsForQt5.callPackage ../applications/science/math/wolfram-engine { };
wolfram-for-jupyter-kernel = callPackage ../applications/editors/jupyter-kernels/wolfram { };
### SCIENCE/MOLECULAR-DYNAMICS
gromacs = callPackage ../applications/science/molecular-dynamics/gromacs {
singlePrec = true;
fftw = fftwSinglePrec;
};
gromacsPlumed = lowPrio (
gromacs.override {
singlePrec = true;
enablePlumed = true;
fftw = fftwSinglePrec;
}
);
gromacsMpi = lowPrio (
gromacs.override {
singlePrec = true;
enableMpi = true;
fftw = fftwSinglePrec;
}
);
gromacsDouble = lowPrio (
gromacs.override {
singlePrec = false;
enableCuda = false; # CUDA is only implemented for single precision
fftw = fftw;
}
);
gromacsDoubleMpi = lowPrio (
gromacs.override {
singlePrec = false;
enableCuda = false; # CUDA is only implemented for single precision
enableMpi = true;
fftw = fftw;
}
);
gromacsCudaMpi = lowPrio (
gromacs.override {
singlePrec = true;
enableMpi = true;
enableCuda = true;
fftw = fftwSinglePrec;
}
);
### SCIENCE/PHYSICS
xflr5 = libsForQt5.callPackage ../applications/science/physics/xflr5 { };
### SCIENCE/LOGIC
abella = callPackage ../applications/science/logic/abella {
ocamlPackages = ocaml-ng.ocamlPackages_4_12;
};
inherit
(callPackage ./rocq-packages.nix {
inherit (ocaml-ng)
ocamlPackages_4_14
ocamlPackages_5_4
;
})
mkRocqPackages
rocqPackages_9_0
rocq-core_9_0
rocqPackages_9_1
rocq-core_9_1
rocqPackages_9_2
rocq-core_9_2
rocqPackages
rocq-core
;
inherit
(callPackage ./coq-packages.nix {
inherit (ocaml-ng)
ocamlPackages_4_09
ocamlPackages_4_10
ocamlPackages_4_12
ocamlPackages_4_14
ocamlPackages_5_4
;
inherit
rocqPackages_9_0
rocqPackages_9_1
rocqPackages_9_2
rocqPackages
;
})
mkCoqPackages
coqPackages_8_7
coq_8_7
coqPackages_8_8
coq_8_8
coqPackages_8_9
coq_8_9
coqPackages_8_10
coq_8_10
coqPackages_8_11
coq_8_11
coqPackages_8_12
coq_8_12
coqPackages_8_13
coq_8_13
coqPackages_8_14
coq_8_14
coqPackages_8_15
coq_8_15
coqPackages_8_16
coq_8_16
coqPackages_8_17
coq_8_17
coqPackages_8_18
coq_8_18
coqPackages_8_19
coq_8_19
coqPackages_8_20
coq_8_20
coqPackages_9_0
coq_9_0
coqPackages_9_1
coq_9_1
coqPackages_9_2
coq_9_2
coqPackages
coq
;
cubicle = callPackage ../applications/science/logic/cubicle {
ocamlPackages = ocaml-ng.ocamlPackages_4_14;
};
ekrhyper = callPackage ../applications/science/logic/ekrhyper {
ocaml = ocaml-ng.ocamlPackages_4_14_unsafe_string.ocaml;
};
eprover-ho = eprover.override { enableHO = true; };
giac-with-xcas = giac.override { enableGUI = true; };
glucose-syrup = glucose.override {
enableUnfree = true;
};
inherit (ocamlPackages) hol_light;
isabelle-components = recurseIntoAttrs (callPackage ../by-name/is/isabelle/components { });
lean3 = lean;
leo2 = callPackage ../applications/science/logic/leo2 {
inherit (ocaml-ng.ocamlPackages_4_14_unsafe_string) ocaml camlp4;
};
prooftree = callPackage ../applications/science/logic/prooftree {
ocamlPackages = ocaml-ng.ocamlPackages_4_12;
};
satallax = callPackage ../applications/science/logic/satallax {
inherit (ocaml-ng.ocamlPackages_4_14) ocaml;
};
statverif = callPackage ../applications/science/logic/statverif {
ocaml = ocaml-ng.ocamlPackages_4_14_unsafe_string.ocaml;
};
why3 = callPackage ../applications/science/logic/why3 { coqPackages = coqPackages_8_20; };
tlaps = callPackage ../applications/science/logic/tlaplus/tlaps.nix {
inherit (ocaml-ng.ocamlPackages_4_14_unsafe_string) ocaml;
};
### SCIENCE / ELECTRONICS
simulide_0_4_15 = callPackage ../by-name/si/simulide/package.nix { versionNum = "0.4.15"; };
simulide_1_0_0 = callPackage ../by-name/si/simulide/package.nix { versionNum = "1.0.0"; };
simulide_1_1_0 = callPackage ../by-name/si/simulide/package.nix { versionNum = "1.1.0"; };
simulide_1_2_0 = callPackage ../by-name/si/simulide/package.nix { versionNum = "1.2.0"; };
eagle = libsForQt5.callPackage ../applications/science/electronics/eagle/eagle.nix { };
degate = libsForQt5.callPackage ../applications/science/electronics/degate { };
geda = callPackage ../applications/science/electronics/geda {
guile = guile_2_2;
};
gerbv = callPackage ../applications/science/electronics/gerbv {
cairo = cairo.override { x11Support = true; };
};
# this is the same but without the (sizable) 3D models library
kicad-small = kicad.override {
pname = "kicad-small";
with3d = false;
};
# this is the stable branch at whatever point update.sh last updated versions.nix
kicad-testing = kicad.override {
pname = "kicad-testing";
testing = true;
};
# and a small version of that
kicad-testing-small = kicad.override {
pname = "kicad-testing-small";
testing = true;
with3d = false;
};
# this is the master branch at whatever point update.sh last updated versions.nix
kicad-unstable = kicad.override {
pname = "kicad-unstable";
stable = false;
};
# and a small version of that
kicad-unstable-small = kicad.override {
pname = "kicad-unstable-small";
stable = false;
with3d = false;
};
kicadAddons = recurseIntoAttrs (callPackage ../by-name/ki/kicad/addons/package.nix { });
ngspice = libngspice.override {
withNgshared = false;
};
xyce-parallel = callPackage ../by-name/xy/xyce/package.nix {
withMPI = true;
trilinos = trilinos-mpi;
};
### SCIENCE / MATH
caffe = callPackage ../applications/science/math/caffe (
{
opencv4 = opencv4WithoutCuda; # Used only for image loading.
blas = openblas;
}
// (config.caffe or { })
);
gap-minimal = lowPrio (gap.override { packageSet = "minimal"; });
gap-full = lowPrio (gap.override { packageSet = "full"; });
maxima = callPackage ../applications/science/math/maxima {
lisp-compiler = sbcl;
};
maxima-ecl = maxima.override {
lisp-compiler = ecl;
};
yacas-gui = yacas.override {
enableGui = true;
enableJupyter = false;
};
### SCIENCE / MISC
boinc-headless = boinc.override { headless = true; };
celestia = callPackage ../applications/science/astronomy/celestia {
inherit (gnome2) gtkglext;
};
faissWithCuda = faiss.override {
cudaSupport = true;
};
gplates = libsForQt5.callPackage ../applications/science/misc/gplates { };
megam = callPackage ../applications/science/misc/megam {
inherit (ocaml-ng.ocamlPackages_4_14) ocaml;
};
spyder = with python3.pkgs; toPythonApplication spyder;
tulip = libsForQt5.callPackage ../applications/science/misc/tulip {
python3 = python312; # fails to build otherwise
};
vite = libsForQt5.callPackage ../applications/science/misc/vite { };
### SCIENCE / PHYSICS
hepmc3 = callPackage ../development/libraries/physics/hepmc3 {
python = null;
};
pythia = callPackage ../development/libraries/physics/pythia {
hepmc = hepmc2;
};
yoda-with-root = lowPrio (
yoda.override {
withRootSupport = true;
}
);
### SCIENCE/ROBOTICS
apmplanner2 = libsForQt5.callPackage ../applications/science/robotics/apmplanner2 { };
### MISC
antimicrox = libsForQt5.callPackage ../tools/misc/antimicrox { };
brgenml1lpr = pkgsi686Linux.callPackage ../misc/cups/drivers/brgenml1lpr { };
foomatic-db-ppds-withNonfreeDb = callPackage ../by-name/fo/foomatic-db-ppds/package.nix {
withNonfreeDb = true;
};
dcp375cwlpr = (pkgsi686Linux.callPackage ../misc/cups/drivers/brother/dcp375cw { }).driver;
dcp375cw-cupswrapper = (callPackage ../misc/cups/drivers/brother/dcp375cw { }).cupswrapper;
dcp9020cdwlpr = (pkgsi686Linux.callPackage ../misc/cups/drivers/brother/dcp9020cdw { }).driver;
dcp9020cdw-cupswrapper = (callPackage ../misc/cups/drivers/brother/dcp9020cdw { }).cupswrapper;
cups-brother-hl1110 = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1110 { };
cups-brother-hl1210w = pkgsi686Linux.callPackage ../misc/cups/drivers/hl1210w { };
cups-brother-hl2260d = pkgsi686Linux.callPackage ../misc/cups/drivers/hl2260d { };
cups-brother-hl3140cw = pkgsi686Linux.callPackage ../misc/cups/drivers/hl3140cw { };
cups-brother-hll2340dw = pkgsi686Linux.callPackage ../misc/cups/drivers/hll2340dw { };
cups-brother-hll3230cdw = pkgsi686Linux.callPackage ../misc/cups/drivers/hll3230cdw { };
# this driver ships with pre-compiled 32-bit binary libraries
cnijfilter_2_80 = pkgsi686Linux.callPackage ../misc/cups/drivers/cnijfilter_2_80 { };
faust = faust2;
gajim = callPackage ../applications/networking/instant-messengers/gajim {
inherit (gst_all_1) gstreamer gst-plugins-base gst-libav;
gst-plugins-good = gst_all_1.gst-plugins-good.override { gtkSupport = true; };
};
helmfile-wrapped = helmfile.override {
inherit (kubernetes-helm-wrapped.passthru) pluginsDir;
};
hplipWithPlugin = hplip.override { withPlugin = true; };
hjson = with python3Packages; toPythonApplication hjson;
libjack2 = jack2.override { prefix = "lib"; };
jack_autoconnect = jack-autoconnect;
j2cli = with python311Packages; toPythonApplication j2cli;
j2lint = with python3Packages; toPythonApplication j2lint;
kmonad = haskellPackages.kmonad.bin;
# In general we only want keep the last three minor versions around that
# correspond to the last three supported kubernetes versions:
# https://kubernetes.io/docs/setup/release/version-skew-policy/#supported-versions
# Exceptions are versions that we need to keep to allow upgrades from older NixOS releases
inherit (callPackage ../applications/networking/cluster/kops { })
mkKops
kops_1_31
kops_1_32
kops_1_33
;
kops = kops_1_33;
lilypond-unstable-with-fonts = lilypond-with-fonts.override {
lilypond = lilypond-unstable;
};
openlilylib-fonts = recurseIntoAttrs (callPackage ../misc/lilypond/fonts.nix { });
nixDependencies = recurseIntoAttrs (
callPackage ../tools/package-management/nix/dependencies-scope.nix { }
);
nixVersions = recurseIntoAttrs (
callPackage ../tools/package-management/nix {
storeDir = config.nix.storeDir or "/nix/store";
stateDir = config.nix.stateDir or "/nix/var";
}
);
nix = nixVersions.stable;
nixStatic = pkgsStatic.nix;
lixPackageSets = recurseIntoAttrs (
callPackage ../tools/package-management/lix {
storeDir = config.nix.storeDir or "/nix/store";
stateDir = config.nix.stateDir or "/nix/var";
}
);
lix = lixPackageSets.stable.lix;
lixStatic = pkgsStatic.lix;
inherit (callPackages ../applications/networking/cluster/nixops { })
nixops_unstable_minimal
# Not recommended; too fragile
nixops_unstable_full
;
# Useful with ofborg, e.g. commit prefix `nixops_unstablePlugins.nixops-digitalocean: ...` to trigger automatically.
nixops_unstablePlugins = recurseIntoAttrs nixops_unstable_minimal.availablePlugins;
/*
Evaluate a NixOS configuration using this evaluation of Nixpkgs.
With this function you can write, for example, a package that
depends on a custom virtual machine image.
Parameter: A module, path or list of those that represent the
configuration of the NixOS system to be constructed.
Result: An attribute set containing packages produced by this
evaluation of NixOS, such as toplevel, kernel and
initialRamdisk.
The result can be extended in the modules by defining
extra attributes in system.build.
Alternatively, you may use the result's config and
options attributes to query any option.
Example:
let
myOS = pkgs.nixos ({ lib, pkgs, config, ... }: {
config.services.nginx = {
enable = true;
# ...
};
# Use config.system.build to exports relevant parts of a
# configuration. The runner attribute should not be
# considered a fully general replacement for systemd
# functionality.
config.system.build.run-nginx = config.systemd.services.nginx.runner;
});
in
myOS.run-nginx
Unlike in plain NixOS, the nixpkgs.config and
nixpkgs.system options will be ignored by default. Instead,
nixpkgs.pkgs will have the default value of pkgs as it was
constructed right after invoking the nixpkgs function (e.g. the
value of import <nixpkgs> { overlays = [./my-overlay.nix]; }
but not the value of (import <nixpkgs> {} // { extra = ...; }).
If you do want to use the config.nixpkgs options, you are
probably better off by calling nixos/lib/eval-config.nix
directly, even though it is possible to set config.nixpkgs.pkgs.
For more information about writing NixOS modules, see
https://nixos.org/nixos/manual/index.html#sec-writing-modules
Note that you will need to have called Nixpkgs with the system
parameter set to the right value for your deployment target.
*/
nixos =
configuration:
let
c = import (path + "/nixos/lib/eval-config.nix") {
inherit lib;
modules = [
(
{ lib, ... }:
{
config.nixpkgs.pkgs = lib.mkDefault pkgs;
config.nixpkgs.localSystem = lib.mkDefault stdenv.hostPlatform;
}
)
]
++ (if builtins.isList configuration then configuration else [ configuration ]);
# The system is inherited from the current pkgs above.
# Set it to null, to remove the "legacy" entrypoint's non-hermetic default.
system = null;
};
in
c.config.system.build // c;
# A NixOS/home-manager/arion/... module that sets the `pkgs` module argument.
pkgsModule =
{ options, ... }:
{
config =
if options ? nixpkgs.pkgs then
{
# legacy / nixpkgs.nix style
nixpkgs.pkgs = pkgs;
}
else
{
# minimal
_module.args.pkgs = pkgs;
};
};
nixosOptionsDoc =
attrs:
(import ../../nixos/lib/make-options-doc) (
{
pkgs = pkgs.__splicedPackages;
inherit lib;
}
// attrs
);
nix-eval-jobs = callPackage ../tools/package-management/nix-eval-jobs {
nixComponents = nixVersions.nixComponents_2_33;
};
nix-delegate = haskell.lib.compose.justStaticExecutables haskellPackages.nix-delegate;
nix-deploy = haskell.lib.compose.justStaticExecutables haskellPackages.nix-deploy;
nix-derivation = haskellPackages.nix-derivation.bin;
nix-diff = haskell.lib.compose.justStaticExecutables haskellPackages.nix-diff;
nix-info = callPackage ../tools/nix/info { };
nix-info-tested = nix-info.override { doCheck = true; };
nix-prefetch-github = with python3Packages; toPythonApplication nix-prefetch-github;
inherit (callPackages ../tools/package-management/nix-prefetch-scripts { })
nix-prefetch-bzr
nix-prefetch-cvs
nix-prefetch-darcs
nix-prefetch-fossil
nix-prefetch-git
nix-prefetch-hg
nix-prefetch-pijul
nix-prefetch-svn
nix-prefetch-scripts
;
nix-tree = haskell.lib.compose.justStaticExecutables (haskellPackages.nix-tree);
nix-serve-ng =
# FIXME: manually eliminate incorrect references on aarch64-darwin,
# see https://github.com/NixOS/nixpkgs/issues/318013
if stdenv.hostPlatform.isDarwin && stdenv.hostPlatform.isAarch64 then
haskellPackages.nix-serve-ng
else
haskell.lib.compose.justStaticExecutables haskellPackages.nix-serve-ng;
nixpkgs-manual = callPackage ../../doc/doc-support/package.nix { };
nixos-artwork = recurseIntoAttrs (callPackage ../data/misc/nixos-artwork { });
disnix = callPackage ../tools/package-management/disnix { };
dysnomia = callPackage ../tools/package-management/disnix/dysnomia (
config.disnix or {
inherit (python3Packages) supervisor;
}
);
pgadmin4-desktopmode = pgadmin4.override { server-mode = false; };
philipstv = with python3Packages; toPythonApplication philipstv;
pyupgrade = with python3Packages; toPythonApplication pyupgrade;
pwntools = with python3Packages; toPythonApplication pwntools;
putty = callPackage ../applications/networking/remote/putty {
gtk3 = if stdenv.hostPlatform.isDarwin then gtk3-x11 else gtk3;
};
qmasterpassword-wayland = qmasterpassword.override {
x11Support = false;
waylandSupport = true;
};
sail-riscv = callPackage ../applications/virtualization/sail-riscv {
inherit (ocamlPackages) sail;
};
mfcj470dwlpr = pkgsi686Linux.callPackage ../misc/cups/drivers/mfcj470dwlpr { };
mfcj6510dwlpr = pkgsi686Linux.callPackage ../misc/cups/drivers/mfcj6510dwlpr { };
mfcl2700dnlpr = pkgsi686Linux.callPackage ../misc/cups/drivers/mfcl2700dnlpr { };
# This driver is only available as a 32 bit proprietary binary driver
mfcl3770cdwlpr = (callPackage ../misc/cups/drivers/brother/mfcl3770cdw { }).driver;
mfcl3770cdwcupswrapper = (callPackage ../misc/cups/drivers/brother/mfcl3770cdw { }).cupswrapper;
samsung-unified-linux-driver_1_00_37 = callPackage ../misc/cups/drivers/samsung/1.00.37.nix { };
samsung-unified-linux-driver_4_01_17 = callPackage ../misc/cups/drivers/samsung/4.01.17.nix { };
samsung-unified-linux-driver = res.samsung-unified-linux-driver_4_01_17;
sane-backends = callPackage ../applications/graphics/sane/backends (config.sane or { });
sane-drivers = callPackage ../applications/graphics/sane/drivers.nix { };
mkSaneConfig = callPackage ../applications/graphics/sane/config.nix { };
sane-frontends = callPackage ../applications/graphics/sane/frontends.nix { };
snscrape = with python3Packages; toPythonApplication snscrape;
sourceAndTags = callPackage ../misc/source-and-tags {
hasktags = haskellPackages.hasktags;
};
termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py { };
inherit (callPackage ../applications/networking/cluster/terraform { })
mkTerraform
terraform_1
terraform_plugins_test
;
terraform = terraform_1;
terraform-providers = recurseIntoAttrs (
callPackage ../applications/networking/cluster/terraform-providers { }
);
vaultenv = haskell.lib.justStaticExecutables haskellPackages.vaultenv;
vaultwarden-sqlite = vaultwarden;
vaultwarden-mysql = vaultwarden.override { dbBackend = "mysql"; };
vaultwarden-postgresql = vaultwarden.override { dbBackend = "postgresql"; };
vaultwarden-webvault = vaultwarden.webvault;
vimUtils = callPackage ../applications/editors/vim/plugins/utils/vim-utils.nix { };
vimPlugins = recurseIntoAttrs (callPackage ../applications/editors/vim/plugins { });
vimb = wrapFirefox vimb-unwrapped { };
vivisect = with python3Packages; toPythonApplication (vivisect.override { withGui = true; });
py-wacz = with python3Packages; toPythonApplication wacz;
wibo = pkgsi686Linux.callPackage ../applications/emulators/wibo { };
winePackagesFor = wineBuild: callPackage ./wine-packages.nix { inherit wineBuild; };
winePackages = recurseIntoAttrs (winePackagesFor (config.wine.build or "wine32"));
wine64Packages = recurseIntoAttrs (winePackagesFor "wine64");
wineWow64Packages = recurseIntoAttrs (winePackagesFor "wineWow64");
wine = winePackages.full;
wine64 = wine64Packages.full;
wine-staging = lowPrio winePackages.stagingFull;
wine-wayland = lowPrio winePackages.waylandFull;
inherit (callPackage ../servers/web-apps/wordpress { })
wordpress
wordpress_6_7
wordpress_6_8
wordpress_6_9
;
wordpressPackages = recurseIntoAttrs (
callPackage ../servers/web-apps/wordpress/packages {
plugins = lib.importJSON ../servers/web-apps/wordpress/packages/plugins.json;
themes = lib.importJSON ../servers/web-apps/wordpress/packages/themes.json;
languages = lib.importJSON ../servers/web-apps/wordpress/packages/languages.json;
}
);
yamale = with python3Packages; toPythonApplication yamale;
zap-chip-gui = zap-chip.override { withGui = true; };
myEnvFun = callPackage ../misc/my-env {
inherit (stdenv) mkDerivation;
};
znc = callPackage ../applications/networking/znc { };
zncModules = recurseIntoAttrs (callPackage ../applications/networking/znc/modules.nix { });
inherit
({
dart-bin = callPackage ../development/compilers/dart { };
})
dart-bin
;
inherit
({
dart-source = callPackage ../development/compilers/dart/source { };
})
dart-source
;
dart = if stdenv.hostPlatform.isLinux then dart-source else dart-bin;
pub2nix = recurseIntoAttrs (callPackage ../build-support/dart/pub2nix { });
buildDartApplication = callPackage ../build-support/dart/build-dart-application { };
dartHooks = recurseIntoAttrs (callPackage ../build-support/dart/build-dart-application/hooks { });
inherit (callPackage ../applications/networking/instant-messengers/discord { })
discord
discord-ptb
discord-canary
discord-development
;
tora = libsForQt5.callPackage ../development/tools/tora { };
torcs-without-data = callPackage ../../pkgs/by-name/to/torcs/without-data.nix { };
nitrokey-app = libsForQt5.callPackage ../tools/security/nitrokey-app { };
nitrokey-app2 = python3Packages.callPackage ../tools/security/nitrokey-app2 { };
hy = with python3Packages; toPythonApplication hy;
ghc-standalone-archive = callPackage ../os-specific/darwin/ghc-standalone-archive { };
vdr = callPackage ../applications/video/vdr { };
vdrPlugins = recurseIntoAttrs (callPackage ../applications/video/vdr/plugins.nix { });
wrapVdr = callPackage ../applications/video/vdr/wrapper.nix { };
chrome-token-signing = libsForQt5.callPackage ../tools/security/chrome-token-signing { };
phonetisaurus = callPackage ../development/libraries/phonetisaurus {
# https://github.com/AdolfVonKleist/Phonetisaurus/issues/70
openfst = openfst.overrideAttrs rec {
version = "1.7.9";
src = fetchurl {
url = "http://www.openfst.org/twiki/pub/FST/FstDownload/openfst-${version}.tar.gz";
hash = "sha256-kxmusx0eKVCuJUSYhOJVzCvJ36+Yf2AVkHY+YaEPvd4=";
};
};
};
compressDrv = callPackage ../build-support/compress-drv { };
compressDrvWeb = callPackage ../build-support/compress-drv/web.nix { };
diceware = with python3Packages; toPythonApplication diceware;
xml2rfc = with python3Packages; toPythonApplication xml2rfc;
ape = callPackage ../applications/misc/ape { };
attemptoClex = callPackage ../applications/misc/ape/clex.nix { };
apeClex = callPackage ../applications/misc/ape/apeclex.nix { };
# Unix tools
unixtools = recurseIntoAttrs (callPackages ./unixtools.nix { });
inherit (unixtools)
hexdump
ps
logger
eject
umount
mount
wall
hostname
more
sysctl
getconf
getent
locale
killall
xxd
watch
;
fts = if stdenv.hostPlatform.isMusl then musl-fts else null;
bsdSetupHook = makeSetupHook {
name = "bsd-setup-hook";
} ../os-specific/bsd/setup-hook.sh;
freebsd = callPackage ../os-specific/bsd/freebsd { };
netbsd = callPackage ../os-specific/bsd/netbsd { };
openbsd = callPackage ../os-specific/bsd/openbsd { };
xp-pen-deco-01-v2-driver = libsForQt5.xp-pen-deco-01-v2-driver;
radicle-node-unstable = callPackage ../by-name/ra/radicle-node/unstable.nix { };
newlib-nano = newlib.override {
nanoizeNewlib = true;
};
wfuzz = with python3Packages; toPythonApplication wfuzz;
sieveshell = with python3.pkgs; toPythonApplication managesieve;
swift-corelibs-libdispatch = swiftPackages.Dispatch;
duden = python3Packages.toPythonApplication python3Packages.duden;
yaziPlugins = recurseIntoAttrs (callPackage ../by-name/ya/yazi/plugins { });
libpostalWithData = callPackage ../by-name/li/libpostal/package.nix {
withData = true;
};
gpac-unstable = callPackage ../by-name/gp/gpac/package.nix {
releaseChannel = "unstable";
};
}