Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
3706 commits
Select commit Hold shift + click to select a range
7a3ea50
build-remote -> nix-build-remote
edolstra Sep 14, 2026
ffc0f68
TODO
edolstra Sep 14, 2026
607449f
nix-daemon: Initialize tracing in setupConnectionTelemetry()
edolstra Sep 14, 2026
3fca637
Fold makeOpenTelemetryLogger() into initOtel()
edolstra Sep 14, 2026
1314f3b
Move the tracing state into OpenTelemetryLogger
edolstra Sep 14, 2026
bbcdd0d
Update TODO
edolstra Sep 14, 2026
6a52c78
build-remote: Apply all of the parent's settings, not just `Settings`
edolstra Sep 14, 2026
40a704d
Set sampling.priority on spans when NIX_DEBUG_OTEL is set
edolstra Sep 14, 2026
39a355e
Don't create spans for log messages received from the build hook
edolstra Sep 14, 2026
19c8c1b
Export telemetry before exec()
edolstra Sep 14, 2026
cda5735
otel.sh: Don't depend on the number of uploads
edolstra Sep 14, 2026
c6781d0
tests/functional: Silence git warning about initial branch name
xokdvium Sep 3, 2026
8d6965d
fetchers/git: bucket rev-pinned negotiation refs by hash prefix
tomberek Sep 6, 2026
8db752f
otel.sh: Request substitution explicitly for the build
edolstra Sep 14, 2026
c57c990
tests/functional/git: cover bucketed negotiation refs
tomberek Sep 6, 2026
489b372
fetchers/git: use shorter refspec in git cache
tomberek Sep 8, 2026
5e4ff50
Merge pull request #628 from DeterminateSystems/eelcodolstra/nix-477
edolstra Sep 14, 2026
1e00612
Merge remote-tracking branch 'detsys/main' into eelcodolstra/nix-379
edolstra Sep 15, 2026
d617f7d
baked-flake.nix: Don't fail on unknown flake outputs
edolstra Sep 15, 2026
283e568
nix flake bake: Add --all-systems flag
edolstra Sep 15, 2026
9ebedeb
tests/functional/flakes: Add test for 'nix flake bake'
edolstra Sep 15, 2026
9cc9d3c
builtins.fakeDerivation: Return outputs with string context
edolstra Sep 15, 2026
8420c09
tests/functional/flakes/bake.sh: Pass --substitute
edolstra Sep 15, 2026
99297e6
Rename builtins.fakeDerivation to builtins.bakedDerivation
edolstra Sep 15, 2026
b1fe63f
nix flake bake: Support outputs with a derivationAttrPath
edolstra Sep 15, 2026
7cd135c
Merge pull request #624 from joshuaspence/fix/nix219-compat-submodules
edolstra Sep 16, 2026
81d0820
Prepare release v3.22.4
github-actions[bot] Sep 16, 2026
167040c
packaging/secure-packages/flake.lock: Update
github-actions[bot] Sep 16, 2026
7e70933
Set .version-determinate to 3.22.4
github-actions[bot] Sep 16, 2026
ed26b9b
Generate release notes for 3.22.4
github-actions[bot] Sep 16, 2026
a90b4a9
tests/functional/flakes/bake.sh: Skip on NixOS
edolstra Sep 16, 2026
605b312
Tweak release notes
edolstra Sep 16, 2026
1c94811
Merge pull request #629 from DeterminateSystems/release-v3.22.4/21473…
detsys-spaghetti[bot] Sep 16, 2026
25bbfd2
nix flake bake: Preserve meta.mainProgram
edolstra Sep 16, 2026
30711c1
DerivationTrampolineGoal: Report built outputs for builtin:substitute
edolstra Sep 16, 2026
de72dca
nix flake bake: Don't assume the default output is 'out'
edolstra Sep 16, 2026
e90ba1b
builtins.bakedDerivation: Don't wait for the derivation to be written
edolstra Sep 16, 2026
17347ee
builtins.bakedDerivation: Document
edolstra Sep 16, 2026
1a9c127
Add 'baked-derivation' experimental feature
edolstra Sep 16, 2026
dd991ef
libutil/serialise: Use zero-copy copy_file_range for copying PosixFil…
xokdvium Mar 4, 2026
22765ab
Use enum values less likely to collide with upstream
edolstra Sep 17, 2026
932c02b
Merge pull request #630 from DeterminateSystems/backport-15410
edolstra Sep 17, 2026
50ee1ad
Prepare release v3.22.5
github-actions[bot] Sep 17, 2026
15012f4
packaging/secure-packages/flake.lock: Update
github-actions[bot] Sep 17, 2026
f0188d3
Set .version-determinate to 3.22.5
github-actions[bot] Sep 17, 2026
77eefcb
Generate release notes for 3.22.5
github-actions[bot] Sep 17, 2026
9b10bc6
Update release notes
cole-h Sep 17, 2026
6468ca4
Merge pull request #631 from DeterminateSystems/release-v3.22.5/1a8c1…
detsys-spaghetti[bot] Sep 17, 2026
60e0bcb
Merge pull request #615 from DeterminateSystems/eelcodolstra/nix-467
edolstra Sep 17, 2026
f2c04f9
nix flake bake: Warn about derivations that cannot be baked
edolstra Sep 18, 2026
52b2dcd
nix flake bake: Document
edolstra Sep 18, 2026
33c6c48
builtins.bakedDerivation: Drop the narHash attribute
edolstra Sep 18, 2026
bfd439d
Check `experimentalFeature()` of nested subcommands
Ericson2314 Jul 17, 2026
19d2b12
nix flake bake: Remove redundant experimental feature check
edolstra Sep 18, 2026
5ad67ee
builtin:substitute: Reject deferred outputs
edolstra Sep 18, 2026
37f616b
builtin:substitute: Check the output types in checkInvariants()
edolstra Sep 18, 2026
eebe128
nix flake bake: Record the system of each derivation
edolstra Sep 18, 2026
a413738
flake-bake.md: Don't claim that drvPath is preserved
edolstra Sep 18, 2026
fad9b62
Rename experimental feature 'baked-derivation' to 'baked-derivations'
edolstra Sep 18, 2026
6e31ab2
nix flake bake: Provide flake schemas in the baked flake
edolstra Sep 18, 2026
9996b32
nix flake bake: Prune the inventory at bake time
edolstra Sep 18, 2026
7028d5d
CLAUDE.md: Note that C++23 features can be used
edolstra Sep 18, 2026
cd0eb2e
builtins.bakedDerivation: Respect read-only mode
edolstra Sep 18, 2026
764f09d
flake-bake.md: Mention that baked flakes provide their own schemas
edolstra Sep 18, 2026
275459c
builtins.appendContext: Wait for the async path writer before ensureP…
edolstra Sep 18, 2026
411bf87
nix flake bake: Don't use the eval cache
edolstra Sep 18, 2026
a849cc3
nix flake bake: Add --read-only
edolstra Sep 18, 2026
0c31e6f
nix flake bake: Keep derivations that cannot be baked as stubs
edolstra Sep 18, 2026
01163e6
Include builtins.bakedDerivation in the manual
edolstra Sep 18, 2026
0030a24
builtins.wasm: Fix crash when copying layered attrsets into Wasm
edolstra Sep 20, 2026
ee053f9
builtins.wasm: Enable the wasmtime compilation cache
edolstra Sep 21, 2026
0cd357d
Update wasmtime to 48.0.2
edolstra Sep 21, 2026
6f77b61
Make the parallel evaluator fiber-based
edolstra Aug 18, 2026
f803227
Make call-depth accounting fiber-aware
edolstra Aug 18, 2026
bb19862
Fix a race on the domain lock in the fiber suspension handshake
edolstra Aug 18, 2026
d6a9925
Pool fiber stacks
edolstra Aug 18, 2026
2cc80ae
Use std::thread with default-sized stacks for the worker threads
edolstra Aug 19, 2026
b38e66a
Use a vector of waiting fibers per value in the waiter domains
edolstra Aug 19, 2026
a2ee8a2
Make garbage collection work with fiber stacks
edolstra Aug 19, 2026
c42ab63
Simplify fiber call-depth accounting using the new CallDepth class
edolstra Aug 19, 2026
8e27657
Make the evaluation context fiber-aware
edolstra Aug 19, 2026
b6db70d
Avoid needless worker wakeups in the executor
edolstra Aug 19, 2026
f23ea3d
Drop randomization of the WorkItem key
edolstra Aug 25, 2026
2ddbf4b
Drop the unused hugepages stuff
edolstra Aug 28, 2026
0b1accd
Fix compatibility with upstream bdwgc
edolstra Aug 28, 2026
1f7bb82
Build bdwgc from a flake input instead of patching the nixpkgs package
edolstra Aug 28, 2026
0af5e54
Use bdwgc's registered stacks for fiber and coroutine scanning
edolstra Sep 14, 2026
c57c2ac
packaging/secure-packages/flake.lock: Update
edolstra Sep 14, 2026
d7d4591
Update the bdwgc input to include Darwin registered-stacks scanning
edolstra Sep 15, 2026
a049f6b
Update the bdwgc input to fix stackstest linking on musl
edolstra Sep 15, 2026
579d1f7
Update the bdwgc input to fix the test suite hang on macOS
edolstra Sep 15, 2026
3dc9a67
builtins.wasm: Add read_file_v2
edolstra Sep 21, 2026
2995532
builtins.wasm: Count guest allocations
edolstra Sep 21, 2026
016ec9e
Merge pull request #633 from DeterminateSystems/wasm-improvements
edolstra Sep 21, 2026
36f42bc
builtins.wasm: Bounds-check all guest memory accesses
edolstra Sep 21, 2026
21bb98c
builtins.wasm: Return the read_file_v2 result as a packed u64
edolstra Sep 21, 2026
f58f4c9
Merge pull request #634 from DeterminateSystems/wasm-improvements
edolstra Sep 21, 2026
763dfc8
Don't use full store paths in examples
edolstra Sep 21, 2026
9681a9f
Merge pull request #450 from DeterminateSystems/eelcodolstra/nix-379
edolstra Sep 21, 2026
c5711cb
Use GC_get_approx_sp() when recording the stack pointer of a stack
edolstra Sep 21, 2026
883d6a7
Move bdwgc fork
edolstra Sep 21, 2026
b745ccb
Make the default evaluation context thread-local
edolstra Sep 21, 2026
a2dea02
Store the evaluation context by value and swap it on fiber switches
edolstra Sep 21, 2026
3c8a9d7
Merge pull request #597 from DeterminateSystems/fibers
edolstra Sep 22, 2026
228852a
packaging/nix-make: Build libnixutil with Nix as the build system
edolstra Sep 20, 2026
a041c8e
packaging/nix-make: Discover compilation units automatically
edolstra Sep 20, 2026
9db6c35
packaging/nix-make: Update scanner.wasm
edolstra Sep 20, 2026
85175ab
packaging/nix-make: Build libnixstore
edolstra Sep 20, 2026
be866e4
packaging/nix-make: Use builtins.parallel
edolstra Sep 20, 2026
565524f
packaging/nix-make: Evaluate preprocessor conditionals in the scanner
edolstra Sep 20, 2026
f5f6320
packaging/nix-make: Build libnixfetchers and libnixexpr
edolstra Sep 20, 2026
0f7e9ec
packaging/nix-make: Build libnixflake
edolstra Sep 20, 2026
0b915d7
packaging/nix-make: Build libnixmain
edolstra Sep 20, 2026
bc16487
packaging/nix-make: Add a `root` shorthand to mkComponent
edolstra Sep 20, 2026
95de80f
packaging/nix-make: Build libnixcmd
edolstra Sep 20, 2026
8a72369
packaging/nix-make: Build the nix executable
edolstra Sep 20, 2026
ec8a63b
packaging/nix-make: Reduce evaluation time
edolstra Sep 20, 2026
0bc5da4
packaging/nix-make: Move component files next to their sources
edolstra Sep 20, 2026
4974bee
packaging/nix-make: Add build variants
edolstra Sep 20, 2026
5855dae
packaging/nix-make: Build the parser without assertions in release
edolstra Sep 20, 2026
505125d
packaging/nix-make: Add Sentry, OpenTelemetry and AWS auth options
edolstra Sep 20, 2026
6985f94
packaging/nix-make: Prefix component names with "determinate-"
edolstra Sep 20, 2026
82dda80
packaging/nix-make: Include the version in derivation names
edolstra Sep 20, 2026
c72daf9
packaging/nix-make: Provide a flake schema for the `make` output
edolstra Sep 20, 2026
7b1b7b0
packaging/nix-make: Add a `boehmgc` option and a `nogc` variant
edolstra Sep 20, 2026
0471e7e
packaging/nix-make: Key the `make` output by system
edolstra Sep 20, 2026
a55a4ee
packaging/nix-make: Use callPackage for the components
edolstra Sep 21, 2026
0f811a9
packaging/nix-make: Add a `wasm` option
edolstra Sep 21, 2026
eab4193
packaging/nix-make: Add a `compiler` option and a `debug-fast` variant
edolstra Sep 21, 2026
e2069de
packaging/nix-make: Pass each unit only the config macros it uses
edolstra Sep 21, 2026
98fb881
packaging/nix-make: Compile units with a nushell builder
edolstra Sep 21, 2026
e98100d
packaging/nix-make: Link with a nushell builder as well
edolstra Sep 21, 2026
005d39a
packaging/nix-make: Use builtins.genericClosure for deduplication
edolstra Sep 21, 2026
3d357c1
packaging/nix-make: Silence "structuredAttrs is enabled"
edolstra Sep 21, 2026
2cc11cb
packaging/nix-make: Add the baked-flake.nix string header
edolstra Sep 21, 2026
8078b3f
packaging/nix-make: Re-lock the nix input for the bdwgc input
edolstra Sep 22, 2026
e47e4bc
tests/functional: Add a Meson-free test runner
edolstra Sep 22, 2026
64eeef7
Build mimalloc without MADV_HUGEPAGE hints on its arenas
edolstra Sep 22, 2026
4989c71
Merge pull request #635 from DeterminateSystems/no-thp
edolstra Sep 22, 2026
edf74a3
Limit the number of live fibers in the parallel evaluator
edolstra Sep 22, 2026
a0ce522
tests/functional: Discover tests automatically in run-tests
edolstra Sep 22, 2026
605f2bc
CLAUDE.md: Document how to build and test Nix with nix-make
edolstra Sep 22, 2026
3904af2
CI: Run the functional tests against the nix-make build
edolstra Sep 22, 2026
551404f
Write builtins.toFile paths via AsyncPathWriter
edolstra Sep 22, 2026
59df22f
Wait for asynchronously written paths before querying the store
edolstra Sep 22, 2026
73972fd
Merge pull request #638 from DeterminateSystems/cache-toFile
edolstra Sep 22, 2026
bdd5b52
AsyncPathWriter: Use addTempRoots()
edolstra Sep 22, 2026
b7db9b9
AsyncPathWriter: Skip paths that the store already has
edolstra Sep 22, 2026
0875046
nix provenance verify: Count queried valid paths as instantiated
edolstra Sep 22, 2026
8069623
nix provenance verify: Make instantiatedPaths thread-safe
edolstra Sep 22, 2026
ffd1c15
LocalOverlayStore: Copy up lower store objects in queryPathInfoUncach…
edolstra Sep 23, 2026
a325443
Merge pull request #637 from DeterminateSystems/async-path-writer-imp…
edolstra Sep 23, 2026
563808e
Merge pull request #636 from DeterminateSystems/eval-max-fibers
edolstra Sep 23, 2026
0df979f
Fix ignored nodiscard results
H7TPS Jul 28, 2026
83f4ac3
Merge pull request #16511 from NixOS/backport-16229-to-2.35-maintenance
xokdvium Sep 23, 2026
8ad25ec
Remove scanner.wasm, get it from FlakeHub
edolstra Sep 23, 2026
d12f14f
Merge pull request #632 from DeterminateSystems/nix-make
edolstra Sep 23, 2026
b4b61a4
packaging/nix-make: exec the compiler from compile.nu
edolstra Sep 23, 2026
da52a9c
Merge pull request #640 from DeterminateSystems/nix-make-exec-compiler
edolstra Sep 23, 2026
ed54370
Rename CLAUDE.md -> AGENTS.md
edolstra Sep 23, 2026
1dd8b19
Merge pull request #639 from DeterminateSystems/agents-md
edolstra Sep 24, 2026
ef29608
Improve AGENTS.md
edolstra Sep 24, 2026
a270966
builtins.wasm: Don't suspend the fiber during a Wasm call
edolstra Sep 24, 2026
46613b7
packaging/nix-make: Rewrite the nushell builders in Python
edolstra Sep 24, 2026
ed779ff
Merge pull request #642 from DeterminateSystems/python-builders
edolstra Sep 24, 2026
050af03
addErrorContext: Don't force the message inside the exception handler
edolstra Sep 25, 2026
268550d
EvalCache: Don't hold locks while evaluating
edolstra Sep 25, 2026
ecb1312
Executor: Pin fibers to the worker thread that created them
edolstra Sep 25, 2026
5ecebbb
Merge pull request #643 from DeterminateSystems/add-error-context-fib…
edolstra Sep 25, 2026
7ed1585
Merge pull request #644 from DeterminateSystems/pin-fibers
edolstra Sep 25, 2026
561dc6e
Merge pull request #641 from DeterminateSystems/wasm-no-suspend
edolstra Sep 26, 2026
ac574a4
wasm.md: Remove deprecated read_file
edolstra Oct 1, 2026
f9512d3
builtins.wasm: Add an alignment argument to nix_wasm_alloc
edolstra Oct 1, 2026
abe7d1f
builtins.wasm: Add get_attrset
edolstra Oct 1, 2026
eb34649
builtins.wasm: Check the parameter and result types of nix_wasm_alloc
edolstra Oct 1, 2026
07cf71a
Merge pull request #647 from DeterminateSystems/wasm-api
edolstra Oct 1, 2026
7d2eb39
Prepare release v3.23.0
github-actions[bot] Oct 1, 2026
405096f
packaging/secure-packages/flake.lock: Update
github-actions[bot] Oct 1, 2026
001ddff
Set .version-determinate to 3.23.0
github-actions[bot] Oct 1, 2026
26c3ec1
Generate release notes for 3.23.0
github-actions[bot] Oct 1, 2026
b30ceda
Tweak release notes
edolstra Oct 1, 2026
8bb6b35
Merge pull request #649 from DeterminateSystems/release-v3.23.0/0cd19…
detsys-spaghetti[bot] Oct 1, 2026
49884cc
buildStarted(): Don't fsync the active build info file
Jesssullivan Sep 26, 2026
d191938
Don't crash if printing completions fails during unwinding
edolstra Oct 2, 2026
1f99be1
Use boost::regex for parsing flakerefs
edolstra Oct 2, 2026
d9aac38
AGENTS.md: Add rules about the Edit tool and PR descriptions
edolstra Oct 2, 2026
83d561e
Don't treat running out of memory as a crash
edolstra Oct 2, 2026
c28f861
writeErr(): Don't abort if writing to stderr fails
edolstra Oct 2, 2026
ecd5671
Merge pull request #650 from Jesssullivan/fix/build-started-no-fullfsync
edolstra Oct 2, 2026
e6666ec
Make the `nix ps` test more robust
edolstra Oct 2, 2026
4b78903
daemon: delegate cgroup controllers so builds expose memory/io stats
DerDennisOP Jun 16, 2026
70244eb
Merge pull request #654 from DeterminateSystems/nix-ps-test
edolstra Oct 2, 2026
1317f91
Merge pull request #651 from DeterminateSystems/completions-epipe-crash
edolstra Oct 2, 2026
9be3508
Merge pull request #653 from DeterminateSystems/oom-exit-code
edolstra Oct 2, 2026
58763a5
Merge pull request #655 from DeterminateSystems/delegate-cgroup-contr…
edolstra Oct 2, 2026
a542274
packaging/nix-make/flake.lock: Update
edolstra Oct 2, 2026
84980ee
Merge pull request #656 from DeterminateSystems/update-wasm-make
edolstra Oct 2, 2026
b1b1f0e
Fix a data race in Value::isTrivial()
edolstra Oct 2, 2026
c7ccdc3
AGENTS.md: Add a rule about creating and pushing PR branches
edolstra Oct 2, 2026
4b9812c
Merge pull request #652 from DeterminateSystems/flakeref-boost-regex
edolstra Oct 2, 2026
2513bdf
Merge pull request #657 from DeterminateSystems/is-trivial-race
edolstra Oct 2, 2026
dbf0179
Pid: Initialize killTimeout
edolstra Oct 2, 2026
f39b500
~HookInstance(): Don't allow interrupts while killing the hook
edolstra Oct 2, 2026
52c1601
Pid::kill(): Make killThread a local variable
edolstra Oct 2, 2026
6a1d92f
Pid::kill(): Don't use `pid` in the kill thread
edolstra Oct 2, 2026
c0cb11d
gc-closure.sh: avoid SIGPIPE from head
fzakaria Oct 2, 2026
56f147d
[Backport 2.35-maintenance] gc-closure.sh: avoid SIGPIPE from head (#…
internal-nix-ci[bot] Oct 3, 2026
1a202f9
tests/installer: Set -u in the tests
xokdvium Sep 28, 2026
f4dd3bd
tests/installer: Refactor to support custom checks and mirror nix-ins…
xokdvium Oct 3, 2026
b07ef7c
installer: Fix store mtime in binary tarballs
xokdvium Oct 3, 2026
a3ec144
[Backport 2.35-maintenance] installer: Fix store mtime in binary tarb…
xokdvium Oct 4, 2026
16a6405
Merge pull request #658 from DeterminateSystems/hook-kill-no-interrupt
edolstra Oct 5, 2026
c351404
Fix GC stack scanning when a coroutine yields from another coroutine'…
edolstra Oct 5, 2026
a238dbf
Check at the write site that a saved stack pointer lies within its stack
edolstra Oct 5, 2026
254f5c9
nix flake check: Don't force cached eval errors inside a catch handler
edolstra Oct 5, 2026
d6afe52
Merge pull request #660 from DeterminateSystems/nix-sentry-hj
edolstra Oct 5, 2026
b35b1aa
Disable bdwgc black-listing
edolstra Oct 5, 2026
7771cc0
Disable the coroutine GC hooks in forked child processes
edolstra Oct 5, 2026
2b242eb
Merge pull request #663 from DeterminateSystems/bdwgc-no-blacklisting
edolstra Oct 5, 2026
f2415ae
SQLite: Only apply the ZFS -shm workaround on the first open of a dat…
edolstra Oct 5, 2026
d5a62e1
Merge pull request #664 from DeterminateSystems/sqlite-shm-lock-fix
edolstra Oct 5, 2026
ba3b0fc
nix profile history: Show store path changes with the same version
edolstra Oct 5, 2026
d3a0757
Merge pull request #662 from DeterminateSystems/fix-gc-nested-corouti…
edolstra Oct 5, 2026
cf3e3ff
Merge pull request #665 from DeterminateSystems/profile-history-changed
edolstra Oct 5, 2026
eb5b66a
NarInfoDiskCache: Add an index for purging expired entries
edolstra Oct 5, 2026
2035409
Merge remote-tracking branch 'origin/2.35-maintenance'
edolstra Oct 5, 2026
4c6a23f
NarInfoDiskCache: Purge expired entries in chunks
edolstra Oct 5, 2026
a10602e
Merge pull request #666 from DeterminateSystems/sync-upstream
edolstra Oct 5, 2026
67b857b
NarInfoDiskCache: Ensure only one process purges at a time
edolstra Oct 5, 2026
0ee1925
Add derivation metadata documentation manual
lucperkins Oct 5, 2026
63ad564
Provide clarification around outputs
lucperkins Oct 5, 2026
65922d2
Merge pull request #667 from DeterminateSystems/eelcodolstra/nix-491
edolstra Oct 5, 2026
ad122d1
Merge pull request #668 from DeterminateSystems/derivation-with-meta-…
edolstra Oct 5, 2026
5026b16
Prepare release v3.23.1
github-actions[bot] Oct 5, 2026
284adc2
packaging/secure-packages/flake.lock: Update
github-actions[bot] Oct 5, 2026
3a09178
Set .version-determinate to 3.23.1
github-actions[bot] Oct 5, 2026
6ded482
Generate release notes for 3.23.1
github-actions[bot] Oct 5, 2026
0851050
Tweak release notes
edolstra Oct 5, 2026
df86197
Add a release-notes skill
edolstra Oct 5, 2026
1ef9034
Merge pull request #669 from DeterminateSystems/release-v3.23.1/145da…
detsys-spaghetti[bot] Oct 5, 2026
f5ed833
Fix crash in the GC roots server on fd reuse
edolstra Oct 7, 2026
e34aa8a
packaging/nix-make: Build and run the libutil unit tests
edolstra Oct 7, 2026
3e42fe5
packaging/nix-make: Build and run the libstore unit tests
edolstra Oct 7, 2026
654bc25
packaging/nix-make: Build and run the libfetchers unit tests
edolstra Oct 7, 2026
e7b95e8
Merge pull request #672 from DeterminateSystems/fix-gc-server-thread-…
edolstra Oct 7, 2026
a1154d4
packaging/nix-make: Build and run the libexpr unit tests
edolstra Oct 7, 2026
18be442
packaging/nix-make: Build and run the libflake unit tests
edolstra Oct 7, 2026
7aedbf0
Merge pull request #673 from DeterminateSystems/nix-make-tests
edolstra Oct 7, 2026
86296d2
bash completion: Handle redirections
edolstra Oct 8, 2026
ea7e9be
Merge pull request #675 from DeterminateSystems/bash-completion-redir…
edolstra Oct 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions .clang-format
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,4 @@ PPIndentWidth: 2
BinPackArguments: false
BreakBeforeTernaryOperators: true
SeparateDefinitionBlocks: Always
OneLineFormatOffRegex: "// NOFORMAT$"
93 changes: 93 additions & 0 deletions .claude/skills/release-notes/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
---
name: release-notes
description: Edit the auto-generated Determinate Nix release notes for a release into shape. Use when asked to write, tweak, clean up or finish the release notes for a version (e.g. "write the release notes for 3.24.0"), or after the automated release process has committed "Generate release notes for <version>".
---

# Determinate Nix release notes

The automated release process commits "Generate release notes for <version>", which creates or updates two files in `doc/manual/source/release-notes-determinate/`:

* `v<version>.md`: the release notes for this version, as a flat GitHub-style "What's Changed" list of PR titles.
* `changes.md`: the cumulative list of differences between upstream Nix and Determinate Nix, with the new PRs appended verbatim under `<!-- Determinate Nix version <version> -->`.

Both need manual editing. Do not change any other file.

## Step 1: Gather information

1. Determine the version from `.version-determinate` (or from the user). Read `v<version>.md` and the tail of `changes.md`.
2. Read the two or three most recent `v*.md` files for style. `v3.23.0.md` (feature release) and `v3.23.1.md` (bug fix release) are good examples.
3. For every PR listed, read its description:
```
gh pr view <N> --repo DeterminateSystems/nix-src --json title,body --jq '.title, .body'
```
The "Motivation" section usually says what the user-visible effect is. Ignore the auto-generated "Summary by CodeRabbit" section. If the description is empty, look at the commit messages (`git log --format='%h %s%n%b' <merge-commit>^1..<merge-commit>^2`).
4. For "Sync with upstream" PRs, look at the merge commit's diff stat and the backported commits to summarize what user-visible fixes came in.

## Step 2: Classify each PR

* **Major**: new features, new commands/flags/settings, notable behavior changes, and significant performance improvements. Each gets its own `##` section. A bug fix only qualifies if the bug was a major issue for users in practice (widely reported, affecting common workflows); a fix for a crash that few users have hit yet is minor, even if the root cause was serious.
* **Minor**: bug fixes, test fixes, dependency/flake.lock updates, documentation, CI, refactoring. These are grouped into `##` sections like "Bug fixes", "Performance improvements", "Miscellaneous changes", with one concise line per PR.
* Closely related PRs (e.g. several PRs implementing one feature, or several GC crash fixes) can share one major section with `PRs: ...`.

## Step 3: Edit `v<version>.md`

Keep the header, the "Based on upstream Nix ..." line, the "New Contributors" section (if present) and the "**Full Changelog**" line as generated. Replace the "What's Changed" list with:

```markdown
## <Feature or fix title>

<One to three paragraphs in plain English: what changed, why it matters to the user, how to use it (with a `console` example if useful), and any caveats such as required experimental features or settings. If the change was backported from upstream, say so.>

PR: [DeterminateSystems/nix-src#NNN](https://github.com/DeterminateSystems/nix-src/pull/NNN)

## <Another major item>

...

PRs: [DeterminateSystems/nix-src#NNN](...), [DeterminateSystems/nix-src#MMM](...)

## Bug fixes

* <Readable description of the fix> by @author in [DeterminateSystems/nix-src#NNN](...)

## Performance improvements

* ... by @author in [DeterminateSystems/nix-src#NNN](...)

## Miscellaneous changes

* ... by @author in [DeterminateSystems/nix-src#NNN](...)
```

Guidelines:

* Major sections come first, most important first. Then the grouped minor sections, then "New Contributors" and the "Full Changelog" line.
* Section titles are short and user-facing, e.g. "`nix flake bake`", "OpenTelemetry Support", "Garbage collector crash fixes". Backticks for command names.
* Write for Nix users, not Nix developers: say what the user experiences ("`nix flake check` no longer crashes when ...") rather than the implementation ("Don't force cached eval errors inside a catch handler"). Mention internal details only when they help the user understand the scope (e.g. "only affects setups without a Nix daemon").
* The PR link lines are literally `PR: ` or `PRs: ` followed by comma-separated links.
* For a PR that cherry-picks an upstream PR, acknowledge the upstream author. Look up the author with `gh pr view <N> --repo NixOS/nix --json author --jq .author.login` and append to the PR line: `, cherry-picked from [NixOS/nix#<N>](https://github.com/NixOS/nix/pull/<N>) by @<author>`.
* In the minor-item lists, keep the generated `... by @author in [link]` format but reword cryptic PR titles into readable sentences. Drop internal prefixes like `libstore:` or function names unless they're the clearest description.
* Omit sections that would be empty.
* Link to manual pages where relevant using relative paths, e.g. `../language/derivation-metadata.md`.

## Step 4: Edit `changes.md`

`changes.md` lists only *differences relative to upstream Nix*: new features, new commands/flags/settings/builtins, and incompatible or deliberately different behavior. Under the new `<!-- Determinate Nix version <version> -->` marker:

* **Remove** bug fixes, performance improvements, crash fixes, test/CI/documentation/dependency changes, "Sync with upstream" PRs, and the "@user made their first contribution" line.
* **Remove** backports and cherry-picks from upstream Nix (e.g. PRs whose description says "Cherry-picked from https://github.com/NixOS/nix/pull/..."), even if they are new features, since they are not Determinate-specific.
* **Keep** the remaining items, rewritten as one-sentence present-tense feature descriptions followed by the PR link, matching the existing entries:
```markdown
* Determinate Nix has a `nix foo` command for doing X. [DeterminateSystems/nix-src#NNN](https://github.com/DeterminateSystems/nix-src/pull/NNN)

* `nix bar` has a flag `--baz` that does Y. [DeterminateSystems/nix-src#NNN](...)
```
Items are separated by blank lines and have no `by @author in` text.
* It is normal for a bug fix release to leave the marker with nothing under it. Keep the marker.

Do not touch entries for earlier versions. The "This section lists the differences between upstream Nix ... and Determinate Nix <version>." line is updated by the release process, so leave it alone.

## Step 5: Finish

* Re-read both files once for consistency: every PR from the generated list appears exactly once in `v<version>.md`; links are well-formed; no "What's Changed" header remains.
* Don't commit unless asked. If asked, commit both files on the release branch with the message "Tweak release notes".
18 changes: 0 additions & 18 deletions .coderabbit.yaml

This file was deleted.

17 changes: 0 additions & 17 deletions .github/CODEOWNERS

This file was deleted.

21 changes: 9 additions & 12 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Bug report
about: Report unexpected or incorrect behaviour
title: ''
title: ""
labels: bug
assignees: ''

assignees: ""
---

## Describe the bug
Expand Down Expand Up @@ -32,7 +31,9 @@ assignees: ''

## Metadata

<!-- Please insert the output of running `nix-env --version` below this line -->
<!-- Please insert the output of running `determinate-nixd version` below this line -->

<!-- Please insert the output of running `nix --version` below this line -->

## Additional context

Expand All @@ -42,13 +43,9 @@ assignees: ''

<!-- make sure this issue is not redundant or obsolete -->

- [ ] checked [latest Nix manual] \([source])
- [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open bug issues and pull requests] for possible duplicates

[latest Nix manual]: https://nix.dev/manual/nix/development/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source
[open bug issues and pull requests]: https://github.com/NixOS/nix/labels/bug

---

Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
[latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/DeterminateSystems/nix-src/tree/main/doc/manual/source
[open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
19 changes: 7 additions & 12 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Feature request
about: Suggest a new feature
title: ''
title: ""
labels: feature
assignees: ''

assignees: ""
---

## Is your feature request related to a problem?
Expand All @@ -27,13 +26,9 @@ assignees: ''

<!-- make sure this issue is not redundant or obsolete -->

- [ ] checked [latest Nix manual] \([source])
- [ ] checked [open feature issues and pull requests] for possible duplicates

[latest Nix manual]: https://nix.dev/manual/nix/development/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source
[open feature issues and pull requests]: https://github.com/NixOS/nix/labels/feature

---
- [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open bug issues and pull requests] for possible duplicates

Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
[latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/DeterminateSystems/nix-src/tree/main/doc/manual/source
[open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
23 changes: 9 additions & 14 deletions .github/ISSUE_TEMPLATE/installer.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
---
name: Installer issue
about: Report problems with installation
title: ''
title: ""
labels: installer
assignees: ''

assignees: ""
---

## Platform

<!-- select the platform on which you tried to install Nix -->
<!-- select the platform on which you tried to install Determinate Nix -->

- [ ] Linux: <!-- state your distribution, e.g. Arch Linux, Ubuntu, ... -->
- [ ] macOS
- [ ] Linux: <!-- state your distribution, e.g. Arch Linux, Ubuntu, ... -->
- [ ] WSL

## Additional information
Expand All @@ -35,13 +34,9 @@ assignees: ''

<!-- make sure this issue is not redundant or obsolete -->

- [ ] checked [latest Nix manual] \([source])
- [ ] checked [open installer issues and pull requests] for possible duplicates

[latest Nix manual]: https://nix.dev/manual/nix/development/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source
[open installer issues and pull requests]: https://github.com/NixOS/nix/labels/installer

---
- [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open bug issues and pull requests] for possible duplicates

Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
[latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/DeterminateSystems/nix-src/tree/main/doc/manual/source
[open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
19 changes: 7 additions & 12 deletions .github/ISSUE_TEMPLATE/missing_documentation.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
---
name: Missing or incorrect documentation
about: Help us improve the reference manual
title: ''
title: ""
labels: documentation
assignees: ''

assignees: ""
---

## Problem
Expand All @@ -19,13 +18,9 @@ assignees: ''

<!-- make sure this issue is not redundant or obsolete -->

- [ ] checked [latest Nix manual] \([source])
- [ ] checked [open documentation issues and pull requests] for possible duplicates

[latest Nix manual]: https://nix.dev/manual/nix/development/
[source]: https://github.com/NixOS/nix/tree/master/doc/manual/source
[open documentation issues and pull requests]: https://github.com/NixOS/nix/labels/documentation

---
- [ ] checked [latest Determinate Nix manual] \([source])
- [ ] checked [open bug issues and pull requests] for possible duplicates

Add :+1: to [issues you find important](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+sort%3Areactions-%2B1-desc).
[latest Determinate Nix manual]: https://manual.determinate.systems/
[source]: https://github.com/DeterminateSystems/nix-src/tree/main/doc/manual/source
[open bug issues and pull requests]: https://github.com/DeterminateSystems/nix-src/labels/bug
29 changes: 0 additions & 29 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,3 @@
<!--

IMPORTANT

Nix is a non-trivial project, so for your contribution to be successful,
it really is important to follow the contributing guidelines:

https://github.com/NixOS/nix/blob/master/CONTRIBUTING.md

Even if you've contributed to open source before, take a moment to read it,
so you understand the process and the expectations.

- what information to include in commit messages
- proper attribution
- volunteering contributions effectively
- how to get help and our review process.

PR stuck in review? We have two Nix team meetings per week online that are open for everyone in a jitsi conference:

- https://calendar.google.com/calendar/u/0/embed?src=b9o52fobqjak8oq8lfkhg3t0qg@group.calendar.google.com

-->

## Motivation

<!-- Briefly explain what the change is about and why it is desirable. -->
Expand All @@ -34,9 +11,3 @@ PR stuck in review? We have two Nix team meetings per week online that are open
<!-- Invasive change: Discuss alternative designs or approaches you considered. -->

<!-- Large change: Provide instructions to reviewers how to read the diff. -->

---

Add :+1: to [pull requests you find important](https://github.com/NixOS/nix/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc).

The Nix maintainer team uses a [GitHub project board](https://github.com/orgs/NixOS/projects/19) to [schedule and track reviews](https://github.com/NixOS/nix/tree/master/maintainers#project-board-protocol).
25 changes: 6 additions & 19 deletions .github/STALE-BOT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,34 +2,21 @@

- Thanks for your contribution!
- To remove the stale label, just leave a new comment.
- _How to find the right people to ping?_ &rarr; [`git blame`](https://git-scm.com/docs/git-blame) to the rescue! (or GitHub's history and blame buttons.)
- You can always ask for help on [our Discourse Forum](https://discourse.nixos.org/) or on [Matrix - #users:nixos.org](https://matrix.to/#/#users:nixos.org).
- You can always ask for help on [Discord](https://determinate.systems/discord).

## Suggestions for PRs

1. GitHub sometimes doesn't notify people who commented / reviewed a PR previously, when you (force) push commits. If you have addressed the reviews you can [officially ask for a review](https://docs.github.com/en/free-pro-team@latest/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from those who commented to you or anyone else.
2. If it is unfinished but you plan to finish it, please mark it as a draft.
3. If you don't expect to work on it any time soon, closing it with a short comment may encourage someone else to pick up your work.
4. To get things rolling again, rebase the PR against the target branch and address valid comments.
5. If you need a review to move forward, ask in [the Discourse thread for PRs that need help](https://discourse.nixos.org/t/prs-in-distress/3604).
6. If all you need is a merge, check the git history to find and [request reviews](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/requesting-a-pull-request-review) from people who usually merge related contributions.
1. If it is unfinished but you plan to finish it, please mark it as a draft.
1. If you don't expect to work on it any time soon, closing it with a short comment may encourage someone else to pick up your work.
1. To get things rolling again, rebase the PR against the target branch and address valid comments.
1. If you need a review to move forward, ask in [Discord](https://determinate.systems/discord).

## Suggestions for issues

1. If it is resolved (either for you personally, or in general), please consider closing it.
2. If this might still be an issue, but you are not interested in promoting its resolution, please consider closing it while encouraging others to take over and reopen an issue if they care enough.
3. If you still have interest in resolving it, try to ping somebody who you believe might have an interest in the topic. Consider discussing the problem in [our Discourse Forum](https://discourse.nixos.org/).
4. As with all open source projects, your best option is to submit a Pull Request that addresses this issue. We :heart: this attitude!
3. If you still have interest in resolving it, try to ping somebody who you believe might have an interest in the topic. Consider discussing the problem in [Discord](https://determinate.systems/discord).

**Memorandum on closing issues**

Don't be afraid to close an issue that holds valuable information. Closed issues stay in the system for people to search, read, cross-reference, or even reopen--nothing is lost! Closing obsolete issues is an important way to help maintainers focus their time and effort.

## Useful GitHub search queries

- [Open PRs with any stale-bot interaction](https://github.com/NixOS/nix/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+)
- [Open PRs with any stale-bot interaction and `stale`](https://github.com/NixOS/nix/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%22stale%22)
- [Open PRs with any stale-bot interaction and NOT `stale`](https://github.com/NixOS/nix/pulls?q=is%3Apr+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%22stale%22+)
- [Open Issues with any stale-bot interaction](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+)
- [Open Issues with any stale-bot interaction and `stale`](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+label%3A%22stale%22+)
- [Open Issues with any stale-bot interaction and NOT `stale`](https://github.com/NixOS/nix/issues?q=is%3Aissue+is%3Aopen+commenter%3Aapp%2Fstale+-label%3A%22stale%22+)
Loading
Loading