Skip to content

by-name-overlay: enable structuredAttrs, strictDeps and parallelBuilding for some directories#483445

Draft
qweered wants to merge 9 commits into
NixOS:masterfrom
qweered:by-name-progressive-enhancment-test
Draft

by-name-overlay: enable structuredAttrs, strictDeps and parallelBuilding for some directories#483445
qweered wants to merge 9 commits into
NixOS:masterfrom
qweered:by-name-progressive-enhancment-test

Conversation

@qweered
Copy link
Copy Markdown
Contributor

@qweered qweered commented Jan 24, 2026

This PR introduces a mechanism to progressively enable modern Nix build defaults (__structuredAttrs, strictDeps, enableParallelBuilding) for packages in pkgs/by-name, starting with directories that have minimal reverse dependencies.

Changes

Adds configurable enhancedDefaultRanges to pkgs/top-level/by-name-overlay.nix to specify which shard ranges get enhanced defaults. Packages in these ranges automatically receive:

  • __structuredAttrs = true
  • strictDeps = true
  • enableParallelBuilding = true

Initial range is _0 to a-. Multiple ranges supported so people are not limited to sequential migration

enhancedDefaultRanges = [
  { from = "_0"; to = "a-"; }
  { from = "b0"; to = "c-"; }
  { from = "z0"; to = "zz"; }
];

Remaining commits fix packages that broke with these new defaults.

Trade-off

This makes moving packages from all-packages.nix to pkgs/by-name harder for affected ranges, as it will trigger rebuilds due to the new defaults being applied.


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.

github-actions[bot]

This comment was marked as outdated.

@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from 52f2e60 to e6cf7c8 Compare January 24, 2026 19:48
@github-actions github-actions Bot dismissed their stale review January 24, 2026 19:49

Review dismissed automatically

@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from e6cf7c8 to abcec42 Compare January 24, 2026 19:50
@nixpkgs-ci nixpkgs-ci Bot added 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux. 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. labels Jan 24, 2026
@qweered qweered changed the title [TEST] by-name: progressively extend defaults (rebased to master) by-name-overlay: enable structuredAttrs, strictDeps and parallelBuilding for some directories Jan 24, 2026
@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from 33a043b to ec4dd07 Compare January 24, 2026 23:11
@nixpkgs-ci nixpkgs-ci Bot added the 6.topic: python Python is a high-level, general-purpose programming language. label Jan 24, 2026
@qweered qweered force-pushed the by-name-progressive-enhancment-test branch 3 times, most recently from f19587a to 61d2dca Compare January 25, 2026 00:28
@qweered qweered marked this pull request as ready for review January 25, 2026 00:28
@nixpkgs-ci nixpkgs-ci Bot added the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Jan 25, 2026
@nixpkgs-ci nixpkgs-ci Bot removed the 9.needs: reviewer This PR currently has no reviewers requested and needs attention. label Jan 25, 2026
@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from 61d2dca to af6e82d Compare January 25, 2026 08:02
@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from 1ef2cc1 to af09e57 Compare January 25, 2026 22:24
@nixpkgs-ci nixpkgs-ci Bot removed the 6.topic: python Python is a high-level, general-purpose programming language. label Jan 25, 2026
@qweered
Copy link
Copy Markdown
Contributor Author

qweered commented Jan 25, 2026

nixpkgs-review result

Generated using nixpkgs-review-gha

Command: nixpkgs-review pr 483445
Commit: af09e57808d93496a927abe628e89a46749b1ed9 (subsequent changes)
Merge: d09c6e7139367047da61d16ad34afc32a1a5dce6

Logs: https://github.com/qweered/nixpkgs-review-gha/actions/runs/21340639023


x86_64-linux

⏩ 2 packages marked as broken and skipped:
  • nexusmods-app
  • nexusmods-app-unfree
❌ 3 packages failed to build:
  • _20kly
  • _86Box
  • _86Box-with-roms
