Eelco Dolstra
7059d2b58b
Merge remote-tracking branch 'origin/2.29-maintenance' into sync-2.29.1
2025-06-23 15:02:22 +02:00
Luc Perkins
a989a23d1a
Fix some instances of 'will'
2025-06-06 10:51:58 -07:00
Seth Flynn
fcdffffa37
lockFlake(): Allow registry lookups for overridden inputs
...
Fixes #13144
(cherry picked from commit d0a2323829 )
2025-06-06 08:12:20 +00:00
Eelco Dolstra
c20642ac7b
Merge remote-tracking branch 'origin/2.29-maintenance' into detsys-main
2025-05-16 12:48:44 +02:00
Eelco Dolstra
d00682beb2
Backward compatibility hack for dealing with dir in URL-style flakerefs
2025-05-09 10:10:42 +02:00
Eelco Dolstra
bf1c0072f6
Backward compatibility hack for dealing with dir in URL-style flakerefs
2025-05-08 19:12:43 +02:00
Eelco Dolstra
577b331464
Merge remote-tracking branch 'detsys/detsys-main' into lazy-trees-v2
2025-05-06 19:09:09 +02:00
Sergei Zimmerman
d8c97d8073
treewide: Use StringSet alias consistently instead of std::set<std::string>
...
The intention is to switch to transparent comparators from N3657 for
ordered set containers for strings and using the alias consistently
would simplify things.
2025-05-02 17:40:29 +00:00
Jörg Thalheim
5b59be914d
Replace symlink_exists with pathExists
...
As it turns out the orignal implementation of symlink_exists cannot be
used in Nix because it did now std::filesystem::filesystem_error.
The new implementation fixes that but is now actually the same as
pathExists except for the path type.
2025-05-01 14:22:35 +02:00
Eelco Dolstra
c92cb4c130
Tagging release 2.28.3
...
-----BEGIN PGP SIGNATURE-----
iQFHBAABCAAxFiEEtUHVUwEnDgvPFcpdgXC0cm1xmN4FAmgRLc8THGVkb2xzdHJh
QGdtYWlsLmNvbQAKCRCBcLRybXGY3itzB/0ehHDYPXycvwpdL4MuAcroY5GgQJLz
dGkrmv9tMQXERqjnqd86LW6BgKwG3UY12xFMeFgYQyV/TzC6iwZUgI+Kr+baFMhH
JoEXgLTXRwnyC54mXUGPrX6P9MwPBoUpAClaG5iH9SCV70Z/PLuXsd4/HoDmLxsi
tVCTxoq9kn7o/YAMOQGY3KTfM26LqEPOv2vTco2ETEnNqSXCjUJ/MniMdTGCsTxy
rdWqel95EuIb0qsMSRPrVV6xmx/KjamTSzdCcXWQbpAu4xjUyacnjL3XpGWkMUKV
HKtbNdXboHwJgtwe66HMCgtfWPB6JCamMRm+h/b6BrTTz46eJWiaG/KW
=Exmm
-----END PGP SIGNATURE-----
Merge tag '2.28.3' into sync-2.28.3
Tagging release 2.28.3
2025-04-30 17:45:27 +02:00
Eelco Dolstra
a9c1751e2f
Update src/libflake/flake/flake.cc
...
Co-authored-by: Graham Christensen <graham@grahamc.com>
2025-04-25 21:51:32 +02:00
Eelco Dolstra
ca1b2dc617
Warn against the use of indirect flakerefs in flake inputs
2025-04-25 21:16:27 +02:00
Eelco Dolstra
953ec00794
getFlake(): Don't use registries for refetching
...
`newLockedRef` is already resolved so there is no need to re-resolve
it.
2025-04-25 13:46:42 +02:00
Eelco Dolstra
dfbb52e6bd
lockFlake(): Allow registry lookups for the top-level flake
...
Fixes #13050 .
(cherry picked from commit 68de26d38a )
2025-04-25 13:31:24 +02:00
Eelco Dolstra
68de26d38a
lockFlake(): Allow registry lookups for the top-level flake
...
Fixes #13050 .
2025-04-24 18:59:10 +02:00
Eelco Dolstra
dda265f09a
Reapply "Actually ignore system/user registries during locking"
...
This reverts commit 3b5f0d9fb3 .
2025-04-24 17:33:27 +02:00
Jörg Thalheim
04fcc879e6
Revert "Actually ignore system/user registries during locking"
...
This reverts commit 77d4316353 .
(cherry picked from commit 3b5f0d9fb3 )
2025-04-24 11:34:57 +00:00
Jörg Thalheim
3b5f0d9fb3
Revert "Actually ignore system/user registries during locking"
...
This reverts commit 77d4316353 .
2025-04-24 11:28:11 +02:00
Eelco Dolstra
5a2ee1b952
Move libflake/flake/* to libflake
...
(cherry picked from commit bc67e47298 )
2025-04-23 19:06:03 +00:00
Eelco Dolstra
bc67e47298
Move libflake/flake/* to libflake
2025-04-23 17:20:42 +02:00
Eelco Dolstra
182edb4dee
Move mountInput into EvalState
2025-04-23 13:53:29 +02:00
Eelco Dolstra
a6faa69fc8
Merge remote-tracking branch 'detsys/detsys-main' into lazy-trees-tmp
2025-04-23 12:25:28 +02:00
Eelco Dolstra
9574d3938f
Tagging release 2.28.2
...
-----BEGIN PGP SIGNATURE-----
iQFHBAABCAAxFiEEtUHVUwEnDgvPFcpdgXC0cm1xmN4FAmgA7TQTHGVkb2xzdHJh
QGdtYWlsLmNvbQAKCRCBcLRybXGY3l0rB/0c5l5EhZUAMvjnUhug8+6/g6fLLisS
ehrP9FxrjV5D2lO3EQcsBgW3bYzOwbcubuPBq8yPMlSLpf+uiAV1qxSKFGD3pnpZ
6o7K3P3kaohFl6JL5oEn9yTGgm1EubYpW3c9zO8yaL32Jknjm44bD4mKr5Rz18jI
YUfe1xDeYCwRY7YMrBKGwU2v/tlsjMX9XQlHuKPSx8uVA/UgxJk/41dIdzb0rhw5
ueuKO2GEEMd/iV5lCEVFnk1WJoHru1fqTDAqRhDZJjFVbguYAIl7OQFQuBbtG3hv
6SFC0iy/IoSrj9tRwSV+4wQU5fk6Gw2IYQlIw6VSx6xIydf46AjomPjX
=xUfr
-----END PGP SIGNATURE-----
Merge tag '2.28.2' into detsys-main
Tagging release 2.28.2
2025-04-17 16:58:05 +02:00
Robert Hensing
818fc68db6
fix: Evaluate flake parent source without evaluating its outputs
...
This requires that we refer to the `sourceInfo` instead of the
`result`. However, `sourceInfo` does not create a chain of basedir
resolution, so we add that back with `flakeDir`.
(cherry picked from commit 2109a5a206 )
2025-04-15 11:52:46 +00:00
Robert Hensing
671364748c
call-flake.nix: allNodes.${key} -> allNodes.${key}.result
...
(cherry picked from commit 9de9410f29 )
2025-04-15 11:52:45 +00:00
Robert Hensing
9a969e29cf
call-flake.nix: refactor: Bring mapAttrs into scope
...
(cherry picked from commit 674375b021 )
2025-04-15 11:52:45 +00:00
Jörg Thalheim
99a16c5203
Merge pull request #13026 from roberth/issue-13018
...
CI / eval (push) Waiting to run
CI / tests ${{ matrix.scenario }} (darwin, macos-14, on macos) (push) Waiting to run
CI / tests ${{ matrix.scenario }} (linux, ubuntu-24.04, on ubuntu) (push) Waiting to run
CI / installer test ${{ matrix.scenario }} (darwin, macos-14, on macos) (push) Blocked by required conditions
CI / installer test ${{ matrix.scenario }} (linux, ubuntu-24.04, on ubuntu) (push) Blocked by required conditions
CI / Check Docker secrets present for installer tests (push) Waiting to run
CI / docker_push_image (push) Blocked by required conditions
CI / vm_tests (push) Waiting to run
CI / flake_regressions (push) Blocked by required conditions
Fix issue #13018 , `sourceInfo` strict in `outputs`
2025-04-15 13:51:02 +02:00
Robert Hensing
2109a5a206
fix: Evaluate flake parent source without evaluating its outputs
...
This requires that we refer to the `sourceInfo` instead of the
`result`. However, `sourceInfo` does not create a chain of basedir
resolution, so we add that back with `flakeDir`.
2025-04-15 13:22:53 +02:00
Robert Hensing
9de9410f29
call-flake.nix: allNodes.${key} -> allNodes.${key}.result
2025-04-15 13:22:53 +02:00
Robert Hensing
674375b021
call-flake.nix: refactor: Bring mapAttrs into scope
2025-04-15 13:22:53 +02:00
Eelco Dolstra
e099a5bc67
Move the InputCache to EvalState
2025-04-14 15:02:24 +02:00
Eelco Dolstra
4966217b6a
Move the InputCache to EvalState
2025-04-14 14:29:14 +02:00
Eelco Dolstra
e3042f10af
Move getAccessorCached() to InputCache
2025-04-10 10:24:15 +02:00
Eelco Dolstra
012453d1e6
Move the input cache into libfetchers
2025-04-10 10:24:15 +02:00
Eelco Dolstra
c7f8147282
Rename FlakeCache -> InputCache and key it on Inputs instead of FlakeRefs
2025-04-10 10:24:15 +02:00
Eelco Dolstra
dd15c8a20d
Move getAccessorCached() to InputCache
...
Also, make fetchTree use InputCache.
2025-04-09 23:06:03 +02:00
Eelco Dolstra
3bbf917707
Move the input cache into libfetchers
2025-04-09 22:13:28 +02:00
Eelco Dolstra
0cb06d7eda
Rename FlakeCache -> InputCache and key it on Inputs instead of FlakeRefs
2025-04-09 21:38:08 +02:00
Eelco Dolstra
f45db85887
Actually ignore system/user registries during locking
...
Something went wrong in #12068 so this didn't work. Also added a test.
2025-04-09 21:04:42 +02:00
Eelco Dolstra
a08477975d
Actually ignore system/user registries during locking
...
Something went wrong in #12068 so this didn't work. Also added a test.
(cherry picked from commit 77d4316353 )
2025-04-09 16:33:47 +00:00
Eelco Dolstra
77d4316353
Actually ignore system/user registries during locking
...
Something went wrong in #12068 so this didn't work. Also added a test.
2025-04-09 17:59:51 +02:00
Eelco Dolstra
febd28db87
Lazily copy trees to the store
...
We now mount lazy accessors on top of /nix/store without materializing
them, and only materialize them to the real store if needed (e.g. in
the `derivation` primop).
2025-04-08 23:41:59 +02:00
Eelco Dolstra
c891554999
Merge branch 'lazy-flake-commands' into lazy-trees-v2
2025-04-08 22:16:20 +02:00
Robert Hensing
e76bbe413e
Merge pull request #12877 from roberth/c-api-libflake-override-input
...
C API: Flake loading, input overriding
2025-04-08 09:01:51 +02:00
Eelco Dolstra
59d1634aab
Tagging release 2.28.1
...
-----BEGIN PGP SIGNATURE-----
iQFHBAABCAAxFiEEtUHVUwEnDgvPFcpdgXC0cm1xmN4FAmfzku8THGVkb2xzdHJh
QGdtYWlsLmNvbQAKCRCBcLRybXGY3ngWB/0e5vMSgZtARQXjuyexyJyy2m8JIQzJ
Stw7dP0/oAvWYWuytez3jX4KC9xztMELblgZzXQhO72wIfzpa/CmxWQXVSaHm6Kq
zYAWhxXz2HKGEPd8bS6eCFCZcrmChso7UN2WjrROYwB+1HO5S1rtOJtv2K1zvy5C
xRMoOpSfKVfn63FoODhenW3UWbfeck5Dmb6eirPxvIMUIcDi2FeX5MVlklgNhxum
351/Ymo5dxyK1pGmm8NrvB/3RSk7rVRUR+R4257lCmrN0g4gvM0G4MvxGm+XHMmC
d/tmeU+JKPiXKFDSWmuTCmwCenu/q95QRadKST+Wls+qc4gHQLCaXfgn
=hcKx
-----END PGP SIGNATURE-----
Merge tag '2.28.1' into sync-2.28.0
Tagging release 2.28.1
2025-04-07 11:21:07 +02:00
Alexander Romanov
49b6766332
libflake: add lock file path to invalid json error
...
Previously, when lock file contained invalid JSON nix reported a parser
error without specifying the file it came from.
This change adds flake.lock file path to the error message to avoid
confusion.
(cherry picked from commit e3873aa1a0 )
2025-04-06 23:33:35 +00:00
Alexander Romanov
e3873aa1a0
libflake: add lock file path to invalid json error
...
Previously, when lock file contained invalid JSON nix reported a parser
error without specifying the file it came from.
This change adds flake.lock file path to the error message to avoid
confusion.
2025-04-06 22:52:46 +03:00
Eelco Dolstra
852075ec9d
Tagging release 2.28.0
...
-----BEGIN PGP SIGNATURE-----
iQFHBAABCAAxFiEEtUHVUwEnDgvPFcpdgXC0cm1xmN4FAmfv9fITHGVkb2xzdHJh
QGdtYWlsLmNvbQAKCRCBcLRybXGY3ohrCAC1Uw/JJr3yEPlJ/jLc9t9HqEKMY08W
W6SEjpYJHYixMXmoonexkqojncNWBaiytRa+vBY7JQq0xTOOBwj42TM2ZzMF4GXi
vO4Ox0hEsRa/v7tSmK6GFz1sNEKEUOHDNbilg4kzkkBHPEGPUGMwdWkT0akO576Q
SQ6ERwPPLsHDI2YtAeAD8R4p07CraiyA34ljDPz3rChTAXRPVKWxJUt1enwEWYTr
cKk45RcR4S8rP1BVwf3wsNsrHjqjbaY45kPAo8GD79hFH0zkyJarS3Kgv8qsWLra
9ph0DVVG0wiArlET7Y3uchqtAC0Z5LOnutAmOFYFw6DKfWp9yGfl/SVW
=XRda
-----END PGP SIGNATURE-----
Merge tag '2.28.0' into sync-2.28.0
Tagging release 2.28.0
2025-04-04 17:49:15 +02:00
Robert Hensing
05e5bd2140
Docs
2025-04-02 18:02:32 +02:00
John Ericson
0c67777396
Expose the nix component in header include paths
...
For example, instead of doing
#include "nix/store-config.hh"
#include "nix/derived-path.hh"
Now do
#include "nix/store/config.hh"
#include "nix/store/derived-path.hh"
This was originally planned in the issue, and also recent requested by
Eelco.
Most of the change is purely mechanical. There is just one small
additional issue. See how, in the example above, we took this
opportunity to also turn `<comp>-config.hh` into `<comp>/config.hh`.
Well, there was already a `nix/util/config.{cc,hh}`. Even though there
is not a public configuration header for libutil (which also would be
called `nix/util/config.{cc,hh}`) that's still confusing, To avoid any
such confusion, we renamed that to `nix/util/configuration.{cc,hh}`.
Finally, note that the libflake headers already did this, so we didn't
need to do anything to them. We wouldn't want to mistakenly get
`nix/flake/flake/flake.hh`!
Progress on #7876
(cherry picked from commit cc24766fa6 )
2025-04-02 11:37:17 -04:00