John Ericson
adb3608034
Merge branch 'small-storePath-cleanups' into path-info
2023-01-30 09:46:43 -05:00
John Ericson
f3e272ba02
Avoid some StorePath
<-> Path
round trips
...
Avoid needless work and throwing away invariants.
These conversions date back to when `StorePath` was in Rust and there
were issues with it missing utility methods.
2023-01-30 09:37:57 -05:00
Eelco Dolstra
c79b1582a7
Merge pull request #5226 from NixOS/client-side-profiles
...
Move the default profiles to the user’s home
2023-01-30 12:21:47 +01:00
Max
02e81cdf62
apply showAllSystems to legacyPackages as well
2023-01-27 23:59:48 +01:00
Théophane Hufschmitt
ab424a39a9
Merge remote-tracking branch 'nixos/master' into pr-flake-show-foreign
2023-01-27 09:46:46 +01:00
John Ericson
4540e7b940
Don't add StorePathDescriptor
for now
...
We don't need it yet, we can add it back later.
2023-01-23 12:58:27 -05:00
Eelco Dolstra
f503ba1b8b
Merge pull request #7595 from cole-h/show-setting-value
...
nix/show-config: allow getting the value of a specific setting
2023-01-23 17:56:39 +01:00
John Ericson
c67e0cc58c
Merge remote-tracking branch 'upstream/master' into path-info
2023-01-23 11:47:20 -05:00
Guillaume Maudoux
e4726a0c79
Revert "Revert "Merge pull request #6204 from layus/coerce-string""
...
This reverts commit 9b33ef3879
.
2023-01-19 13:23:04 +01:00
Robert Hensing
9b33ef3879
Revert "Merge pull request #6204 from layus/coerce-string"
...
This reverts commit a75b7ba30f
, reversing
changes made to 9af16c5f74
.
2023-01-18 01:34:07 +01:00
Théophane Hufschmitt
a5919f4754
Move the default profiles to the user’s home
...
Rather than using `/nix/var/nix/{profiles,gcroots}/per-user/`, put the user
profiles and gcroots under `$XDG_DATA_DIR/nix/{profiles,gcroots}`.
This means that the daemon no longer needs to manage these paths itself
(they are fully handled client-side). In particular, it doesn’t have to
`chown` them anymore (removing one need for root).
This does change the layout of the gc-roots created by nix-env, and is
likely to break some stuff, so I’m not sure how to properly handle that.
2023-01-17 14:17:28 +01:00
Robert Hensing
4e7592b593
flake check: Recognize well known community attributes
...
This avoids warning fatigue, making `nix flake check` more effective.
2023-01-16 20:16:45 +01:00
John Ericson
b3d91239ae
Make ValidPathInfo
have plain StorePathSet
references like before
...
This change can wait for another PR.
2023-01-14 16:42:03 -05:00
John Ericson
056cc1c1b9
Merge remote-tracking branch 'upstream/master' into path-info
2023-01-14 14:27:28 -05:00
Cole Helbling
1fc74afbba
nix/show-config: allow getting the value of a specific setting
...
Instead of needing to run `nix show-config --json | jq -r
'."warn-dirty".value'` to view the value of `warn-dirty`, you can now
run `nix show-config warn-dirty`.
2023-01-12 13:56:35 -08:00
John Ericson
5ba6e5d0d9
Remove default constructor from OutputsSpec
...
This forces us to be explicit.
It also requires to rework how `from_json` works. A `JSON_IMPL` is added
to assist with this.
2023-01-11 19:08:19 -05:00
John Ericson
ce2f91d356
Split OutputsSpec
and ExtendedOutputsSpec
, use the former more
...
`DerivedPath::Built` and `DerivationGoal` were previously using a
regular set with the convention that the empty set means all outputs.
But it is easy to forget about this rule when processing those sets.
Using `OutputSpec` forces us to get it right.
2023-01-11 18:57:18 -05:00
John Ericson
a7c0cff07f
Rename OutputPath
-> ExtendedOutputPath
...
Do this prior to making a new more limitted `OutputPath` we will use in
more places.
2023-01-11 18:55:29 -05:00
John Ericson
a8f45b5e5a
Improve OutputsSpec
slightly
...
A few little changes preparing for the rest.
2023-01-11 18:54:50 -05:00
John Ericson
5576d5e987
Parse string context elements properly
...
Prior to this change, we had a bunch of ad-hoc string manipulation code
scattered around. This made it hard to figure out what data model for
string contexts is.
Now, we still store string contexts most of the time as encoded strings
--- I was wary of the performance implications of changing that --- but
whenever we parse them we do so only through the
`NixStringContextElem::parse` method, which handles all cases. This
creates a data type that is very similar to `DerivedPath` but:
- Represents the funky `=<drvpath>` case as properly distinct from the
others.
- Only encodes a single output, no wildcards and no set, for the
"built" case.
(I would like to deprecate `=<path>`, after which we are in spitting
distance of `DerivedPath` and could maybe get away with fewer types, but
that is another topic for another day.)
2023-01-10 13:10:49 -05:00
John Ericson
da64f026dd
Make clear that StorePathWithOutputs
is a deprecated type
...
- Add a comment
- Put `OutputsSpec` in a different header (First part of #6815 )
- Make a few stray uses of it in new code use `DerivedPath` instead.
2023-01-10 11:27:19 -05:00
Eelco Dolstra
59cc920cc0
Add a FIXME
2023-01-10 15:20:30 +01:00
Eelco Dolstra
b80e4b57da
ExtraInfo -> ExtraPathInfo
2023-01-10 14:52:49 +01:00
Eelco Dolstra
8e923bf4c5
Merge remote-tracking branch 'origin/master' into fix-7417
2023-01-10 14:35:06 +01:00
John Ericson
46e942ff9e
Do big rename to clean up code
...
- `PathReferences` -> `References`
- `PathReferences<StorePath>` -> `StoreReference`
- `references` -> `others`
- `hasSelfReference` -> `self`
And get rid of silly subclassing
2023-01-06 15:36:05 -05:00
John Ericson
6a168254ce
Use named field initialization for references
2023-01-06 12:24:20 -05:00
John Ericson
e9fc1e4fdb
Merge remote-tracking branch 'upstream/master' into path-info
2023-01-06 10:35:20 -05:00
Naïm Favier
f1ee4ece80
Don't check NixOS modules
...
NixOS modules can be paths. Rather than dig further down into the layer
violation, don't check anything specific to NixOS modules.
2023-01-05 18:23:30 +01:00
Eelco Dolstra
0fe2b222d5
Merge pull request #7539 from tweag/fix-nix-why-depends--derivation
...
Fix `nix why-depends --derivation`
2023-01-05 15:32:04 +01:00
Eelco Dolstra
6b69652385
Merge remote-tracking branch 'origin/master' into coerce-string
2023-01-02 20:53:39 +01:00
Théophane Hufschmitt
8cac451fce
Fix why-depends for CA derivations (again)
...
This has the same goal as b13fd4c58e81b2b2b0d72caa5ce80de861622610,but
achieves it in a different way in order to not break
`nix why-depends --derivation`.
2023-01-02 17:42:22 +01:00
Théophane Hufschmitt
105d74eb81
Revert "Fix why-depends for CA derivations"
...
This reverts commit b13fd4c58e
.
2023-01-02 15:44:04 +01:00
Valentin Gagarin
9cdf8ededb
remove redundant re-definition of store derivations
2023-01-02 13:37:59 +01:00
Théophane Hufschmitt
cfd6c7fc9b
Merge pull request #7485 from fricklerhandwerk/doc-store-derivation
...
define "store derivation"
2023-01-02 13:26:41 +01:00
Eelco Dolstra
c164d304f3
nix develop: Set personality
...
This makes 'nix develop' set the Linux personality in the same way
that the actual build does, allowing a command like 'nix develop
nix#devShells.i686-linux.default' on x86_64-linux to work correctly.
2022-12-23 16:33:55 +01:00
Valentin Gagarin
7797661a70
link "store derivation" to glossary definition
2022-12-21 11:42:50 +01:00
Valentin Gagarin
3a66d82e1d
update description of "store derivation" in installables section
...
a store derivation is not a store path itself, it has a store path.
2022-12-21 11:42:22 +01:00
Eelco Dolstra
845fc3f605
Merge toDerivations() into toDerivedPaths()
...
toDerivedPaths() now returns DerivedPathWithInfo, which is DerivedPath
with some attributes needed by 'nix profile' etc.
Preparation for #7417 .
2022-12-20 14:24:14 +01:00
Timothy DeHerrera
94cf0da7b2
fix(develop): make nix develop
drv recreatable
2022-12-19 13:16:06 -07:00
Eelco Dolstra
46b3c026fc
Merge pull request #7455 from rapenne-s/documentation_fix
...
Add anchors and links to definition
2022-12-13 17:26:52 +01:00
Solène Rapenne
09860c16ce
documentation: use sections instead of list items
2022-12-13 11:47:44 +01:00
John Ericson
32ae715db1
Fix typos in the docs
...
Thanks!
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
2022-12-12 17:37:45 -05:00
John Ericson
dabb03b8d0
Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputs
2022-12-12 17:36:02 -05:00
John Ericson
d8c1c24c78
Adjust docs
2022-12-12 17:32:24 -05:00
John Ericson
dc075dcdd0
Apply suggestions from code review
...
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-12-12 16:26:10 -05:00
John Ericson
1879c7c95e
Merge branch 'master' into indexed-store-path-outputs
2022-12-12 07:33:36 -05:00
Eelco Dolstra
703d863a48
Trivial changes from the lazy-trees branch
2022-12-07 14:06:34 +01:00
Eelco Dolstra
e0ab2069c9
Consistent capitalisation
2022-12-05 16:55:55 +01:00
Eelco Dolstra
f1e1ba9fe0
Really fix 'nix store make-content-addressed --json'
...
https://hydra.nixos.org/log/mcgypcf9vj4n8vdmw7lj3l05c899v73w-nix-2.12.0pre20221201_16b03f0-x86_64-unknown-linux-musl.drv
2022-12-01 16:29:09 +01:00
Eelco Dolstra
0b092bd87f
nix store make-content-addressed: Fix JSON construction
...
Fixes
error: [json.exception.type_error.301] cannot create object from initializer list
in tests/fetchClosure.sh.
2022-11-30 13:46:33 +01:00