✅ 297 packages built:
  • _010editor
  • _0x
  • _0xffff
  • _0xpropo
  • _0xproto
  • _1fps
  • _1oom
  • _1oom.doc
  • _1password-cli
  • _1password-gui
  • _1password-gui-beta
  • _2048-in-terminal
  • _2ship2harkinian
  • _3270font
  • _389-ds-base
  • _3cpio
  • _3llo
  • _3mux
  • _3proxy
  • _4d-minesweeper
  • _4th
  • _4th.man
  • _4ti2
  • _64gram
  • _64tass
  • _6tunnel
  • _7-segment-font
  • _7kaa
  • _7z2hashcat
  • _7zz
  • _7zz-rar
  • _90secondportraits
  • _915resolution
  • _9base
  • _9base.man
  • _9base.troff
  • _9menu
  • _9pfs
  • _9ptls
  • a-keys-path
  • adminer
  • agorakit
  • ayugram-desktop
  • baikal
  • bookstack
  • composer-require-checker
  • davis
  • deployer
  • drupal
  • engelsystem
  • firefly-iii
  • firefly-iii-data-importer
  • flarum
  • freeipa
  • gamma-launcher
  • gamma-launcher.dist
  • gearlever
  • grocy
  • kdePackages.bomber
  • kdePackages.bomber.debug
  • kdePackages.bomber.dev
  • kdePackages.bomber.devtools
  • kdePackages.bovo
  • kdePackages.bovo.debug
  • kdePackages.bovo.dev
  • kdePackages.bovo.devtools
  • kdePackages.granatier
  • kdePackages.granatier.debug
  • kdePackages.granatier.dev
  • kdePackages.granatier.devtools
  • kdePackages.kapman
  • kdePackages.kapman.debug
  • kdePackages.kapman.dev
  • kdePackages.kapman.devtools
  • kdePackages.katomic
  • kdePackages.katomic.debug
  • kdePackages.katomic.dev
  • kdePackages.katomic.devtools
  • kdePackages.kblackbox
  • kdePackages.kblackbox.debug
  • kdePackages.kblackbox.dev
  • kdePackages.kblackbox.devtools
  • kdePackages.kblocks
  • kdePackages.kblocks.debug
  • kdePackages.kblocks.dev
  • kdePackages.kblocks.devtools
  • kdePackages.kbounce
  • kdePackages.kbounce.debug
  • kdePackages.kbounce.dev
  • kdePackages.kbounce.devtools
  • kdePackages.kbreakout
  • kdePackages.kbreakout.debug
  • kdePackages.kbreakout.dev
  • kdePackages.kbreakout.devtools
  • kdePackages.kdiamond
  • kdePackages.kdiamond.debug
  • kdePackages.kdiamond.dev
  • kdePackages.kdiamond.devtools
  • kdePackages.kfourinline
  • kdePackages.kfourinline.debug
  • kdePackages.kfourinline.dev
  • kdePackages.kfourinline.devtools
  • kdePackages.kgoldrunner
  • kdePackages.kgoldrunner.debug
  • kdePackages.kgoldrunner.dev
  • kdePackages.kgoldrunner.devtools
  • kdePackages.kigo
  • kdePackages.kigo.debug
  • kdePackages.kigo.dev
  • kdePackages.kigo.devtools
  • kdePackages.killbots
  • kdePackages.killbots.debug
  • kdePackages.killbots.dev
  • kdePackages.killbots.devtools
  • kdePackages.kiriki
  • kdePackages.kiriki.debug
  • kdePackages.kiriki.dev
  • kdePackages.kiriki.devtools
  • kdePackages.kjumpingcube
  • kdePackages.kjumpingcube.debug
  • kdePackages.kjumpingcube.dev
  • kdePackages.kjumpingcube.devtools
  • kdePackages.klickety
  • kdePackages.klickety.debug
  • kdePackages.klickety.dev
  • kdePackages.klickety.devtools
  • kdePackages.klines
  • kdePackages.klines.debug
  • kdePackages.klines.dev
  • kdePackages.klines.devtools
  • kdePackages.kmahjongg
  • kdePackages.kmahjongg.debug
  • kdePackages.kmahjongg.dev
  • kdePackages.kmahjongg.devtools
  • kdePackages.kmines
  • kdePackages.kmines.debug
  • kdePackages.kmines.dev
  • kdePackages.kmines.devtools
  • kdePackages.knavalbattle
  • kdePackages.knavalbattle.debug
  • kdePackages.knavalbattle.dev
  • kdePackages.knavalbattle.devtools
  • kdePackages.knetwalk
  • kdePackages.knetwalk.debug
  • kdePackages.knetwalk.dev
  • kdePackages.knetwalk.devtools
  • kdePackages.knights
  • kdePackages.knights.debug
  • kdePackages.knights.dev
  • kdePackages.knights.devtools
  • kdePackages.kolf
  • kdePackages.kolf.debug
  • kdePackages.kolf.dev
  • kdePackages.kolf.devtools
  • kdePackages.kollision
  • kdePackages.kollision.debug
  • kdePackages.kollision.dev
  • kdePackages.kollision.devtools
  • kdePackages.konquest
  • kdePackages.konquest.debug
  • kdePackages.konquest.dev
  • kdePackages.konquest.devtools
  • kdePackages.kpat
  • kdePackages.kpat.debug
  • kdePackages.kpat.dev
  • kdePackages.kpat.devtools
  • kdePackages.kreversi
  • kdePackages.kreversi.debug
  • kdePackages.kreversi.dev
  • kdePackages.kreversi.devtools
  • kdePackages.kshisen
  • kdePackages.kshisen.debug
  • kdePackages.kshisen.dev
  • kdePackages.kshisen.devtools
  • kdePackages.ksirk
  • kdePackages.ksirk.debug
  • kdePackages.ksirk.dev
  • kdePackages.ksirk.devtools
  • kdePackages.ksnakeduel
  • kdePackages.ksnakeduel.debug
  • kdePackages.ksnakeduel.dev
  • kdePackages.ksnakeduel.devtools
  • kdePackages.kspaceduel
  • kdePackages.kspaceduel.debug
  • kdePackages.kspaceduel.dev
  • kdePackages.kspaceduel.devtools
  • kdePackages.ksquares
  • kdePackages.ksquares.debug
  • kdePackages.ksquares.dev
  • kdePackages.ksquares.devtools
  • kdePackages.ksudoku
  • kdePackages.ksudoku.debug
  • kdePackages.ksudoku.dev
  • kdePackages.ksudoku.devtools
  • kdePackages.ktuberling
  • kdePackages.ktuberling.debug
  • kdePackages.ktuberling.dev
  • kdePackages.ktuberling.devtools
  • kdePackages.kubrick
  • kdePackages.kubrick.debug
  • kdePackages.kubrick.dev
  • kdePackages.kubrick.devtools
  • kdePackages.libkdegames
  • kdePackages.libkdegames.debug
  • kdePackages.libkdegames.dev
  • kdePackages.libkdegames.devtools
  • kdePackages.libkmahjongg
  • kdePackages.libkmahjongg.debug
  • kdePackages.libkmahjongg.dev
  • kdePackages.libkmahjongg.devtools
  • kdePackages.lskat
  • kdePackages.lskat.debug
  • kdePackages.lskat.dev
  • kdePackages.lskat.devtools
  • kdePackages.palapeli
  • kdePackages.palapeli.debug
  • kdePackages.palapeli.dev
  • kdePackages.palapeli.devtools
  • kdePackages.picmi
  • kdePackages.picmi.debug
  • kdePackages.picmi.dev
  • kdePackages.picmi.devtools
  • kdePackages.skladnik
  • kdePackages.skladnik.debug
  • kdePackages.skladnik.dev
  • kdePackages.skladnik.devtools
  • kimai
  • kotatogram-desktop
  • laravel
  • librenms
  • materialgram
  • movim
  • n98-magerun2
  • paratest
  • part-db
  • pdepend
  • peazip
  • pest
  • phel
  • phpPackages.box (php82Packages.box)
  • php82Packages.castor
  • php82Packages.composer
  • php82Packages.composer-local-repo-plugin
  • php82Packages.cyclonedx-php-composer
  • php82Packages.grumphp
  • php82Packages.phan
  • php82Packages.phing
  • php82Packages.phive
  • php82Packages.php-codesniffer
  • php82Packages.php-cs-fixer
  • php82Packages.php-parallel-lint
  • php82Packages.phpinsights
  • php82Packages.phpmd
  • php82Packages.psalm
  • php83Packages.castor
  • php83Packages.composer
  • php83Packages.composer-local-repo-plugin
  • php83Packages.cyclonedx-php-composer
  • php83Packages.grumphp
  • php83Packages.phan
  • php83Packages.phing
  • php83Packages.phive
  • php83Packages.php-codesniffer
  • php83Packages.php-cs-fixer
  • php83Packages.php-parallel-lint
  • php83Packages.phpinsights
  • php83Packages.phpmd
  • php83Packages.psalm
  • phpPackages.castor (php84Packages.castor)
  • phpPackages.composer (php84Packages.composer)
  • phpPackages.composer-local-repo-plugin (php84Packages.composer-local-repo-plugin)
  • phpPackages.cyclonedx-php-composer (php84Packages.cyclonedx-php-composer)
  • phpPackages.grumphp (php84Packages.grumphp)
  • phpPackages.phan (php84Packages.phan)
  • phpPackages.phing (php84Packages.phing)
  • phpPackages.phive (php84Packages.phive)
  • phpPackages.php-codesniffer (php84Packages.php-codesniffer)
  • phpPackages.php-cs-fixer (php84Packages.php-cs-fixer)
  • phpPackages.php-parallel-lint (php84Packages.php-parallel-lint)
  • phpPackages.phpinsights (php84Packages.phpinsights)
  • phpPackages.phpmd (php84Packages.phpmd)
  • phpPackages.psalm (php84Packages.psalm)
  • phpactor
  • phpdocumentor
  • phpunit
  • pixelfed
  • postfixadmin
  • pretty-php
  • psysh
  • roave-backward-compatibility-check
  • robo
  • snipe-it
  • telegram-desktop
  • vimPlugins.phpactor
  • voicevox
  • yaneuraou
  • yazi

