Skip to content

directory structure for package sets #482537

@quantenzitrone

Description

@quantenzitrone

what

A new directory pkgs/sets that contains all package sets instead of having them in the deprecated category hierarchy.

why

We want to get rid of the package categories as directory trees NixOS/rfcs#140 NixOS/rfcs#146.
Package sets don't currently have somewhere to go.

how

I implemented this in #482538, feedback would be appreciated.

As a proof of concept i also move fishPlugins and nushellPlugins to this new structure in #482543.

If this gets accepted, I will also gladly move all other package sets to this new location.

list of package sets

(generated with

nix eval --impure --expr 'let pkgs = import <nixpkgs> {config.allowAliases = false;}; lib = pkgs.lib; in lib.filterAttrs (_: v: (__tryEval v).success && !(lib.isDerivation v) && __isAttrs v && !(lib.isFunction v)) pkgs |> __mapAttrs (_: v: __length (__attrNames v))' --json > result.json
$ jq '. | to_entries | .[] | "\(.value) \(.key)"' result.json -r | sort -n | grep -vE '^(2413[0-2]|0) ' | cut -d' ' -f2 | sort | sed 's/^/- [ ] /g'

manually removed non packagesets)

  • agdaPackages
  • akkuPackages
  • androidenv
  • androidStudioForPlatformPackages
  • androidStudioPackages
  • ankiAddons
  • anki-utils
  • apacheHttpdPackages*
  • appimageTools
  • arm-trusted-firmware
  • aroccPackages
  • arrayUtilities
  • aspellDicts
  • astal
  • authentik-outposts
  • azure-cli-extensions
  • azure-sdk-for-cpp
  • bat-extras
  • beam
  • beam_minimal
  • beam*Packages
  • binlore
  • bitscope
  • buildbotPackages
  • buildbot-plugins
  • buildRustCrateHelpers
  • cataclysmDDA
  • cbqn-bootstrap
  • checkpointBuildTools
  • chickenPackages*
  • clojupyter
  • cmdpack
  • config
  • coolercontrol
  • coqPackages*
  • coreboot-toolchain
  • cpp11-kernel
  • cpp14-kernel
  • cpp17-kernel
  • cpp2a-kernel
  • CuboCore
  • _cuda
  • cudaPackages*
  • curaPlugins
  • cutterPlugins
  • cygwin
  • dartHooks
  • darwin
  • deadbeefPlugins
  • defaultCrateOverrides
  • defaultGemConfig
  • defaultPkgConfigPackages
  • deviceTree
  • devShellTools
  • dhallPackages
  • dictdDBs
  • dockapps
  • dockerTools
  • dotnetCorePackages
  • dotnetfx35
  • dotnetfx40
  • dotnetPackages
  • dprint-plugins
  • driversi686Linux
  • dwarf-fortress-packages
  • eclipses
  • elasticsearchPlugins
  • electron-source
  • elmPackages
  • emacsPackages
  • emiluaPlugins
  • emscriptenPackages
  • enlightenment
  • error-inject
  • _experimental-update-script-combinators
  • expidus
  • factorio-utils
  • factorPackages*
  • fedora-backgrounds
  • fishPlugins {fish,nushell}Plugins: move to new package set location #482543
  • flutterPackages
  • flutterPackages-bin
  • flutterPackages-source
  • formats
  • freebsd
  • freshBootstrapTools
  • freshrss-extensions
  • fusePackages
  • gambit-support
  • gancioPlugins
  • gaugePlugins
  • gawkextlib
  • gccNGPackages_15
  • gerbilPackages-unstable
  • gerbil-support
  • ghidra-extensions
  • gimp2Plugins
  • gimpPlugins*
  • gnat*Packages
  • gnome
  • gnome2
  • gnome*Extensions
  • gns3Packages
  • gnuradioPackages
  • godotPackages*
  • graalvmPackages
  • gradle-packages
  • grafanaPlugins
  • graylogPlugins
  • gst_all_1
  • hareThirdParty
  • haskell
  • haskellPackages
  • haxePackages
  • home-assistant-component-tests
  • home-assistant-custom-components
  • home-assistant-custom-lovelace-modules
  • hspellDicts
  • hunspellDicts
  • hunspellDictsChromium
  • hyphenDicts
  • hyprlandPlugins
  • ibus-engines
  • icingaweb2Modules
  • icu-versions
  • idris2Packages
  • idrisPackages
  • indi-3rdparty
  • inkscape-extensions
  • intel-oneapi
  • interception-tools-plugins
  • iosevka-comfy
  • isabelle-components
  • javaPackages
  • jetbrains
  • jsonSchemaCatalogs
  • jupyter-console
  • jupyter-kernel
  • kakounePlugins
  • kakouneUtils
  • kdePackages
  • kernelPatches
  • kicadAddons
  • kodiPackages
  • kubernetes-helmPlugins
  • lib
  • libretro
  • libsForQt5
  • linphonePackages
  • linuxKernel
  • linuxPackages*
  • lohit-fonts
  • lomiri
  • luaInterpreters
  • luajitPackages
  • lua*Packages
  • lumina
  • lxqt
  • magnetophonDSP
  • mailmanPackages
  • maple-mono
  • mate
  • matrix-synapse-plugins
  • minecraftServers
  • minimal-bootstrap
  • minimal-bootstrap-sources
  • mkspiffs-presets
  • moodle-utils
  • mopidyPackages
  • mplus-outline-fonts
  • mpvScripts
  • multitran
  • nagiosPlugins
  • neovimUtils
  • nerd-fonts
  • netbsd
  • nextcloud*Packages
  • nginxModules
  • nimOverrides
  • nixBufferBuilders
  • nixDependencies
  • nix-gitignore
  • nixops_unstablePlugins
  • nixos-artwork
  • nixosTests
  • nixVersions
  • nltk-data
  • nodePackages
  • nodePackages_latest
  • npmHooks
  • nushellPlugins {fish,nushell}Plugins: move to new package set location #482543
  • nvidiaCtkPackages
  • nvtopPackages
  • obs-studio-plugins
  • ocaml-ng
  • ocamlPackages
  • ociTools
  • octave-kernel
  • octavePackages
  • octodns-providers
  • openbsd
  • openconnectPackages
  • openlilylib-fonts
  • openmodelica
  • open-music-kontrollers
  • openraPackages*
  • opensshPackages
  • opentelemetry-collector-releases
  • optifinePackages
  • pantheon
  • papermcServers
  • passExtensions
  • perl5Packages
  • perlInterpreters
  • perlPackages
  • php*Extensions
  • php*Packages
  • pianoteq
  • pidginPackages
  • pkgsCross
  • pkgsForCudaArch
  • plasma5Packages
  • platforms
  • plover
  • poetryPlugins
  • postgresql*Packages
  • postgresqlJitVersions
  • postgresqlVersions
  • pub2nix
  • pulumiPackages
  • pypy*Packages
  • python2*Packages
  • python3*Packages
  • pythonCondaPackages
  • pythonDocs
  • pythonInterpreters
  • pythonManylinuxPackages
  • qt5
  • qt6
  • qt6Packages
  • releaseTools
  • reposilitePlugins
  • rizinPlugins
  • rocmPackages*
  • rocqPackages*
  • roundcubePlugins
  • rPackages
  • rubyPackages*
  • rust*
  • rustPackages*
  • rustPlatform
  • rxvt-unicode-plugins
  • sane-drivers
  • sbclPackages
  • scx
  • seaborn-data
  • singularity-tools
  • skawarePackages
  • skkDictionaries
  • sourceAndTags
  • sourceHanPackages
  • stdenvAdapters
  • steampipePackages
  • sublime3Packages
  • supercolliderPlugins
  • sway-contrib
  • sweethome3d
  • swiftPackages
  • szurubooru
  • tclPackages
  • terraform-providers
  • testers
  • tests
  • texFunctions
  • tex-gyre
  • tex-gyre-math
  • texinfoPackages
  • texlive
  • texlivePackages
  • tflint-plugins
  • thunderbirdPackages
  • tmuxPlugins
  • translatelocally-models
  • tree-sitter-grammars
  • typstPackages
  • ubootPythonTools
  • ue4demos
  • uefitoolPackages
  • unixODBCDrivers
  • unixtools
  • valeStyles
  • varnish*Packages
  • vdrPlugins
  • vimPlugins
  • vimUtils
  • vmTools
  • vscode-extensions
  • vscode-utils
  • wayfirePlugins
  • webos
  • weechatScripts
  • windows
  • wine64Packages
  • winePackages
  • wineWow64Packages
  • wineWowPackages
  • wolfram-for-jupyter-kernel
  • wordpressPackages
  • writers
  • xcodeenv
  • xfce
  • xorg phasing out the xorg namespace #479553
  • yarn2nix-moretea
  • yarn-berry_3-fetcher
  • yarn-berry_4-fetcher
  • yaziPlugins
  • yosys-symbiflow
  • zabbix*
  • zathuraPkgs
  • zigPackages
  • zncModules

Metadata

Metadata

Labels

0.kind: enhancementAdd something new or improve an existing system.1.severity: significantNovel ideas, large API changes, notable refactorings, issues with RFC potential, etc.5.scope: trackingLong-lived issue tracking long-term fixes or multiple sub-problems6.topic: hygieneCleaning up and removing cruft9.needs: community feedbackThis needs feedback from more community members.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions