Skip to content

tarball: generate packages.json in nix#451424

Merged
wolfgangwalther merged 3 commits intoNixOS:masterfrom
jopejoe1:genrate-package-info-in-nix
Jan 9, 2026
Merged

tarball: generate packages.json in nix#451424
wolfgangwalther merged 3 commits intoNixOS:masterfrom
jopejoe1:genrate-package-info-in-nix

Conversation

@jopejoe1
Copy link
Member

@jopejoe1 jopejoe1 commented Oct 12, 2025

Instead of using nix-env, let's generate directly in Nix. This fixes the issue that version and pname contain the wrong information, as nix-env generates those by splitting name into version and pname instead of directly using those to attrs.

This would work towards fixing the following issues:
NixOS/nixos-search#770
repology/repology-updater#854

Note this depends on and includes changes from the following PRs, and only the last commit is for the changes in this PR:
#451244
#451417
#406555
#455366
#456539
#478128

Also currently depends on either #453291 or #453322 to fix the evaling broken in #421125

Things done

  • Built on platform:
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • Tested, as applicable:
  • Ran nixpkgs-review on this PR. See nixpkgs-review usage.
  • Tested basic functionality of all binary files, usually in ./result/bin/.
  • Nixpkgs Release Notes
    • Package update: when the change is major or breaking.
  • NixOS Release Notes
    • Module addition: when adding a new NixOS module.
    • Module update: when the change is significant.
  • Fits CONTRIBUTING.md, pkgs/README.md, maintainers/README.md and other READMEs.

Add a 👍 reaction to pull requests you find important.

@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. 6.topic: windows Running, or buiding, packages on Windows labels Oct 12, 2025
@AiyionPrime
Copy link
Contributor

@jopejoe1 Thanks for looking into this!

@jopejoe1 jopejoe1 force-pushed the genrate-package-info-in-nix branch from b013dfc to e75c02e Compare October 13, 2025 07:46
@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Oct 14, 2025
@jopejoe1 jopejoe1 changed the base branch from master to staging October 19, 2025 09:47
@nixpkgs-ci nixpkgs-ci bot closed this Oct 19, 2025
@nixpkgs-ci nixpkgs-ci bot reopened this Oct 19, 2025
@jopejoe1 jopejoe1 force-pushed the genrate-package-info-in-nix branch from e75c02e to afb8b78 Compare October 19, 2025 09:47
@nixpkgs-ci nixpkgs-ci bot added 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. and removed 2.status: merge conflict This PR has merge conflicts with the target branch 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-darwin: 501+ This PR causes many rebuilds on Darwin and should normally target the staging branches. 10.rebuild-linux: 1001-2500 This PR causes many rebuilds on Linux and should target the staging branches. 10.rebuild-darwin: 1001-2500 This PR causes many rebuilds on Darwin and should most likely target the staging branches. 6.topic: ocaml OCaml is a general-purpose, high-level, multi-paradigm programming language. labels Oct 19, 2025
@jopejoe1 jopejoe1 force-pushed the genrate-package-info-in-nix branch from afb8b78 to 539fac6 Compare October 19, 2025 09:55
@nixpkgs-ci nixpkgs-ci bot added the 6.topic: stdenv Standard environment label Oct 19, 2025
@nixpkgs-ci nixpkgs-ci bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Oct 21, 2025
@Ericson2314
Copy link
Member

Yes thank for this. nix-env knowing about meta is frankly a layer violation anyways :)

@jopejoe1 jopejoe1 force-pushed the genrate-package-info-in-nix branch from 539fac6 to c6e7a97 Compare October 23, 2025 19:59
@jopejoe1
Copy link
Member Author

jopejoe1 commented Jan 8, 2026

Did a rebase and fixed a new eval failure in #478128 that got added since the last rebase.

@AiyionPrime
Copy link
Contributor

Wow, didn't watch this for a few weeks; the code has gotten pretty slim :)

Copy link
Contributor