Error logs: `x86_64-linux`
_86Box
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_chips_69000.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_cl54xx.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_et3000.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_et4000.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_et4000w32.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_ht216.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_oak_oti.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_paradise.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_rtg310x.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_ti_cf62011.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_f82c425.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_tvga.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_tgui9440.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_s3.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_s3_virge.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_mga.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/nv/nv_rivatimer.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_bochs_vbe.c.o
[ 89%] Built target vid
make: *** [Makefile:156: all] Error 2
_86Box-with-roms
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_chips_69000.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_cl54xx.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_et3000.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_et4000.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_et4000w32.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_ht216.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_oak_oti.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_paradise.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_rtg310x.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_f82c425.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_ti_cf62011.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_tvga.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_tgui9440.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_s3.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_s3_virge.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_mga.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/nv/nv_rivatimer.c.o
[ 89%] Building C object src/video/CMakeFiles/vid.dir/vid_bochs_vbe.c.o
[ 89%] Built target vid
make: *** [Makefile:156: all] Error 2

aarch64-linux

⏩ 2 packages marked as broken and skipped:
  • nexusmods-app
  • nexusmods-app-unfree
❌ 2 packages failed to build:
  • _20kly
  • _86Box
✅ 293 packages built:
  • _0x
  • _0xffff
  • _0xpropo
  • _0xproto
  • _1fps
  • _1oom
  • _1oom.doc
  • _1password-cli
  • _1password-gui
  • _1password-gui-beta
  • _2048-in-terminal
  • _3270font
  • _389-ds-base
  • _3cpio
  • _3llo
  • _3mux
  • _3proxy
  • _4d-minesweeper
  • _4th
  • _4th.man
  • _4ti2
  • _64gram
  • _64tass
  • _6tunnel
  • _7-segment-font
  • _7kaa
  • _7z2hashcat
  • _7zz
  • _7zz-rar
  • _90secondportraits
  • _9base
  • _9base.man
  • _9base.troff
  • _9menu
  • _9pfs
  • _9ptls
  • adminer
  • agorakit
  • ayugram-desktop
  • baikal
  • bookstack
  • composer-require-checker
  • davis
  • deployer
  • drupal
  • engelsystem
  • firefly-iii
  • firefly-iii-data-importer
  • flarum
  • freeipa
  • gamma-launcher
  • gamma-launcher.dist
  • gearlever
  • grocy
  • kdePackages.bomber
  • kdePackages.bomber.debug
  • kdePackages.bomber.dev
  • kdePackages.bomber.devtools
  • kdePackages.bovo
  • kdePackages.bovo.debug
  • kdePackages.bovo.dev
  • kdePackages.bovo.devtools
  • kdePackages.granatier
  • kdePackages.granatier.debug
  • kdePackages.granatier.dev
  • kdePackages.granatier.devtools
  • kdePackages.kapman
  • kdePackages.kapman.debug
  • kdePackages.kapman.dev
  • kdePackages.kapman.devtools
  • kdePackages.katomic
  • kdePackages.katomic.debug
  • kdePackages.katomic.dev
  • kdePackages.katomic.devtools
  • kdePackages.kblackbox
  • kdePackages.kblackbox.debug
  • kdePackages.kblackbox.dev
  • kdePackages.kblackbox.devtools
  • kdePackages.kblocks
  • kdePackages.kblocks.debug
  • kdePackages.kblocks.dev
  • kdePackages.kblocks.devtools
  • kdePackages.kbounce
  • kdePackages.kbounce.debug
  • kdePackages.kbounce.dev
  • kdePackages.kbounce.devtools
  • kdePackages.kbreakout
  • kdePackages.kbreakout.debug
  • kdePackages.kbreakout.dev
  • kdePackages.kbreakout.devtools
  • kdePackages.kdiamond
  • kdePackages.kdiamond.debug
  • kdePackages.kdiamond.dev
  • kdePackages.kdiamond.devtools
  • kdePackages.kfourinline
  • kdePackages.kfourinline.debug
  • kdePackages.kfourinline.dev
  • kdePackages.kfourinline.devtools
  • kdePackages.kgoldrunner
  • kdePackages.kgoldrunner.debug
  • kdePackages.kgoldrunner.dev
  • kdePackages.kgoldrunner.devtools
  • kdePackages.kigo
  • kdePackages.kigo.debug
  • kdePackages.kigo.dev
  • kdePackages.kigo.devtools
  • kdePackages.killbots
  • kdePackages.killbots.debug
  • kdePackages.killbots.dev
  • kdePackages.killbots.devtools
  • kdePackages.kiriki
  • kdePackages.kiriki.debug
  • kdePackages.kiriki.dev
  • kdePackages.kiriki.devtools
  • kdePackages.kjumpingcube
  • kdePackages.kjumpingcube.debug
  • kdePackages.kjumpingcube.dev
  • kdePackages.kjumpingcube.devtools
  • kdePackages.klickety
  • kdePackages.klickety.debug
  • kdePackages.klickety.dev
  • kdePackages.klickety.devtools
  • kdePackages.klines
  • kdePackages.klines.debug
  • kdePackages.klines.dev
  • kdePackages.klines.devtools
  • kdePackages.kmahjongg
  • kdePackages.kmahjongg.debug
  • kdePackages.kmahjongg.dev
  • kdePackages.kmahjongg.devtools
  • kdePackages.kmines
  • kdePackages.kmines.debug
  • kdePackages.kmines.dev
  • kdePackages.kmines.devtools
  • kdePackages.knavalbattle
  • kdePackages.knavalbattle.debug
  • kdePackages.knavalbattle.dev
  • kdePackages.knavalbattle.devtools
  • kdePackages.knetwalk
  • kdePackages.knetwalk.debug
  • kdePackages.knetwalk.dev
  • kdePackages.knetwalk.devtools
  • kdePackages.knights
  • kdePackages.knights.debug
  • kdePackages.knights.dev
  • kdePackages.knights.devtools
  • kdePackages.kolf
  • kdePackages.kolf.debug
  • kdePackages.kolf.dev
  • kdePackages.kolf.devtools
  • kdePackages.kollision
  • kdePackages.kollision.debug
  • kdePackages.kollision.dev
  • kdePackages.kollision.devtools
  • kdePackages.konquest
  • kdePackages.konquest.debug
  • kdePackages.konquest.dev
  • kdePackages.konquest.devtools
  • kdePackages.kpat
  • kdePackages.kpat.debug
  • kdePackages.kpat.dev
  • kdePackages.kpat.devtools
  • kdePackages.kreversi
  • kdePackages.kreversi.debug
  • kdePackages.kreversi.dev
  • kdePackages.kreversi.devtools
  • kdePackages.kshisen
  • kdePackages.kshisen.debug
  • kdePackages.kshisen.dev
  • kdePackages.kshisen.devtools
  • kdePackages.ksirk
  • kdePackages.ksirk.debug
  • kdePackages.ksirk.dev
  • kdePackages.ksirk.devtools
  • kdePackages.ksnakeduel
  • kdePackages.ksnakeduel.debug
  • kdePackages.ksnakeduel.dev
  • kdePackages.ksnakeduel.devtools
  • kdePackages.kspaceduel
  • kdePackages.kspaceduel.debug
  • kdePackages.kspaceduel.dev
  • kdePackages.kspaceduel.devtools
  • kdePackages.ksquares
  • kdePackages.ksquares.debug
  • kdePackages.ksquares.dev
  • kdePackages.ksquares.devtools
  • kdePackages.ksudoku
  • kdePackages.ksudoku.debug
  • kdePackages.ksudoku.dev
  • kdePackages.ksudoku.devtools
  • kdePackages.ktuberling
  • kdePackages.ktuberling.debug
  • kdePackages.ktuberling.dev
  • kdePackages.ktuberling.devtools
  • kdePackages.kubrick
  • kdePackages.kubrick.debug
  • kdePackages.kubrick.dev
  • kdePackages.kubrick.devtools
  • kdePackages.libkdegames
  • kdePackages.libkdegames.debug
  • kdePackages.libkdegames.dev
  • kdePackages.libkdegames.devtools
  • kdePackages.libkmahjongg
  • kdePackages.libkmahjongg.debug
  • kdePackages.libkmahjongg.dev
  • kdePackages.libkmahjongg.devtools
  • kdePackages.lskat
  • kdePackages.lskat.debug
  • kdePackages.lskat.dev
  • kdePackages.lskat.devtools
  • kdePackages.palapeli
  • kdePackages.palapeli.debug
  • kdePackages.palapeli.dev
  • kdePackages.palapeli.devtools
  • kdePackages.picmi
  • kdePackages.picmi.debug
  • kdePackages.picmi.dev
  • kdePackages.picmi.devtools
  • kdePackages.skladnik
  • kdePackages.skladnik.debug
  • kdePackages.skladnik.dev
  • kdePackages.skladnik.devtools
  • kimai
  • kotatogram-desktop
  • laravel
  • librenms
  • materialgram
  • movim
  • n98-magerun2
  • paratest
  • part-db
  • pdepend
  • peazip
  • pest
  • phel
  • phpPackages.box (php82Packages.box)
  • php82Packages.castor
  • php82Packages.composer
  • php82Packages.composer-local-repo-plugin
  • php82Packages.cyclonedx-php-composer
  • php82Packages.grumphp
  • php82Packages.phan
  • php82Packages.phing
  • php82Packages.phive
  • php82Packages.php-codesniffer
  • php82Packages.php-cs-fixer
  • php82Packages.php-parallel-lint
  • php82Packages.phpinsights
  • php82Packages.phpmd
  • php82Packages.psalm
  • php83Packages.castor
  • php83Packages.composer
  • php83Packages.composer-local-repo-plugin
  • php83Packages.cyclonedx-php-composer
  • php83Packages.grumphp
  • php83Packages.phan
  • php83Packages.phing
  • php83Packages.phive
  • php83Packages.php-codesniffer
  • php83Packages.php-cs-fixer
  • php83Packages.php-parallel-lint
  • php83Packages.phpinsights
  • php83Packages.phpmd
  • php83Packages.psalm
  • phpPackages.castor (php84Packages.castor)
  • phpPackages.composer (php84Packages.composer)
  • phpPackages.composer-local-repo-plugin (php84Packages.composer-local-repo-plugin)
  • phpPackages.cyclonedx-php-composer (php84Packages.cyclonedx-php-composer)
  • phpPackages.grumphp (php84Packages.grumphp)
  • phpPackages.phan (php84Packages.phan)
  • phpPackages.phing (php84Packages.phing)
  • phpPackages.phive (php84Packages.phive)
  • phpPackages.php-codesniffer (php84Packages.php-codesniffer)
  • phpPackages.php-cs-fixer (php84Packages.php-cs-fixer)
  • phpPackages.php-parallel-lint (php84Packages.php-parallel-lint)
  • phpPackages.phpinsights (php84Packages.phpinsights)
  • phpPackages.phpmd (php84Packages.phpmd)
  • phpPackages.psalm (php84Packages.psalm)
  • phpactor
  • phpdocumentor
  • phpunit
  • pixelfed
  • postfixadmin
  • pretty-php
  • psysh
  • roave-backward-compatibility-check
  • robo
  • snipe-it
  • telegram-desktop
  • vimPlugins.phpactor
  • voicevox
  • yaneuraou
  • yazi

