Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
337 commits
Select commit Hold shift + click to select a range
7cef455
util/json-log-path: document unix sockets and concurrency issues
Mic92 May 23, 2025
4cc312a
Merge pull request #13251 from Mic92/json-log-path
Mic92 May 23, 2025
d8da8f0
export/meson: Don't require `-std=c++2a` for -c libraries in `.pc` files
xokdvium May 23, 2025
2d20cd8
Merge pull request #13253 from xokdvium/pkgconf-c
Mic92 May 23, 2025
81884c3
Merge pull request #13248 from xokdvium/logger-exceptions
Mic92 May 23, 2025
fa6e10e
Don't use 'callback' object that we may have moved out of
edolstra May 23, 2025
d877b0c
fromStructuredAttrs(): Don't crash if exportReferencesGraph is a string
edolstra May 23, 2025
c66eb9c
Add test
edolstra May 23, 2025
ca96967
Make the S3 test more robust
edolstra May 23, 2025
68f8e1c
Merge pull request #13257 from NixOS/robust-s3-test
tomberek May 24, 2025
087f268
Merge pull request #13256 from NixOS/fix-substitution-crash
Mic92 May 25, 2025
751f50f
nix-profile{,-daemon}.fish: check for profile in XDG_DATA_HOME
stefanboca May 21, 2025
543cee1
Merge pull request #13244 from stefanboca/sb/push-lmnqpuztqxmz
Mic92 May 25, 2025
1287502
libexpr: Pass mutable `EvalState` to `EvalProfiler`
xokdvium May 25, 2025
a76c76a
libexpr: Make `getAttr` a member function of `EvalState`
xokdvium May 25, 2025
9e97eca
libexpr: Include derivation names in the call stack profile
xokdvium May 25, 2025
4777734
Merge pull request #13261 from xokdvium/eval-profiler-derivations
Mic92 May 25, 2025
114de63
Fix various typos in source code
xokdvium May 25, 2025
d929eed
Merge pull request #13262 from xokdvium/typos
Mic92 May 25, 2025
247f166
Merge pull request #13245 from stefanboca/sb/push-yoorqzwsxmzn
Mic92 May 25, 2025
0479db9
fetchGit: don't compute revCount on shallow repository
Mic92 May 26, 2025
b1ccfaa
git/revCount: improve error message when we have incomplete git history
Mic92 May 25, 2025
5419d82
tests/fetchGit: work around something that looks a bash parsing quirk.
Mic92 May 25, 2025
170f602
Merge pull request #13265 from Mic92/fix-shallow-clone-subset
edolstra May 26, 2025
ed3e2a7
Merge pull request #12994 from fricklerhandwerk/reword-derivation
Mic92 May 26, 2025
69914e4
Remove `buildUser` from `DerivationBuilder`
edolstra May 26, 2025
93ae95b
Remove duplicate comments on DerivationBuilderImpl overriden methods
edolstra May 26, 2025
32d1904
Merge pull request #13268 from NixOS/derivation-builder-cleanup
Ericson2314 May 26, 2025
9cc8be2
Drop magic-nix-cache
edolstra May 26, 2025
a2f65dd
Merge pull request #13274 from NixOS/drop-magic-nix-cache
Ericson2314 May 27, 2025
d07852b
Remove propagated-build-inputs when static
RossComputerGuy May 27, 2025
6adee11
Merge pull request #13275 from RossComputerGuy/fix/static-deps-nix
Mic92 May 27, 2025
aaca971
DerivationBuilderImpl: Drop std::optional from derivationType
edolstra May 26, 2025
74a107d
Merge pull request #13270 from NixOS/no-optional-drv-type
Ericson2314 May 27, 2025
80a4293
nix flake archive: add --no-check-sigs option
zimbatm May 27, 2025
5653bf5
DerivationBuilder: Move Linux/Darwin-specific code into subclasses
edolstra May 26, 2025
6740880
Move pathsInChroot
edolstra May 26, 2025
9f8f396
Eliminate useChroot
edolstra May 26, 2025
b623fe8
Move doBind()
edolstra May 26, 2025
9e2151d
Move seccomp code
edolstra May 26, 2025
c9b55fa
Move autoDelChroot
edolstra May 26, 2025
774678b
Get rid of tmpDirInSandbox variable
edolstra May 26, 2025
b27e684
Inline initTmpDir()
edolstra May 26, 2025
352ca23
Move cgroup support
edolstra May 26, 2025
b04962b
Make platform checks throw BuildError like other failures
gustavderdrache May 23, 2025
ce89c8c
Log warnings on IFD with new option
gustavderdrache May 20, 2025
d80f0fb
Add test for output warning to ensure stability
gustavderdrache May 21, 2025
f9fdf94
Fix macOS build
edolstra May 27, 2025
161bf86
Merge pull request #13279 from DeterminateSystems/gustavderdrache/tra…
Mic92 May 27, 2025
9ddac1b
Merge pull request #13277 from zimbatm/flake-archive-no-check-sigs
Mic92 May 27, 2025
f7c94cd
Merge pull request #13278 from DeterminateSystems/gustavderdrache/sys…
Mic92 May 27, 2025
cf9d962
Remove unused variable
edolstra May 27, 2025
653a93a
Merge pull request #13276 from NixOS/split-derivation-builder
Ericson2314 May 27, 2025
625dce6
Prepare for FreeBSD sandboxing support
Ericson2314 May 27, 2025
de71ceb
Merge pull request #13281 from NixOS/freebsd-utils
Ericson2314 May 27, 2025
d555d6b
tests/functional: Add more language tests for builtins.match
xokdvium May 27, 2025
6686b54
Fix mingw build
edolstra May 27, 2025
d0a2323
lockFlake(): Allow registry lookups for overridden inputs
getchoo May 28, 2025
a353b2f
Test hacky way of making structured attrs
Ericson2314 May 26, 2025
cc926c3
Merge pull request #13283 from NixOS/fix-mingw
Ericson2314 May 28, 2025
8d725fd
Fix FreeBSD builds
Ericson2314 May 28, 2025
24f5d7a
Fix warning when `HAVE_EMBEDDED_SANDBOX_SHELL` is not set
Ericson2314 May 28, 2025
7577d2d
Deprecate hacky way of making structured attrs
Ericson2314 May 26, 2025
1c0ff52
Merge pull request #13286 from NixOS/fix-warning
edolstra May 28, 2025
5e9744c
Merge pull request #13287 from NixOS/fix-freebsd-build
Ericson2314 May 28, 2025
20226c8
Merge pull request #13273 from NixOS/deprecate-structured-attrs-hack
Ericson2314 May 28, 2025
69603a1
Merge pull request #13282 from xokdvium/prim-match-tests
Ericson2314 May 28, 2025
a653184
Drop precompiled-headers.h
xokdvium May 28, 2025
ba96067
Merge pull request #13290 from xokdvium/drop-pch
Ericson2314 May 28, 2025
fba1bb0
Clear `displayPrefix` in `makeEmptySourceAccessor`
xokdvium May 29, 2025
b7fd872
Cleanup
edolstra May 28, 2025
4dc419e
Split LinuxDerivationBuilder
edolstra May 29, 2025
dd80f16
flake: Drop `pre-commit` override
xokdvium May 29, 2025
4fa991a
flake: Restore `packaging-overriding` check
xokdvium May 29, 2025
1a73f7a
Merge pull request #13298 from xokdvium/drop-pre-commit-override
Ericson2314 May 30, 2025
81f5d67
Merge pull request #13299 from xokdvium/restore-packaging-overriding
Ericson2314 May 30, 2025
908129e
Cleanup
edolstra May 30, 2025
587b5f5
Merge pull request #13297 from NixOS/split-linux-builder
edolstra May 30, 2025
58e34a2
Overriding gtest with gmock
fzakaria May 31, 2025
6badd21
add documentation of tarball-ttl to nix-channel
donottellmetonottellyou May 31, 2025
94bbadd
symbol-table: reduce memory usage and use boost::unordered_flat_set
NaN-git May 18, 2025
ed4e512
symbol-table: reference entries instead of allocating `Value`s
NaN-git Jun 1, 2025
633d391
remove overly verbose mention of fetchTarball
donottellmetonottellyou Jun 1, 2025
c0ceaa2
add reference to the tarball-ttl documentation
donottellmetonottellyou Jun 1, 2025
b73e706
libutil: Use `std::shared_ptr<const Pos>` instead of `std::shared_ptr…
xokdvium Jun 1, 2025
cdb8567
libutil: Don't explicitly default special member functions
xokdvium Jun 1, 2025
9563b50
libexpr: Deduplicate `Value::primOpAppPrimOp`
xokdvium Jun 1, 2025
afd9c78
libexpr: fix various overflows and type mismatches
NaN-git Jun 1, 2025
16e4b3b
Merge pull request #13311 from xokdvium/dedup-prim-op-app-prim-op
edolstra Jun 2, 2025
97e3c3f
Merge pull request #13309 from NaN-git/fix-substring
edolstra Jun 2, 2025
7ad4426
Merge pull request #13310 from xokdvium/cleanup-position
edolstra Jun 2, 2025
8676734
Merge pull request #13304 from fzakaria/small-fix
edolstra Jun 2, 2025
97462bd
Merge pull request #13305 from donottellmetonottellyou/donottellmeton…
edolstra Jun 2, 2025
6b6d3dc
deletePath(): Keep going when encountering an undeletable file
edolstra May 30, 2025
e72f19e
Merge pull request #13300 from NixOS/deletePath-keep-going
Mic92 Jun 2, 2025
6a761c1
Merge pull request #13296 from xokdvium/empty-accessor-prefix
Mic92 Jun 2, 2025
0712339
`--keep-failed` with remote builders will keep the failed build direc…
cole-h Jun 2, 2025
54aa73b
fixup: only show "you can rerun" message if the derivation's platform…
cole-h Jun 3, 2025
4b8f74b
Merge pull request #13320 from DeterminateSystems/keep-failed-remote-…
Mic92 Jun 3, 2025
cfc15d6
Modify docker.nix to use mapAttrsToList instead of mapAttrsFlatten
poperigby Jun 3, 2025
4751cbe
Merge pull request #13321 from poperigby/docker-map-attrs-flatten-rep…
Mic92 Jun 4, 2025
4bce2d7
GitSourceAccessor: Make thread-safe
edolstra Jun 4, 2025
2afc84f
Merge pull request #13323 from NixOS/git-accessor-thread-safe
edolstra Jun 5, 2025
0a87ba0
Prevent double copy of nixpkgs source tree
edolstra Jun 5, 2025
e72a0ad
docker: add docu references & remove duplicate code
h0nIg Jun 5, 2025
3c9b9b1
nix repl: Print which variables are just loaded
kstrafe Sep 21, 2024
13e3704
nix repl: Add `:ll` to show all recently loaded variables
kstrafe Sep 21, 2024
540db80
Merge pull request #13326 from NixOS/no-double-copy
Mic92 Jun 6, 2025
37b4407
Merge pull request #13284 from getchoo-contrib/getchoo/override-input…
Mic92 Jun 6, 2025
d8b067b
repl: Don't wait on incomplete parses from imported file
edolstra Jun 6, 2025
91b3573
Rethrow non-EOF errors
edolstra Jun 6, 2025
530efc3
Merge pull request #13334 from NixOS/repl-incomplete-parse
Ericson2314 Jun 6, 2025
2caccbe
docker: shrink code - use buildenv.manifest
h0nIg Jun 6, 2025
1022598
Merge pull request #13258 from NaN-git/opt-symbol-table
roberth Jun 7, 2025
c5b1be4
Merge pull request #11406 from kstrafe/master
roberth Jun 7, 2025
c2aaa68
libexpr: Use `primOp` getter
xokdvium Jun 10, 2025
77f5f50
libexpr: Use `context` getter
xokdvium Jun 10, 2025
408873c
libexpr: Use `c_str` getter
xokdvium Jun 10, 2025
b3c1b70
Merge pull request #13345 from xokdvium/use-value-getters
roberth Jun 10, 2025
525078c
Fix broken link in configuration description
lucperkins Jun 11, 2025
9eb46e9
Make the repl test more robust
edolstra Jun 11, 2025
35cb138
Merge pull request #13348 from NixOS/repl-test-robust-2
Ericson2314 Jun 11, 2025
d46ce52
Merge pull request #13347 from lucperkins/fix-broken-conf-link
Ericson2314 Jun 11, 2025
f42eaf2
Create test for #13293
Ericson2314 Jun 11, 2025
5267718
Fix #13293
Ericson2314 May 29, 2025
371fcf9
Merge pull request #13294 from obsidiansystems/fix-13293
Ericson2314 Jun 11, 2025
93a42a5
flake: Add meson formatter
xokdvium Jun 11, 2025
57c72de
docker: make sure `nix config check` works
drupol Jun 12, 2025
ab10fdd
Rework future tense in user-facing messages
lucperkins Jun 12, 2025
5abaf36
docker: reduce duplicates, use `coreutils-full`
drupol Jun 12, 2025
5862f38
docker: use `callPackage`, parametrise the image build
drupol Jun 12, 2025
6eb4ee6
docker: replace `git` with `gitMinimal`
drupol Jun 12, 2025
0f6cb33
fix throwing output paths out of sandbox paths
SimSaladin Jun 12, 2025
6587e7b
libexpr: Add and use `lambda` getter
xokdvium Jun 12, 2025
441fa86
libexpr: Add and use `thunk` getter
xokdvium Jun 12, 2025
f07a9f8
libexpr: Add and use `primOpApp` getter
xokdvium Jun 12, 2025
c041d71
libexpr: Add and use `app` getter
xokdvium Jun 12, 2025
e4df189
libexpr: Add and use `pathStr` getter
xokdvium Jun 12, 2025
bc6b52a
libexpr: Add and use `pathAccessor` getter
xokdvium Jun 12, 2025
c437e27
Merge pull request #13357 from xokdvium/more-getters
roberth Jun 12, 2025
7b46eb9
libexpr: Remove non-const overload of `listElems`
xokdvium Jun 12, 2025
f8c1ac9
Introduce top-level `structuredAttrs` field in JSON derivation format
Ericson2314 Jun 11, 2025
d12e424
Merge pull request #13360 from xokdvium/duplicate-list-elems-overload
Mic92 Jun 13, 2025
918ac6b
Merge pull request #13354 from drupol/push-sopslzmmlqxu
Mic92 Jun 13, 2025
82397e2
Merge branch 'master' into push-rrzylpqynznw
Mic92 Jun 13, 2025
84743c8
Merge pull request #13351 from drupol/push-rrzylpqynznw
Mic92 Jun 13, 2025
a1fe09d
Merge pull request #13350 from xokdvium/meson-format
Mic92 Jun 13, 2025
699db04
Fix a minor typo
jayeshv Jun 13, 2025
46853c4
Merge pull request #13361 from jayeshv/patch-1
Mic92 Jun 14, 2025
e27a062
docker: remove last use of `pkgs.`
drupol Jun 14, 2025
e73fcd0
Merge pull request #13364 from drupol/push-qspryqrvmpkt
Mic92 Jun 15, 2025
b2596a7
libutil: Add custom PeekSort implementation
xokdvium Jun 15, 2025
351d898
libexpr: Switch builtins.sort primop to use peeksort
xokdvium Jun 15, 2025
ddcfc81
libexpr: Document requirements for comparator passed to builtins.sort
xokdvium Jun 15, 2025
f9170a8
tests/functional/lang: Add sort stability test for lists langer than …
xokdvium Jun 15, 2025
c1aaa97
libexpr: further removal of std::string copies
NaN-git Jun 14, 2025
18dc962
docker: add basics OpenContainers labels
drupol Jun 15, 2025
bb44347
docker: expose `config.Cmd` as parameter
drupol Jun 15, 2025
af01fea
Merge pull request #12623 from xokdvium/ord-safe-sort
tomberek Jun 16, 2025
cdb4178
Merge pull request #13366 from drupol/push-smvorxlvxusx
Ericson2314 Jun 16, 2025
d64c922
libstore: fix race condition when creating state directories
wolfgangwalther Jun 17, 2025
59c7dac
Git fetcher: Do not consider a null revision (i.e. workdir) to be locked
edolstra Jun 12, 2025
bb32fcd
Merge pull request #13368 from wolfgangwalther/race-state-creation
edolstra Jun 17, 2025
77f6b65
tests: fixup with jq-1.8.0
vcunat Jun 18, 2025
da76bc0
Fix broken link
synalice Jun 18, 2025
86dda98
Fix typo
synalice Jun 18, 2025
cd97c54
Merge pull request #13371 from vcunat/p/jq-1.8.0_master
edolstra Jun 18, 2025
d2a25fb
Fix Nix formatting changes
lucperkins Jun 18, 2025
d6710b4
Merge remote-tracking branch 'upstream/master' into messages-present-…
lucperkins Jun 18, 2025
197484c
Merge pull request #13373 from synalice/patch-2
edolstra Jun 18, 2025
fc47178
Merge pull request #13372 from synalice/patch-1
edolstra Jun 18, 2025
9b57573
Revert "Drop magic-nix-cache"
edolstra Jun 18, 2025
d254c84
Merge pull request #13349 from obsidiansystems/structured-attrs-json
Ericson2314 Jun 18, 2025
20ba6be
Improve the Rosetta installation hint
edolstra Jun 19, 2025
a8a5537
Merge pull request #13376 from NixOS/use-magic-nix-cache
Mic92 Jun 19, 2025
aa1629c
Merge pull request #13378 from NixOS/improve-rosetta-hint
Mic92 Jun 19, 2025
9c12059
Merge remote-tracking branch 'upstream/master' into messages-present-…
lucperkins Jun 19, 2025
3132aba
Fix broken test
lucperkins Jun 19, 2025
42ea272
Merge pull request #13353 from lucperkins/messages-present-tense
roberth Jun 20, 2025
785f386
Update docs
synalice Jun 20, 2025
6ef683c
Restore multiline formatting of lists in meson files
xokdvium Jun 20, 2025
a4dcce3
Merge pull request #13382 from synalice/patch-3
xokdvium Jun 20, 2025
b9b510d
Merge pull request #13383 from xokdvium/meson-format-multiline
Ericson2314 Jun 20, 2025
7226a11
libutil: guess or invent a path from file descriptors
Mar 26, 2025
6a5b6ad
libstore: open build directory as a dirfd as well
Mar 26, 2025
002d202
libstore: chown to builder variant for file descriptors
Mar 26, 2025
034f59b
libutil: writeFile variant for file descriptors
Mar 26, 2025
4e59d3f
libstore: ensure that `passAsFile` is created in the original temp dir
Mar 26, 2025
5ec047f
libutil: ensure that `_deletePath` does NOT use absolute paths with d…
Mar 26, 2025
4ea4813
libstore: ensure that temporary directory is always 0o000 before dele…
Mar 27, 2025
e5dc3e8
Tweak comment
edolstra Jun 12, 2025
479c356
Drop guessOrInventPathFromFD()
edolstra Jun 12, 2025
a4b5584
Replace 'bool sync' with an enum for clarity
edolstra Jun 12, 2025
9af4c26
Chown structured attr files safely
edolstra Jun 12, 2025
88b7db1
libstore: Don't default build-dir to temp-dir, store setting
Mar 30, 2025
5acf50a
Disallow the build directory having world-writable parents
edolstra Jun 12, 2025
2e2fe4c
Cleanup
edolstra Jun 12, 2025
37685b1
Fix Darwin test failure in repl.sh
edolstra Jun 19, 2025
6a74590
Merge pull request #13388 from NaN-git/opt-string_view
roberth Jun 23, 2025
df21f24
Fix link
egorkonovalov Jun 23, 2025
f9afc1e
Merge pull request #13393 from egorkonovalov/patch-1
roberth Jun 23, 2025
448cfb7
Merge remote-tracking branch 'cve/fod-cves-master'
edolstra Jun 24, 2025
55d12df
libstore-tests: Don't leak memory in tests
xokdvium Jun 24, 2025
df2d5f2
Merge pull request #13395 from xokdvium/libstore-tests-leaks
roberth Jun 25, 2025
7c0ea14
Fix deep overrides
edolstra Jun 12, 2025
637c4f3
Add tests for deep overrides
edolstra Jun 12, 2025
b415fac
Don't allow flake inputs to have both a flakeref and a follows
edolstra Jun 12, 2025
eaced1e
Move FlakeCommand into a header, allow separate registration of subco…
edolstra Jun 26, 2025
acfdacc
Merge pull request #13401 from NixOS/split-flake-command
xokdvium Jun 26, 2025
2481e9a
Merge branch 'master' into patch-3
h0nIg Jun 26, 2025
8fbc27a
enhancements
h0nIg Jun 26, 2025
ba12adc
format
h0nIg Jun 26, 2025
75412eb
libflake: Remove unused maybeParseFlakeRef and maybeParseFlakeRefWith…
xokdvium Jun 27, 2025
fa3d7e6
libexpr: don't allocate additional set in builtins.listToAttrs
NaN-git Jun 15, 2025
8708e9a
libutil: Use caching `directory_entry` API in `PosixSourceAccessor::r…
xokdvium Jun 30, 2025
9600eae
Merge pull request #13412 from xokdvium/read-directory-caching
edolstra Jul 1, 2025
4458a90
Merge pull request #13406 from xokdvium/libflake-dead-code
edolstra Jul 1, 2025
5879ab1
Merge pull request #13400 from NixOS/fix-deep-overrides
edolstra Jul 1, 2025
d16af1d
libfetchers: Add missing include guard to git-lfs-fetch.hh
xokdvium Jul 1, 2025
4bf23d2
Merge pull request #13416 from xokdvium/pragma-once-missing
roberth Jul 2, 2025
04a731b
Merge pull request #13387 from NaN-git/opt-listToAttrs
roberth Jul 2, 2025
ea32580
libexpr: Format value.hh
xokdvium Jun 28, 2025
1a033ee
libexpr: Use single `tSmallList` `Value` discriminator for small lists
xokdvium Jun 28, 2025
810455f
libexpr: Simplify Value::is* methods by introducing isa function temp…
xokdvium Jun 28, 2025
c39cc00
libexpr: Factor out `Payload` union to a default implementation of `V…
xokdvium Jun 28, 2025
e73fcf7
libexpr: Use proxy ListView for all Value list accesses
xokdvium Jul 2, 2025
5a20a48
libexpr: Reduce the size of Value down to 16 bytes
xokdvium Jun 30, 2025
c79b801
Merge pull request #13407 from xokdvium/smaller-value
roberth Jul 2, 2025
d4f67fd
Merge pull request #13369 from NixOS/null-revision-not-locked
edolstra Jul 3, 2025
eb97d8c
Fix indentation of "Unable to start any build" error message
edolstra Jul 4, 2025
af05ce0
queryMissing(): Return a struct
edolstra Jul 4, 2025
5d308cc
printMissing(): Take a MissingPaths argument
edolstra Jul 4, 2025
f039f68
nix-build: Drop unnecessary call to queryMissing()
edolstra Jul 4, 2025
6bf997e
Merge pull request #13419 from NixOS/fix-indent
xokdvium Jul 4, 2025
99c20e6
Merge pull request #13328 from h0nIg/patch-3
edolstra Jul 7, 2025
c512fd1
Merge pull request #13420 from NixOS/query-missing
roberth Jul 7, 2025
864ccb6
Merge pull request #13356 from SimSaladin/sim/fix-erase-output-paths
edolstra Jul 7, 2025
8a9e625
release notes: 2.30.0
edolstra Jul 7, 2025
19c4e78
Typo
edolstra Jul 7, 2025
f531249
Add manual release notes
edolstra Jul 7, 2025
2c0343e
# Contributors -> ## Contributors
edolstra Jul 7, 2025
a492493
Rearrange release notes
edolstra Jul 7, 2025
8c71de2
Add link
edolstra Jul 7, 2025
9e7655f
fix: make setuid tests use new build-dir location /nix/var/nix/builds
tomberek Jul 7, 2025
58e07c3
Sort contributors
edolstra Jul 7, 2025
9f8df68
doc: Add more links
roberth Jul 7, 2025
b9b791d
Merge pull request #13425 from NixOS/tomberek.update_setuid_test
edolstra Jul 7, 2025
ab5fc30
Merge pull request #13424 from NixOS/release-notes
edolstra Jul 7, 2025
812e069
Mark official release
edolstra Jul 7, 2025
175406c
Merge remote-tracking branch 'origin/2.30-maintenance' into sync-2.30.0
edolstra Jul 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -47,3 +47,6 @@ result-*
.DS_Store

flake-regressions

# direnv
.direnv/
11 changes: 11 additions & 0 deletions .mergify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,3 +139,14 @@ pull_request_rules:
labels:
- automatic backport
- merge-queue

- name: backport patches to 2.29
conditions:
- label=backport 2.29-maintenance
actions:
backport:
branches:
- "2.29-maintenance"
labels:
- automatic backport
- merge-queue
2 changes: 1 addition & 1 deletion .version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.29.1
2.30.0
2 changes: 2 additions & 0 deletions doc/manual/source/SUMMARY.md.in
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@
- [Tuning Cores and Jobs](advanced-topics/cores-vs-jobs.md)
- [Verifying Build Reproducibility](advanced-topics/diff-hook.md)
- [Using the `post-build-hook`](advanced-topics/post-build-hook.md)
- [Evaluation profiler](advanced-topics/eval-profiler.md)
- [Command Reference](command-ref/index.md)
- [Common Options](command-ref/opt-common.md)
- [Common Environment Variables](command-ref/env-common.md)
Expand Down Expand Up @@ -147,6 +148,7 @@
- [Release 3.0.0 (2025-03-04)](release-notes-determinate/rl-3.0.0.md)
- [Nix Release Notes](release-notes/index.md)
{{#include ./SUMMARY-rl-next.md}}
- [Release 2.30 (2025-07-07)](release-notes/rl-2.30.md)
- [Release 2.29 (2025-05-14)](release-notes/rl-2.29.md)
- [Release 2.28 (2025-04-02)](release-notes/rl-2.28.md)
- [Release 2.27 (2025-03-03)](release-notes/rl-2.27.md)
Expand Down
33 changes: 33 additions & 0 deletions doc/manual/source/advanced-topics/eval-profiler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
# Using the `eval-profiler`

Nix evaluator supports [evaluation](@docroot@/language/evaluation.md)
[profiling](<https://en.wikipedia.org/wiki/Profiling_(computer_programming)>)
compatible with `flamegraph.pl`. The profiler samples the nix
function call stack at regular intervals. It can be enabled with the
[`eval-profiler`](@docroot@/command-ref/conf-file.md#conf-eval-profiler)
setting:

```console
$ nix-instantiate "<nixpkgs>" -A hello --eval-profiler flamegraph
```

Stack sampling frequency and the output file path can be configured with
[`eval-profile-file`](@docroot@/command-ref/conf-file.md#conf-eval-profile-file)
and [`eval-profiler-frequency`](@docroot@/command-ref/conf-file.md#conf-eval-profiler-frequency).
By default the collected profile is saved to `nix.profile` file in the current working directory.

The collected profile can be directly consumed by `flamegraph.pl`:

```console
$ flamegraph.pl nix.profile > flamegraph.svg
```

The line information in the profile contains the location of the [call
site](https://en.wikipedia.org/wiki/Call_site) position and the name of the
function being called (when available). For example:

```
/nix/store/x9wnkly3k1gkq580m90jjn32q9f05q2v-source/pkgs/top-level/default.nix:167:5:primop import
```

Here `import` primop is called at `/nix/store/x9wnkly3k1gkq580m90jjn32q9f05q2v-source/pkgs/top-level/default.nix:167:5`.
5 changes: 5 additions & 0 deletions doc/manual/source/command-ref/nix-channel.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,11 @@ This command has the following operations:
Download the Nix expressions of subscribed channels and create a new generation.
Update all channels if none is specified, and only those included in *names* otherwise.

> **Note**
>
> Downloaded channel contents are cached.
> Use `--tarball-ttl` or the [`tarball-ttl` configuration option](@docroot@/command-ref/conf-file.md#conf-tarball-ttl) to change the validity period of cached downloads.

- `--list-generations`

Prints a list of all the current existing generations for the
Expand Down
20 changes: 15 additions & 5 deletions doc/manual/source/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,9 +31,22 @@

The industry term for storage and retrieval systems using [content addressing](#gloss-content-address). A Nix store also has [input addressing](#gloss-input-addressed-store-object), and metadata.

- [derivation]{#gloss-derivation}

A derivation can be thought of as a [pure function](https://en.wikipedia.org/wiki/Pure_function) that produces new [store objects][store object] from existing store objects.

Derivations are implemented as [operating system processes that run in a sandbox](@docroot@/store/building.md#builder-execution).
This sandbox by default only allows reading from store objects specified as inputs, and only allows writing to designated [outputs][output] to be [captured as store objects](@docroot@/store/building.md#processing-outputs).

A derivation is typically specified as a [derivation expression] in the [Nix language], and [instantiated][instantiate] to a [store derivation].
There are multiple ways of obtaining store objects from store derivatons, collectively called [realisation][realise].

[derivation]: #gloss-derivation

- [store derivation]{#gloss-store-derivation}

A single build task.
A [derivation] represented as a [store object].

See [Store Derivation](@docroot@/store/derivation/index.md#store-derivation) for details.

[store derivation]: #gloss-store-derivation
Expand All @@ -57,10 +70,7 @@

- [derivation expression]{#gloss-derivation-expression}

A description of a [store derivation] in the Nix language.
The output(s) of a derivation are store objects.
Derivations are typically specified in Nix expressions using the [`derivation` primitive](./language/derivations.md).
These are translated into store layer *derivations* (implicitly by `nix-env` and `nix-build`, or explicitly by `nix-instantiate`).
A description of a [store derivation] using the [`derivation` primitive](./language/derivations.md) in the [Nix language].

[derivation expression]: #gloss-derivation-expression

Expand Down
24 changes: 7 additions & 17 deletions doc/manual/source/language/advanced-attributes.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,23 +53,13 @@ Derivations can declare some infrequently used optional attributes.

- [`__structuredAttrs`]{#adv-attr-structuredAttrs}\
If the special attribute `__structuredAttrs` is set to `true`, the other derivation
attributes are serialised into a file in JSON format. The environment variable
`NIX_ATTRS_JSON_FILE` points to the exact location of that file both in a build
and a [`nix-shell`](../command-ref/nix-shell.md). This obviates the need for
[`passAsFile`](#adv-attr-passAsFile) since JSON files have no size restrictions,
unlike process environments.

It also makes it possible to tweak derivation settings in a structured way; see
[`outputChecks`](#adv-attr-outputChecks) for example.

As a convenience to Bash builders,
Nix writes a script that initialises shell variables
corresponding to all attributes that are representable in Bash. The
environment variable `NIX_ATTRS_SH_FILE` points to the exact
location of the script, both in a build and a
[`nix-shell`](../command-ref/nix-shell.md). This includes non-nested
(associative) arrays. For example, the attribute `hardening.format = true`
ends up as the Bash associative array element `${hardening[format]}`.
attributes are serialised into a file in JSON format.

This obviates the need for [`passAsFile`](#adv-attr-passAsFile) since JSON files have no size restrictions, unlike process environments.
It also makes it possible to tweak derivation settings in a structured way;
see [`outputChecks`](#adv-attr-outputChecks) for example.

See the [corresponding section in the derivation page](@docroot@/store/derivation/index.md#structured-attrs) for further details.

> **Warning**
>
Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/language/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Nix Language

The Nix language is designed for conveniently creating and composing *derivations* – precise descriptions of how contents of existing files are used to derive new files.
The Nix language is designed for conveniently creating and composing [derivations](@docroot@/glossary.md#gloss-derivation) – precise descriptions of how contents of existing files are used to derive new files.

> **Tip**
>
Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/language/operators.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@ All comparison operators are implemented in terms of `<`, and the following equi

## Logical implication

Equivalent to `!`*b1* `||` *b2*.
Equivalent to `!`*b1* `||` *b2* (or `if` *b1* `then` *b2* `else true`)

[Logical implication]: #logical-implication

Expand Down
4 changes: 2 additions & 2 deletions doc/manual/source/language/syntax.md
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,8 @@ passed in first , e.g.,

```nix
let add = { __functor = self: x: x + self.x; };
inc = add // { x = 1; };
in inc 1
inc = add // { x = 1; }; # inc is { x = 1; __functor = (...) }
in inc 1 # equivalent of `add.__functor add 1` i.e. `1 + self.x`
```

evaluates to `2`. This can be used to attach metadata to a function
Expand Down
4 changes: 4 additions & 0 deletions doc/manual/source/protocols/json/derivation.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,3 +85,7 @@ is a JSON object with the following fields:

* `env`:
The environment passed to the `builder`.

* `structuredAttrs`:
[Strucutured Attributes](@docroot@/store/derivation/index.md#structured-attrs), only defined if the derivation contains them.
Structured attributes are JSON, and thus embedded as-is.
2 changes: 1 addition & 1 deletion doc/manual/source/release-notes/rl-2.24.md
Original file line number Diff line number Diff line change
Expand Up @@ -284,7 +284,7 @@

`<nix/fetchurl.nix>` is also known as the builtin derivation builder `builtin:fetchurl`. It's not to be confused with the evaluation-time function `builtins.fetchurl`, which was not affected by this issue.

# Contributors
## Contributors

This release was made possible by the following 43 contributors:

Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/release-notes/rl-2.25.md
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@
`<nix/fetchurl.nix>` is also known as the builtin derivation builder `builtin:fetchurl`. It's not to be confused with the evaluation-time function `builtins.fetchurl`, which was not affected by this issue.


# Contributors
## Contributors

This release was made possible by the following 58 contributors:

Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/release-notes/rl-2.26.md
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,7 @@

- Evaluation caching now works for dirty Git workdirs [#11992](https://github.com/NixOS/nix/pull/11992)

# Contributors
## Contributors

This release was made possible by the following 45 contributors:

Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/release-notes/rl-2.27.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
blake3-34P4p+iZXcbbyB1i4uoF7eWCGcZHjmaRn6Y7QdynLwU=
```

# Contributors
## Contributors

This release was made possible by the following 21 contributors:

Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/release-notes/rl-2.28.md
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ This completes the infrastructure overhaul for the [RFC 132](https://github.com/
Although this change is not as critical, we figured it would be good to do this API change at the same time, also.
Also note that we try to keep the C API compatible, but we decided to break this function because it was young and likely not in widespread use yet. This frees up time to make important progress on the rest of the C API.

# Contributors
## Contributors

This earlier-than-usual release was made possible by the following 16 contributors:

Expand Down
2 changes: 1 addition & 1 deletion doc/manual/source/release-notes/rl-2.29.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ This fact is counterbalanced by the fact that most of those changes are bug fixe
This in particular prevents parts of GCC 14's diagnostics from being improperly filtered away.


# Contributors
## Contributors


This release was made possible by the following 40 contributors:
Expand Down
Loading