@wolfgangwalther wolfgangwalther left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked at the before/after diff again and now I only see two kinds of differences (although I did not check the full diff, it's huge):

  • pname and version are split correctly
  • some "new" packages appear, where they have multiple attr paths now ("aliases", but not behind allowAliases). For example zulu21 now appears, which is the same as zulu. The previous nix-env call would have filtered out those duplicates.

The first one was the goal of this PR, I believe. To be clear: I consider the second one an improvement, because it was often unpredictable and confusing which attribute showed up and which didn't.


LGTM; but we should wait for the other PR, which contains the first commit, to merge first.

@nixpkgs-ci nixpkgs-ci bot added the 12.approvals: 1 This PR was reviewed and approved by one person. label Jan 9, 2026
pname needs to always be evaluable so that our package index can be correctly generatedw
Instead of using nix-env, let's generate directly in Nix.
This fixes the issue that version and pname contain the wrong information,
as nix-env generates those by splitting name into version and pname
instead of directly using those to attrs.

This would work towards fixing the following issues:
NixOS/nixos-search#770
repology/repology-updater#854
@jopejoe1 jopejoe1 force-pushed the genrate-package-info-in-nix branch from 53b6840 to e6fd126 Compare January 9, 2026 14:39
@wolfgangwalther wolfgangwalther added this pull request to the merge queue Jan 9, 2026
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to invalid changes in the merge commit Jan 9, 2026
@wolfgangwalther wolfgangwalther added this pull request to the merge queue Jan 9, 2026
Merged via the queue into NixOS:master with commit 1cace29 Jan 9, 2026
27 of 31 checks passed
@jopejoe1 jopejoe1 deleted the genrate-package-info-in-nix branch January 9, 2026 21:22
@jopejoe1 jopejoe1 linked an issue Jan 9, 2026 that may be closed by this pull request
3 tasks
@jopejoe1
Copy link
Member Author

Looks like this broke the parsing of repology (repology/repology-updater#1565) as they expect pname and version to always to present.

@zowoq
Copy link
Contributor

zowoq commented Jan 15, 2026

Looks like this broke the parsing of repology (repology/repology-updater#1565) as they expect pname and version to always to present.

The @r-ryantm bot uses repology as a source of information for package updates so now there is a significant amount of packages that it won't update while repology is broken.

@wolfgangwalther
Copy link
Contributor

Does it make sense to implement a workaround for pname for a while until all the packages have been fixed, @jopejoe1?

@jopejoe1
Copy link
Member Author

Yeah, we can do that, but we should somehow make sure that that doesn't stay as a permanent fix.

Also got fixes for some package sets which would fix most of these, but there would still be ~1k packages left that don't have pname after those fixes: #479452 #365953 #479780 #479434

@qweered
Copy link
Contributor

qweered commented Jan 15, 2026

Can you give a ilst of packages or script to get them? I'll try to fix it

@jopejoe1
Copy link
Member Author

jopejoe1 commented Jan 15, 2026

Can you give a ilst of packages or script to get them? I'll try to fix it

Currently not on my pc, but i pretty much toke the json file genrated by ./pkgs/top-level/make-tarball.nix and parsed it for missing pname keys. Can send it later in the day when im on my pc.

@zowoq
Copy link
Contributor

zowoq commented Jan 15, 2026

Does it make sense to implement a workaround for pname for a while until all the packages have been fixed ...

Can't we just revert this PR?

@wolfgangwalther
Copy link
Contributor

I don't think a temporary fallback for pname is hard to do, I am looking into it right away.

@jopejoe1
Copy link
Member Author

@qweered here is the list of packages missing pname that you asked for!

Packages missing `pname`
__flattenIncludeHackHook
activitywatch
addBinToPathHook
addDriverRunpath
all-cabal-hashes
alsa-lib-with-plugins
alsa-plugins-wrapper
alsa-topology-conf
android-studio
android-studio-for-platform
android-studio-full
androidStudioForPlatformPackages.canary
androidStudioForPlatformPackages.stable
androidStudioPackages.beta
androidStudioPackages.canary
androidStudioPackages.dev
androidStudioPackages.stable
androidenv.test-suite
apacheHttpdPackages.php
apacheHttpdPackages_2_4.php
apparmor-teardown
appimage-run
appimage-run-tests
arcan-all-wrapped
arcan-wrapped
aroccStdenv
arrayUtilities.getRunpathEntries
arrayUtilities.getSortedMapKeys
arrayUtilities.isDeclaredArray
arrayUtilities.isDeclaredMap
arrayUtilities.sortArray
autoAddDriverRunpath
autoFixElfFiles
autoPatchcilHook
autoPatchelfHook
autoreconfHook
autoreconfHook269
autoreconfHook271
autotier
azure-sdk-for-cpp.stdenv
beam26Packages.lfe
beam26Packages.pc
beam26Packages.rebar3-nix
beam26Packages.rebar3-proper
beam27Packages.lfe
beam27Packages.pc
beam27Packages.rebar3-nix
beam27Packages.rebar3-proper
beam28Packages.pc
beam28Packages.rebar3-nix
beam28Packages.rebar3-proper
beamMinimal26Packages.lfe
beamMinimal26Packages.pc
beamMinimal26Packages.rebar3-nix
beamMinimal26Packages.rebar3-proper
beamMinimal27Packages.lfe
beamMinimal27Packages.pc
beamMinimal27Packages.rebar3-nix
beamMinimal27Packages.rebar3-proper
beamMinimal28Packages.pc
beamMinimal28Packages.rebar3-nix
beamMinimal28Packages.rebar3-proper
bigpemu
bigquery-emulator
bird-lg
bork
bottles
brasero
breakpointHook
breakpointHookCntr
bsdSetupHook
bsh
budgie-gsettings-overrides
bundler-audit
cabal2nix
calamares-nixos
cargo-auditable-cargo-wrapper
caribou
cat9-wrapped
ccacheStdenv
certbot-full
cfn-nag
chickenPackages_4.chickenEggs.base64
chickenPackages_4.chickenEggs.defstruct
chickenPackages_4.chickenEggs.http-client
chickenPackages_4.chickenEggs.intarweb
chickenPackages_4.chickenEggs.matchable
chickenPackages_4.chickenEggs.sendfile
chickenPackages_4.chickenEggs.simple-md5
chickenPackages_4.chickenEggs.uri-common
chickenPackages_4.chickenEggs.uri-generic
chickenPackages_4.egg2nix
chromium-xorg-conf
cinnamon-gsettings-overrides
clangMultiStdenv
clangStdenv
clangStdenvNoLibs
common-updater-scripts
compass
copyDesktopItems
copyPkgconfigItems
coq-kernel
coreboot-utils
crossfire-gridarta
crossfire-jxclient
ctagsWrapped
ctestCheckHook
cudaPackages.autoAddCudaCompatRunpath
cudaPackages.backendStdenv
cudaPackages.cudatoolkit
cudaPackages.markForCudatoolkitRootHook
cudaPackages.removeStubsFromRunpathHook
cudaPackages.setupCudaHook
cudatoolkit
d1x-rebirth-full
d2x-rebirth-full
dartHooks.dartBuildHook
dartHooks.dartConfigHook
dartHooks.dartFixupHook
dartHooks.dartInstallHook
darwin.autoSignDarwinBinariesHook
darwin.binutilsDualAs-unwrapped
darwin.bootstrapStdenv
darwin.linux-builder
darwin.linux-builder-x86_64
darwin.signingUtils
darwin.xcode
darwin.xcodeProjectCheckHook
darwin.xcode_10_1
darwin.xcode_10_2
darwin.xcode_10_2_1
darwin.xcode_10_3
darwin.xcode_11
darwin.xcode_11_1
darwin.xcode_11_2
darwin.xcode_11_3_1
darwin.xcode_11_4
darwin.xcode_11_5
darwin.xcode_11_6
darwin.xcode_11_7
darwin.xcode_12
darwin.xcode_12_0_1
darwin.xcode_12_1
darwin.xcode_12_2
darwin.xcode_12_3
darwin.xcode_12_4
darwin.xcode_12_5
darwin.xcode_12_5_1
darwin.xcode_13
darwin.xcode_13_1
darwin.xcode_13_2
darwin.xcode_13_3
darwin.xcode_13_3_1
darwin.xcode_13_4
darwin.xcode_13_4_1
darwin.xcode_14
darwin.xcode_14_1
darwin.xcode_15
darwin.xcode_15_0_1
darwin.xcode_15_1
darwin.xcode_15_2
darwin.xcode_15_3
darwin.xcode_15_4
darwin.xcode_16
darwin.xcode_16_1
darwin.xcode_16_2
darwin.xcode_16_3
darwin.xcode_16_4
darwin.xcode_26
darwin.xcode_26_0_1
darwin.xcode_26_0_1_Apple_silicon
darwin.xcode_26_1
darwin.xcode_26_1_1
darwin.xcode_26_1_1_Apple_silicon
darwin.xcode_26_1_Apple_silicon
darwin.xcode_26_2
darwin.xcode_26_2_Apple_silicon
darwin.xcode_26_Apple_silicon
darwin.xcode_8_1
darwin.xcode_8_2
darwin.xcode_9_1
darwin.xcode_9_2
darwin.xcode_9_3
darwin.xcode_9_4
darwin.xcode_9_4_1
deadbeef-with-plugins
decktape
dejavu_fontsEnv
dell-530cdn
descent1-assets
descent2-assets
desktopToDarwinBundle
deterministic-host-uname
deterministic-uname
devmode
dfhack
dhallPackages.Prelude
dhallPackages.dhall-cloudformation
dhallPackages.dhall-grafana
dhallPackages.dhall-kubernetes
dictdDBs.deu2eng
dictdDBs.eng2deu
dictdDBs.eng2fra
dictdDBs.eng2jpn
dictdDBs.eng2nld
dictdDBs.eng2rus
dictdDBs.epo2eng
dictdDBs.fra2eng
dictdDBs.jpn2eng
dictdDBs.mueller_eng2rus_pkg
dictdDBs.nld2eng
dieHook
distccMasquerade
distccStdenv
docbook_sgml_dtd_31
docbook_sgml_dtd_41
documentation-highlighter
dotcolon-fonts
dotnetCorePackages.autoPatchcilHook
dotnetCorePackages.generate-dotnet-sdk
dotnetCorePackages.nugetPackageHook
dotnetCorePackages.patchNupkgs
dotnetbuildhelpers
drawio-headless
dri-pkgconfig-stub
dub-to-nix
dubBuildHook
dubCheckHook
dubSetupHook
durden-wrapped
dwarf-fortress-full
dwarf-fortress-packages.cla-theme
dwarf-fortress-packages.dwarf-fortress-full
dwarf-fortress-packages.legends-browser
dwarf-fortress-packages.phoebus-theme
dwarf-fortress-packages.themes.afro-graphics
dwarf-fortress-packages.themes.autoreiv
dwarf-fortress-packages.themes.cla
dwarf-fortress-packages.themes.dfgraphics
dwarf-fortress-packages.themes.gemset
dwarf-fortress-packages.themes.ironhand
dwarf-fortress-packages.themes.jolly-bastion
dwarf-fortress-packages.themes.mayday
dwarf-fortress-packages.themes.meph
dwarf-fortress-packages.themes.obsidian
dwarf-fortress-packages.themes.phoebus
dwarf-fortress-packages.themes.rally-ho
dwarf-fortress-packages.themes.spacefox
dwarf-fortress-packages.themes.taffer
dwarf-fortress-packages.themes.tergel
dwarf-fortress-packages.themes.vettlingr
dwarf-fortress-packages.themes.wanderlust
eclipses.plugins.acejump
eclipses.plugins.ansi-econsole
eclipses.plugins.antlr-runtime_4_5
eclipses.plugins.antlr-runtime_4_7
eclipses.plugins.anyedittools
eclipses.plugins.autodetect-encoding
eclipses.plugins.cdt
eclipses.plugins.checkstyle
eclipses.plugins.color-theme
eclipses.plugins.cup
eclipses.plugins.drools
eclipses.plugins.eclemma
eclipses.plugins.embed-cdt
eclipses.plugins.findbugs
eclipses.plugins.freemarker
eclipses.plugins.gnuarmeclipse
eclipses.plugins.jdt-codemining
eclipses.plugins.jsonedit
eclipses.plugins.rustdt
eclipses.plugins.spotbugs
eclipses.plugins.testng
eclipses.plugins.vrapper
eclipses.plugins.yedit
eclipses.plugins.zest
ecm
edido
edopro
eject
emptyDirectory
emptyFile
emscriptenStdenv
enableGCOVInstrumentation
ensureNewerSourcesForZipFilesHook
etcd
etcd_3_5
etcd_3_6
etlegacy
evolutionWithPlugins
exactaudiocopy
expand-response-params
fakeNss
fastStdenv
faust2alqt
faust2alsa
faust2csound
faust2firefox
faust2jack
faust2jackrust
faust2jaqt
faust2ladspa
faust2lv2
faust2sc
faust2sndfile
filterpath
findXMLCatalogs
fixDarwinDylibNames
fixup-yarn-lock
fixup_yarn_lock
flare
florist
fluentd
flutter
flutter329
flutter332
flutter335
flutter338
flutterPackages-bin.stable
flutterPackages-bin.v3_29
flutterPackages-bin.v3_32
flutterPackages-bin.v3_35
flutterPackages-bin.v3_38
flutterPackages-source.stable
flutterPackages-source.v3_29
flutterPackages-source.v3_32
flutterPackages-source.v3_35
flutterPackages-source.v3_38
flutterPackages.stable
flutterPackages.v3_29
flutterPackages.v3_32
flutterPackages.v3_35
flutterPackages.v3_38
foreman
fork-cleaner
frogatto
gawk-with-extensions
gcc13Stdenv
gcc14Stdenv
gcc15Stdenv
gccCrossLibcStdenv
gccMultiStdenv
gccNGPackages_15.stdenv
gccStdenv
gccStdenvNoLibs
gclient2nix
gdb-dashboard
geany-with-vte
gensort
getconf
getent
gimp-with-plugins
gimp2-with-plugins
gimp2Plugins.lightning
gimpPlugins.lightning
git-fame
gitSetupHook
gitlab
gitlab-ee
gitwatch
gitweb
glasstty-ttf
glibc_multi
globulation2
gnome.nixos-gsettings-overrides
gnuStdenv
gogUnpackHook
graylogPlugins.aggregates
graylogPlugins.auth_sso
graylogPlugins.dnsresolver
graylogPlugins.enterprise-integrations
graylogPlugins.filter-messagesize
graylogPlugins.integrations
graylogPlugins.internal-logs
graylogPlugins.ipanonymizer
graylogPlugins.jabber
graylogPlugins.metrics
graylogPlugins.mongodb-profiler
graylogPlugins.pagerduty
graylogPlugins.redis
graylogPlugins.slack
graylogPlugins.smseagle
graylogPlugins.snmp
graylogPlugins.spaceweather
graylogPlugins.splunk
graylogPlugins.twiliosms
graylogPlugins.twitter
grub2_pvgrub_image
grub2_pvhgrub_image
hareHook
haskell.package-list
haxePackages.format
haxePackages.heaps
haxePackages.hlopenal
haxePackages.hlsdl
haxePackages.hxcpp
haxePackages.hxcs
haxePackages.hxjava
haxePackages.hxnodejs_4
haxePackages.hxnodejs_6
hello-cpp
hello-go
helmholtz
helvetica-neue-lt-std
hexdump
hiera-eyaml
homesick
hostname
html-proofer
hxcpp
ibus-engines.typing-booster
ibus-with-plugins
idris
idrisPackages.idris
ietf-cli
ihaskell
ilbc
immichframe
indi-full
indi-full-nonfree
indi-with-drivers
influxdb2
inkscape-extensions.inkcut
inkscape-with-extensions
installShellFiles
iortcw
isle-portable
jazz2-content
jre-generate-cacerts
json2ts
jsonSchemaCatalogs.json-patch-schemastore
jsonSchemaCatalogs.json-schema
jsonSchemaCatalogs.tests.test-with-json-schema-catalog-rs
jupyter
jupyter-all
kafka-cmak
kakoune
kdePackages.fcitx5-with-addons
kdePackages.qmake
kdePackages.sddm
kdePackages.wrapQtAppsHook
keen4
keepBuildTree
keepass-charactercopy
keepass-keeagent
keepass-keepasshttp
keepass-keepassrpc
keepass-keetraytotp
keepass-otpkeyprov
keepass-qrcodeview
killall
klibcShrunk
klipper-firmware
klipper-flash
klipper-genconf
krita
kryoflux
kubernetes-helm-wrapped
kubetrim
kubeval-schema
kubo-fs-repo-migrations
kubo-migrator
ld-is-cc-hook
league-of-moveable-type
lfe
lib45d
libclipboard
libcosmicAppHook
libcsa
libcxxStdenv
libdjinterop
libgnunetchat
libiconv
libidn2
liblockfile
libreoffice
libreoffice-fresh
libreoffice-qt
libreoffice-qt-fresh
libreoffice-qt-still
libreoffice-still
libsForQt5.qmake
libsForQt5.qt5.qmake
libsForQt5.qt5.wrapQtAppsHook
libsForQt5.wrapQtAppsHook
libxml2Python
license_finder
llm
llvmPackages.bintools-unwrapped
llvmPackages.libcxxStdenv
llvmPackages.stdenv
llvmPackages_18.bintools-unwrapped
llvmPackages_18.libcxxStdenv
llvmPackages_18.stdenv
llvmPackages_19.bintools-unwrapped
llvmPackages_19.libcxxStdenv
llvmPackages_19.stdenv
llvmPackages_20.bintools-unwrapped
llvmPackages_20.libcxxStdenv
llvmPackages_20.stdenv
llvmPackages_21.bintools-unwrapped
llvmPackages_21.libcxxStdenv
llvmPackages_21.stdenv
locale
logger
lsb-release
lua51Packages.luarocksCheckHook
lua51Packages.luarocksMoveDataFolder
lua51Packages.wrapLua
lua52Packages.luarocksCheckHook
lua52Packages.luarocksMoveDataFolder
lua52Packages.wrapLua
lua53Packages.luarocksCheckHook
lua53Packages.luarocksMoveDataFolder
lua53Packages.wrapLua
lua54Packages.luarocksCheckHook
lua54Packages.luarocksMoveDataFolder
lua54Packages.wrapLua
luaPackages.luarocksCheckHook
luaPackages.luarocksMoveDataFolder
luaPackages.wrapLua
luajitPackages.luarocksCheckHook
luajitPackages.luarocksMoveDataFolder
luajitPackages.wrapLua
make-minimal-bootstrap-sources
makeBinaryWrapper
makeDBusConf
makeGCOVReport
makeShellWrapper
makeWrapper
mate.mate-gsettings-overrides
mathematica
mathematica-cuda
mathematica-webdoc
mathematica-webdoc-cuda
matrix-synapse
mbrola-voices
memcachedTestHook
mesonEmulatorHook
mfcl3770cdwcupswrapper
mfcl3770cdwlpr
mingtest
monoDLLFixer
more
mount
moveBuildTree
mpiCheckPhaseHook
mpv
msmtp
msp430Newlib
mueval
multiStdenv
nafees
nemo-with-extensions
netflix
nim
nim-1_0
nim-2_0
nim-2_2
nim1
nim2
nix-generate-from-cpan
nix-index
nix-info
nix-info-tested
nix-prefetch-bzr
nix-prefetch-cvs
nix-prefetch-darcs
nix-prefetch-docker
nix-prefetch-git
nix-prefetch-hg
nix-prefetch-pijul
nix-prefetch-scripts
nix-prefetch-svn
nixfmt-tree
nixops_unstable_full
nixops_unstable_minimal
nixos-artwork.wallpapers.binary-black
nixos-artwork.wallpapers.binary-blue
nixos-artwork.wallpapers.binary-red
nixos-artwork.wallpapers.binary-white
nixos-artwork.wallpapers.catppuccin-frappe
nixos-artwork.wallpapers.catppuccin-latte
nixos-artwork.wallpapers.catppuccin-macchiato
nixos-artwork.wallpapers.catppuccin-mocha
nixos-artwork.wallpapers.dracula
nixos-artwork.wallpapers.gear
nixos-artwork.wallpapers.gnome-dark
nixos-artwork.wallpapers.gradient-grey
nixos-artwork.wallpapers.moonscape
nixos-artwork.wallpapers.mosaic-blue
nixos-artwork.wallpapers.nineish
nixos-artwork.wallpapers.nineish-catppuccin-frappe
nixos-artwork.wallpapers.nineish-catppuccin-frappe-alt
nixos-artwork.wallpapers.nineish-catppuccin-latte
nixos-artwork.wallpapers.nineish-catppuccin-latte-alt
nixos-artwork.wallpapers.nineish-catppuccin-macchiato
nixos-artwork.wallpapers.nineish-catppuccin-macchiato-alt
nixos-artwork.wallpapers.nineish-catppuccin-mocha
nixos-artwork.wallpapers.nineish-catppuccin-mocha-alt
nixos-artwork.wallpapers.nineish-dark-gray
nixos-artwork.wallpapers.nineish-solarized-dark
nixos-artwork.wallpapers.nineish-solarized-light
nixos-artwork.wallpapers.recursive
nixos-artwork.wallpapers.simple-blue
nixos-artwork.wallpapers.simple-dark-gray
nixos-artwork.wallpapers.simple-dark-gray-bootloader
nixos-artwork.wallpapers.simple-dark-gray-bottom
nixos-artwork.wallpapers.simple-light-gray
nixos-artwork.wallpapers.simple-red
nixos-artwork.wallpapers.stripes
nixos-artwork.wallpapers.stripes-logo
nixos-artwork.wallpapers.waterfall
nixos-artwork.wallpapers.watersplash
nixos-bgrt-plymouth
nixos-build-vms
nixos-container
nixos-enter
nixos-firewall-tool
nixos-grub2-theme
nixos-install
nixos-option
nixpkgs-manual
nn
node2nix
nodePackages."@angular/cli"
nodePackages."@microsoft/rush"
nodePackages."@tailwindcss/aspect-ratio"
nodePackages."@tailwindcss/forms"
nodePackages."@tailwindcss/line-clamp"
nodePackages."@tailwindcss/typography"
nodePackages.alex
nodePackages.browser-sync
nodePackages.browserify
nodePackages.coc-go
nodePackages.coc-tsserver
nodePackages.dotenv-vault
nodePackages.esy
nodePackages.grunt-cli
nodePackages.gulp-cli
nodePackages.js-yaml
nodePackages.node2nix
nodePackages.rush
nodePackages.sass
nodePackages.semver
nodePackages.vercel
nodePackages.wavedrom-cli
nodePackages_latest."@angular/cli"
nodePackages_latest."@microsoft/rush"
nodePackages_latest."@tailwindcss/aspect-ratio"
nodePackages_latest."@tailwindcss/forms"
nodePackages_latest."@tailwindcss/line-clamp"
nodePackages_latest."@tailwindcss/typography"
nodePackages_latest.alex
nodePackages_latest.browser-sync
nodePackages_latest.browserify
nodePackages_latest.coc-go
nodePackages_latest.coc-tsserver
nodePackages_latest.dotenv-vault
nodePackages_latest.esy
nodePackages_latest.grunt-cli
nodePackages_latest.gulp-cli
nodePackages_latest.js-yaml
nodePackages_latest.node2nix
nodePackages_latest.rush
nodePackages_latest.sass
nodePackages_latest.semver
nodePackages_latest.vercel
nodePackages_latest.wavedrom-cli
nodejsInstallExecutables
nodejsInstallManuals
nordpass
npmHooks.npmBuildHook
npmHooks.npmConfigHook
npmHooks.npmInstallHook
nuget-to-json
nukeReferences
nvidia-docker
nvidiaCtkPackages.nvidia-docker
nzportable
ocamlPackages.ocaml_cairo
ocamlPackages.ocaml_mysql
ocamlPackages.reason-native.src
ocamlPackages.uucp
ocamlPackages.uunf
ocamlPackages.uuseg
ocamlPackages.uutf
ocamlPackages.vg
ocamlPackages.xmlm
ocamlPackages_latest.ocaml_cairo
ocamlPackages_latest.ocaml_mysql
ocamlPackages_latest.reason-native.src
ocamlPackages_latest.uucp
ocamlPackages_latest.uunf
ocamlPackages_latest.uuseg
ocamlPackages_latest.uutf
ocamlPackages_latest.vg
ocamlPackages_latest.xmlm
ocf-resource-agents
octave-kernel.launcher
octavePackages.writeRequiredOctavePackagesHook
oilrush
open-watcom-bin
open-watcom-v2
open-watcom-v2-full
openfreebuds
openmodelica.combined
oqs-provider
or1k-newlib
packr
pan-bindings
pantheon.elementary-gsettings-schemas
patchPpdFilesHook
patchRcPathBash
patchRcPathCsh
patchRcPathFish
patchRcPathPosix
php
php82
php83
php84
pipeworld-wrapped
plasma5Packages.qmake
plasma5Packages.qt5.qmake
plasma5Packages.qt5.wrapQtAppsHook
plasma5Packages.wrapQtAppsHook
plikd
pnpmConfigHook
poly
popfile
postgresql14Packages.plperl
postgresql14Packages.plpython3
postgresql14Packages.pltcl
postgresql15Packages.plperl
postgresql15Packages.plpython3
postgresql15Packages.pltcl
postgresql16Packages.plperl
postgresql16Packages.plpython3
postgresql16Packages.pltcl
postgresql17Packages.plperl
postgresql17Packages.plpython3
postgresql17Packages.pltcl
postgresql18Packages.plperl
postgresql18Packages.plpython3
postgresql18Packages.pltcl
postgresqlPackages.plperl
postgresqlPackages.plpython3
postgresqlPackages.pltcl
postgresqlTestHook
postgresql_14_jit
postgresql_15_jit
postgresql_16_jit
postgresql_17_jit
postgresql_18_jit
postgresql_jit
postgrey
powerline-symbols
prefetch-yarn-deps
prevo
primus
prio-wrapped
prototypejs
pruneLibtoolFiles
ps
python313Packages.aiocmd
python313Packages.bezier
python313Packages.condaInstallHook
python313Packages.condaUnpackHook
python313Packages.eggBuildHook
python313Packages.eggInstallHook
python313Packages.eggUnpackHook
python313Packages.marqo
python313Packages.pipBuildHook
python313Packages.pipInstallHook
python313Packages.pypaBuildHook
python313Packages.pypaInstallHook
python313Packages.pytest7CheckHook
python313Packages.pytest8_3CheckHook
python313Packages.pytestCheckHook
python313Packages.pythonCatchConflictsHook
python313Packages.pythonImportsCheckHook
python313Packages.pythonNamespacesHook
python313Packages.pythonOutputDistHook
python313Packages.pythonRecompileBytecodeHook
python313Packages.pythonRelaxDepsHook
python313Packages.pythonRemoveBinBytecodeHook
python313Packages.pythonRemoveTestsDirHook
python313Packages.pythonRuntimeDepsCheckHook
python313Packages.setuptoolsBuildHook
python313Packages.sphinxHook
python313Packages.stdenv
python313Packages.subunit
python313Packages.unittestCheckHook
python313Packages.venvShellHook
python313Packages.wheelUnpackHook
python313Packages.wrapPython
python314Packages.aiocmd
python314Packages.bezier
python314Packages.condaInstallHook
python314Packages.condaUnpackHook
python314Packages.eggBuildHook
python314Packages.eggInstallHook
python314Packages.eggUnpackHook
python314Packages.marqo
python314Packages.pipBuildHook
python314Packages.pipInstallHook
python314Packages.pypaBuildHook
python314Packages.pypaInstallHook
python314Packages.pytest7CheckHook
python314Packages.pytest8_3CheckHook
python314Packages.pytestCheckHook
python314Packages.pythonCatchConflictsHook
python314Packages.pythonImportsCheckHook
python314Packages.pythonNamespacesHook
python314Packages.pythonOutputDistHook
python314Packages.pythonRecompileBytecodeHook
python314Packages.pythonRelaxDepsHook
python314Packages.pythonRemoveBinBytecodeHook
python314Packages.pythonRemoveTestsDirHook
python314Packages.pythonRuntimeDepsCheckHook
python314Packages.setuptoolsBuildHook
python314Packages.sphinxHook
python314Packages.stdenv
python314Packages.subunit
python314Packages.unittestCheckHook
python314Packages.venvShellHook
python314Packages.wheelUnpackHook
python314Packages.wrapPython
qt5.qmake
qt5.wrapQtAppsHook
qt6.qmake
qt6.wrapQtAppsHook
qt6Packages.fcitx5-with-addons
qt6Packages.qmake
qt6Packages.sddm
qt6Packages.wrapQtAppsHook
quinze
rWrapper
radianWrapper
ramfetch
raygui
redisTestHook
regal
removeReferencesTo
replace-secret
reposilitePlugins.checksum
reposilitePlugins.groovy
reposilitePlugins.migration
reposilitePlugins.prometheus
reposilitePlugins.swagger
retroarch
retroarch-free
retroarch-full
rfkill_udev
rkboot
rocmPackages.clang
rocmPackages.llvm.clang
rocmPackages.llvm.rocm-toolchain
rocmPackages.llvm.rocmClangStdenv
rocmPackages.rocm-tests
rocmPackages.rocm-toolchain
rocmPackages.rocmClangStdenv
rocmPackages.stdenv
rofi
ronin
ropebwt2
roundcubePlugins.carddav
roundcubePlugins.contextmenu
roundcubePlugins.custom_from
roundcubePlugins.persistent_login
roundcubePlugins.thunderbird_labels
rpmextract
rss-bridge-cli
rstudioServerWrapper
rstudioWrapper
run-npush
ruqola
rust-bindgen
rxvt-unicode
rxvt-unicode-emoji
scala_2_12
scala_2_13
scope-lite
sdnotify-wrapper
separateDebugInfo
serenityos-emoji-font
service-wrapper
setJavaClassPath
setupDebugInfoDirs
shortenPerlShebang
signwriting
sigtop
simutrans
skawarePackages.sdnotify-wrapper
sm64baserom
snis
source-sans-pro
sphinxHook
ssb-patchwork
ssh-copy-id
stdenv
stdenvNoCC
stdenvNoLibc
stdenvNoLibs
stdenv_32bit
steam-run
steam-run-free
stripJavaArchivesHook
swh
swiftPackages.stdenv
swiftPackages.swiftpm2nix
swiftpm2nix
sxcs
sysctl
systemtap-sdt
tarsum
tclPackages.tclPackageHook
tcptrace
teamocil
tectonic
tempora_lgc
tensorflow-lite
termpaint
termsonic
terraform_plugins_test
tests-stdenv-gcc-stageCompare
tex-gyre-math.bonum
tex-gyre-math.pagella
tex-gyre-math.schola
tex-gyre-math.termes
tex-gyre.adventor
tex-gyre.bonum
tex-gyre.chorus
tex-gyre.cursor
tex-gyre.heros
tex-gyre.pagella
tex-gyre.schola
tex-gyre.termes
texliveBasic
texliveBookPub
texliveConTeXt
texliveFull
texliveGUST
texliveInfraOnly
texliveMedium
texliveMinimal
texliveSmall
texliveTeTeX
tiddit
timetrap
travis
tribler
tsm-client
tsm-client-withGui
tusc-sh
udevCheckHook
ue4demos.black_jack
ue4demos.blueprint_examples_demo
ue4demos.card_game
ue4demos.effects_cave_demo
ue4demos.elemental_demo
ue4demos.landscape_mountains
ue4demos.matinee_demo
ue4demos.mobile_temple_demo
ue4demos.realistic_rendering
ue4demos.reflections_subway
ue4demos.scifi_hallway_demo
ue4demos.shooter_game
ue4demos.strategy_game
ue4demos.stylized_demo
ue4demos.swing_ninja
ue4demos.tappy_chicken
ue4demos.vehicle_game
umount
uni-vga
unicode-emoji
unixtools.arp
unixtools.col
unixtools.column
unixtools.eject
unixtools.fdisk
unixtools.fsck
unixtools.getconf
unixtools.getent
unixtools.getopt
unixtools.hexdump
unixtools.hostname
unixtools.ifconfig
unixtools.killall
unixtools.locale
unixtools.logger
unixtools.more
unixtools.mount
unixtools.net-tools
unixtools.netstat
unixtools.ping
unixtools.procps
unixtools.ps
unixtools.quota
unixtools.route
unixtools.script
unixtools.sysctl
unixtools.top
unixtools.umount
unixtools.util-linux
unixtools.wall
unixtools.watch
unixtools.whereis
unixtools.write
unixtools.xxd
update-python-libraries
updateAutotoolsGnuConfigScriptsHook
updfparser
usb-blaster-udev-rules
useOldCXXAbi
validatePkgConfig
vapoursynth-editor
vc4-newlib
vdrPlugins.epgtableid0
vdrPlugins.hello
vdrPlugins.osddemo
vdrPlugins.pictures
vdrPlugins.servicedemo
vdrPlugins.skincurses
vdrPlugins.status
vdrPlugins.svdrpdemo
vdrift
versionCheckHook
vimPlugins.corePlugins
virtualboxExtpack
vscode-extension-update
vscode-with-extensions
vst2-sdk
wafHook
wall
watch
wayfire-with-plugins
weechat
windows.crossThreadsStdenv
wiringpi
wkhtmltopdf
wolfram-engine
wolfram-notebook
wordlists
wrapGAppsHook3
wrapGAppsHook4
wrapGAppsNoGuiHook
wrapGNUstepAppsHook
wrapVdr
wrapWithXFileSearchPathHook
writableTmpDirAsHomeHook
writeDarwinBundle
xcbuildHook
xdummy
xkbvalidate
xorg.wrapWithXFileSearchPathHook
xpra-html5
xxd
yarnBuildHook
yarnConfigHook
yarnInstallHook
zeroad
zigStdenv

@AiyionPrime
Copy link
Contributor

Nice thanks; is that something I can produce locally as well?
Or does that require access to a buildserver?

@jopejoe1
Copy link
Member Author

jopejoe1 commented Jan 16, 2026

Nice thanks; is that something I can produce locally as well?

Yes, but you need to revert e19bb69, so that my script works.

Then you just need to run nix-instantiate --eval --raw --expr "import ./pkgs/top-level/packages-info.nix {}" > packages.json to generate the metadata file, and then you can run a simple Python script like this to generate the list:

import json

with open('packages.json', 'r') as file:
    data = json.load(file)

packages = data['packages']

for name ,package in packages.items():
    if "pname" not in package.keys():
        print(name)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

6.topic: haskell General-purpose, statically typed, purely functional programming language 6.topic: repology https://repology.org/ 10.rebuild-darwin: 0 This PR does not cause any packages to rebuild on Darwin. 10.rebuild-linux: 0 This PR does not cause any packages to rebuild on Linux. 12.approvals: 1 This PR was reviewed and approved by one person.

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

uradvd: wrong pname is exported in packages.json.br

6 participants