Error logs: `aarch64-linux`
_86Box
[ 86%] Building C object src/video/CMakeFiles/vid.dir/vid_chips_69000.c.o
[ 86%] Building C object src/video/CMakeFiles/vid.dir/vid_cl54xx.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_et3000.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_et4000.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_et4000w32.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_ht216.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_oak_oti.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_paradise.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_rtg310x.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_f82c425.c.o
[ 87%] Building C object src/video/CMakeFiles/vid.dir/vid_ti_cf62011.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_tvga.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_tgui9440.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_s3.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_s3_virge.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_mga.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/nv/nv_rivatimer.c.o
[ 88%] Building C object src/video/CMakeFiles/vid.dir/vid_bochs_vbe.c.o
[ 88%] Built target vid
make: *** [Makefile:156: all] Error 2

aarch64-darwin (sandbox = false)

❌ 8 packages failed to build:
  • _20kly
  • airbuddy
  • caido
  • jprofiler
  • macos-instantview
  • perlPackages.DBDOracle (perl5Packages.DBDOracle)
  • perlPackages.DBDOracle.devdoc (perl5Packages.DBDOracle.devdoc)
  • roam-research
✅ 141 packages built:
  • _010editor
  • _0x
  • _0xpropo
  • _0xproto
  • _1fps
  • _1password-cli
  • _1password-gui
  • _1password-gui-beta
  • _2048-in-terminal
  • _3270font
  • _3llo
  • _3mux
  • _4th
  • _4th.man
  • _4ti2
  • _64gram
  • _6tunnel
  • _7-segment-font
  • _7kaa
  • _7z2hashcat
  • _7zz
  • _7zz-rar
  • _86Box
  • _86Box-with-roms
  • _9menu
  • _9pfs
  • adminer
  • agorakit
  • aldente
  • ayugram-desktop
  • baikal
  • bartender
  • bbedit
  • bookstack
  • composer-require-checker
  • davis
  • dbgate
  • deployer
  • drupal
  • engelsystem
  • firefly-iii-data-importer
  • flarum
  • ghostty-bin
  • ghostty-bin.man
  • ghostty-bin.shell_integration
  • ghostty-bin.terminfo
  • ghostty-bin.vim
  • grocy
  • hamrs
  • hamrs-pro
  • kimai
  • kotatogram-desktop
  • laravel
  • losslesscut-bin
  • lunar
  • macskk
  • materialgram
  • meetingbar
  • movim
  • n98-magerun2
  • nosql-workbench
  • notesnook
  • obsidian
  • orbstack
  • paperlib
  • paratest
  • pdepend
  • pest
  • phel
  • php82Extensions.oci8
  • php82Extensions.pdo_oci
  • phpPackages.box (php82Packages.box)
  • php82Packages.castor
  • php82Packages.composer
  • php82Packages.composer-local-repo-plugin
  • php82Packages.cyclonedx-php-composer
  • php82Packages.grumphp
  • php82Packages.phan
  • php82Packages.phing
  • php82Packages.phive
  • php82Packages.php-codesniffer
  • php82Packages.php-cs-fixer
  • php82Packages.php-parallel-lint
  • php82Packages.phpinsights
  • php82Packages.phpmd
  • php82Packages.psalm
  • php83Extensions.oci8
  • php83Extensions.pdo_oci
  • php83Packages.castor
  • php83Packages.composer
  • php83Packages.composer-local-repo-plugin
  • php83Packages.cyclonedx-php-composer
  • php83Packages.grumphp
  • php83Packages.phan
  • php83Packages.phing
  • php83Packages.phive
  • php83Packages.php-codesniffer
  • php83Packages.php-cs-fixer
  • php83Packages.php-parallel-lint
  • php83Packages.phpinsights
  • php83Packages.phpmd
  • php83Packages.psalm
  • phpExtensions.oci8 (php84Extensions.oci8)
  • phpExtensions.pdo_oci (php84Extensions.pdo_oci)
  • phpPackages.castor (php84Packages.castor)
  • phpPackages.composer (php84Packages.composer)
  • phpPackages.composer-local-repo-plugin (php84Packages.composer-local-repo-plugin)
  • phpPackages.cyclonedx-php-composer (php84Packages.cyclonedx-php-composer)
  • phpPackages.grumphp (php84Packages.grumphp)
  • phpPackages.phan (php84Packages.phan)
  • phpPackages.phing (php84Packages.phing)
  • phpPackages.phive (php84Packages.phive)
  • phpPackages.php-codesniffer (php84Packages.php-codesniffer)
  • phpPackages.php-cs-fixer (php84Packages.php-cs-fixer)
  • phpPackages.php-parallel-lint (php84Packages.php-parallel-lint)
  • phpPackages.phpinsights (php84Packages.phpinsights)
  • phpPackages.phpmd (php84Packages.phpmd)
  • phpPackages.psalm (php84Packages.psalm)
  • phpactor
  • phpdocumentor
  • phpunit
  • pixelfed
  • positron-bin
  • postfixadmin
  • pretty-php
  • protonmail-desktop
  • psysh
  • quba
  • quiet
  • roave-backward-compatibility-check
  • robo
  • signal-desktop-bin
  • snipe-it
  • tableplus
  • telegram-desktop
  • unnaturalscrollwheels
  • vimPlugins.phpactor
  • voicevox
  • wechat
  • yaneuraou
  • yazi

Error logs: `aarch64-darwin`
jprofiler
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.security.jgss/ASSEMBLY_EXCEPTION : ../java.base/ASSEMBLY_EXCEPTION
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.security.jgss/LICENSE : ../java.base/LICENSE
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.unsupported/ADDITIONAL_LICENSE_INFO : ../java.base/ADDITIONAL_LICENSE_INFO
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.unsupported/ASSEMBLY_EXCEPTION : ../java.base/ASSEMBLY_EXCEPTION
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.unsupported/LICENSE : ../java.base/LICENSE
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.unsupported.desktop/ADDITIONAL_LICENSE_INFO : ../java.base/ADDITIONAL_LICENSE_INFO
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.unsupported.desktop/ASSEMBLY_EXCEPTION : ../java.base/ASSEMBLY_EXCEPTION
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.unsupported.desktop/LICENSE : ../java.base/LICENSE
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.xml.dom/ADDITIONAL_LICENSE_INFO : ../java.base/ADDITIONAL_LICENSE_INFO
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.xml.dom/ASSEMBLY_EXCEPTION : ../java.base/ASSEMBLY_EXCEPTION
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.xml.dom/LICENSE : ../java.base/LICENSE
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.zipfs/ADDITIONAL_LICENSE_INFO : ../java.base/ADDITIONAL_LICENSE_INFO
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.zipfs/ASSEMBLY_EXCEPTION : ../java.base/ASSEMBLY_EXCEPTION
ERROR: Dangerous link path was ignored : JProfiler/JProfiler.app/Contents/Resources/jre.bundle/Contents/Home/legal/jdk.zipfs/LICENSE : ../java.base/LICENSE

Sub items Errors: 142

Archives with Errors: 1

Sub items Errors: 142

macos-instantview
Files: 263
Alternate Streams: 3
Alternate Streams Size: 70
Size:       8987623
Compressed: 4361672
Running phase: fixupPhase
@nix { "action": "setPhase", "phase": "fixupPhase" }
checking for references to /nix/build/nix-15227-249552977/ in /nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002...
patching script interpreter paths in /nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/smichangeAppsPermission: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/smiLoginExtensionInstall: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/remove: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/smiLoginExtensionInstallForAdmin: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/reboot: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/smichangePermission: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/collectInstantView: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/collectDriver: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
/nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/macOS InstantView.app/Contents/Resources/smiLoginExtensionUninstall: interpreter directive changed from "#!/bin/sh" to "/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/sh"
ERROR: noBrokenSymlinks: the symlink /nix/store/csmqn1vdvw7c87n5d1fgv51brxdn12rs-instantview-3.22R0002/Applications/Applications points to /nix/build/nix-15227-249552977 directory: /nix/build/nix-15227-249552977/extracted/Applications
ERROR: noBrokenSymlinks: found 1 dangling symlinks, 0 reflexive symlinks and 0 unreadable symlinks
perlPackages.DBDOracle
/nix/store/8pk2m0fn7z5dlb86z5qlv1pxa8w68idx-apple-sdk-14.4/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:3: note: expanded from macro 'sprintf'
   47 |   __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
      |   ^
oci8.c:2340:4: warning: 'sprintf' will always overflow; destination buffer has size 3, but format string expands to at least 4 [-Wformat-overflow]
 2340 |                         sprintf(s_tz_min,":%02d", tz_minute);
      |                         ^
/nix/store/8pk2m0fn7z5dlb86z5qlv1pxa8w68idx-apple-sdk-14.4/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/secure/_stdio.h:47:3: note: expanded from macro 'sprintf'
   47 |   __builtin___sprintf_chk (str, 0, __darwin_obsz(str), __VA_ARGS__)
      |   ^
4 warnings generated.
rm -f blib/arch/auto/DBD/Oracle/Oracle.bundle
LD_RUN_PATH="/nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib" clang -Wl,-rpath,"/nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib" -bundle -undefined dynamic_lookup -mmacosx-version-min=14.0 -L/no-such-path/lib -fstack-protector-strong  Oracle.o dbdimp.o oci8.o  -o blib/arch/auto/DBD/Oracle/Oracle.bundle  \
   -L/nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib -Wl,-rpath,/nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib -lclntsh   \

chmod 755 blib/arch/auto/DBD/Oracle/Oracle.bundle
nmedit -R ./hints/macos_bundle.syms blib/arch/auto/DBD/Oracle/Oracle.bundle || true
/nix/store/vlfjhc9730i65q1xhzf51kzh58s9kxnp-bash-5.3p9/bin/bash: line 1: nmedit: command not found
Manifying 13 pod documents
error: install_name_tool: for: blib/arch/auto/DBD/Oracle/Oracle.bundle (for architecture arm64) option "-add_rpath /nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib" would duplicate path, file already has LC_RPATH for: /nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib
error: install_name_tool: for: blib/arch/auto/DBD/Oracle/Oracle.bundle (for architecture arm64) option "-add_rpath /nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib" would duplicate path, file already has LC_RPATH for: /nix/store/zg79zrmk46ay7mz77cbmcvrqs6mmrk3g-oracle-instantclient-23.3.0.23.09-lib/lib

@qweered
Copy link
Copy Markdown
Contributor Author

qweered commented Jan 26, 2026

Failures are pre existing:
_86box: https://hydra.nixos.org/build/319696044
_20kly: https://hydra.nixos.org/build/319696146

@qweered qweered added the 0.kind: enhancement Add something new or improve an existing system. label Jan 26, 2026
@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from af09e57 to b84046c Compare January 26, 2026 06:59
@qweered qweered mentioned this pull request Jan 26, 2026
13 tasks
@SFrijters
Copy link
Copy Markdown
Member

Love to see those features (__structuredAttrs in particular) moving forward!

From a somewhat selfish perspective: I'm working in the same space, but I'm updating packages in a "by-subject" fashion rather than alphabetically, and I'm a bit worried if I/we will run into (even) more merge conflicts for treewide updates vs fixes for a newly enabled range.

I have no actual useful review comment on the implementation though; I'll leave that to my betters.

@qweered
Copy link
Copy Markdown
Contributor Author

qweered commented Jan 26, 2026

your changes will greatlly reduce amount of rebuilds and will not really conflict with mine, i'll first pickup directories with least amount of rebuilds. __structuredAttrs = true also can be kept for the time being in derivations

@qweered qweered force-pushed the by-name-progressive-enhancment-test branch from b84046c to 617ff5b Compare January 26, 2026 18:06
@jopejoe1
Copy link
Copy Markdown
Member

jopejoe1 commented Jan 26, 2026

This makes moving packages from all-packages.nix to pkgs/by-name harder for affected ranges, as it will trigger rebuilds due to the new defaults being applied.

This seems blocking; no rebuilds is one of the indicators that a by-name movement was done correctly. I also really don't want to have by-name movement PRs that need to go through a staging cycle.

@philiptaron
Copy link
Copy Markdown
Contributor

Agree with @jopejoe1 that we shouldn't gate the by-name migration on this separate migration. I do like the various fixes to packages to modernize and enable these attributes.

@uninsane
Copy link
Copy Markdown
Contributor

nixpkgs-vet seems like the right tool to use for this kind of thing. e.g. NixOS/nixpkgs-vet#172 or a rule like "once a derivation has strictDeps set, don't allow it to be unset".

@infinisil
Copy link
Copy Markdown
Member

Yeah as @uninsane mentioned, this is something for nixpkgs-vet ratchet check

Copy link
Copy Markdown
Contributor

@philiptaron philiptaron left a comment

Choose a reason for hiding this comment

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

Requesting changes for the overlay / ratchet stuff, nothing else.

@qweered
Copy link
Copy Markdown
Contributor Author

qweered commented Jan 28, 2026

I aggree that check for new packages should be implemented via nixpkgs-vet, but what about existing packages? I think its a nice way to do that in overlay instead of every derivation. Yeah also we can't have rebuilds during migration to by-name, good news that there < 2000 packages to be migrated to by-name left

@philiptaron
Copy link
Copy Markdown
Contributor

good news that there < 2000 packages to be migrated to by-name left

Great. Let's get that to a spot where we can set it down.

I think its a nice way to do that in overlay instead of every derivation.

It's too arbitrary. Why would one package have one set of rules and the other not, just because of its name?! We need to enforce the real rule, which is that we want to make strictDep = true the default, and we do it by "ratcheting" packages forward. This isn't the way.

@nixpkgs-ci nixpkgs-ci Bot added the 2.status: merge conflict This PR has merge conflicts with the target branch label Jan 28, 2026
@qweered qweered marked this pull request as draft January 31, 2026 12:44
@qweered qweered mentioned this pull request Jan 31, 2026
13 tasks
@philiptaron
Copy link
Copy Markdown
Contributor

To be clear @qweered I would merge these commits sans the overlay change. I really appreciate the work.

@RossSmyth
Copy link
Copy Markdown
Contributor

and we do it by "ratcheting" packages forward. This isn't the way.

Then what is? People have zero incentive to do this ratchet unless they are forced. While there is a movement to enable this manually for packages, this is an effort by a small amount of people. If the config option to make it the default ever has a chance to be enabled, there needs to be some way to encourage people beyond just smiling and saying "well that would be nice :)"

I don't see how moving from not by-name to by-name is blocking, since you can just enable these attributes then move the packages.

@tobim
Copy link
Copy Markdown
Contributor

tobim commented Mar 8, 2026

Implemented ratchets for __structuredAttrs and strictsDeps in NixOS/nixpkgs-vet#203.

I left out enableParallelBuilding. We can't be strict with regards to that because that would increase the barrier of entry too much, and I'd rather have reproducible outputs in case the two are in conflict.

@tobim
Copy link
Copy Markdown
Contributor

tobim commented Apr 1, 2026

Now that the ratchet is merged, we might actually go a step further and add a feature to the auto-updater bot to try to insert these attributes for package sets where they aren't the default and not yet present in the package attr already.

wdyt?

@philiptaron
Copy link
Copy Markdown
Contributor

@tobim We gotta get the thing updated in a new ci/pinned -- @mdaniels5757 has been trying to make that happen but he could use a hand.

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

Labels

0.kind: enhancement Add something new or improve an existing system. 2.status: merge conflict This PR has merge conflicts with the target branch 10.rebuild-darwin: 101-500 This PR causes between 101 and 500 packages to rebuild on Darwin. 10.rebuild-linux: 101-500 This PR causes between 101 and 500 packages to rebuild on Linux.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants