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
amesgen
a5ab253e8f
Mention host
parameter for GitHub
2022-12-07 12:38:18 +01:00
amesgen
105677140d
Document gitlab
input scheme
2022-12-06 10:36:39 +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
Eelco Dolstra
fbc53e97ed
Merge pull request #3600 from NixOS/auto-uid-allocation
...
Automatic UID allocation
2022-11-29 14:01:42 +01:00
Eelco Dolstra
dbf78a7ada
Merge pull request #7313 from yorickvP/nlohmann-everywhere
...
Replace src/libutil/json.cc with nlohmann
2022-11-28 15:03:48 +01:00
John Ericson
26534f141c
Merge branch 'master' into indexed-store-path-outputs
2022-11-25 08:14:32 -05:00
Théophane Hufschmitt
bc9692a6b7
Merge pull request #7337 from Radvendii/why-depends-ca
...
Fix why-depends for CA derivations
2022-11-23 20:16:14 +01:00
Taeer Bar-Yam
bd8571a5c3
add explanation and test
2022-11-23 12:06:47 -05:00
Taeer Bar-Yam
b13fd4c58e
Fix why-depends for CA derivations
...
why-depends assumed that we knew the output path of the second argument.
For CA derivations, we might not know until it's built. One way to solve
this would be to build the second installable to get the output path.
In this case we don't need to, though. If the first installable (A)
depends on the second (B), then getting the store path of A will
necessitate having the store path B. The contrapositive is, if the store
path of B is not known (i.e. it's a CA derivation which hasn't been
built), then A does not depend on B.
2022-11-23 11:39:50 -05:00
Eelco Dolstra
f0baa5c128
nix build --json: Include build statistics
...
Example:
# nix build -L --extra-experimental-features cgroups --impure --expr 'with import <nixpkgs> {}; runCommand "foo" {} "dd if=/dev/urandom bs=1M count=1024 | md5sum; mkdir $out"' --json
[
{
"cpuSystem": 1.911431,
"cpuUser": 1.214249,
"drvPath": "/nix/store/xzdqz67xba18hljhycp0hwfigzrs2z69-foo.drv",
"outputs": {
"out": "/nix/store/rh9mc9l2gkpq8kn2sgzndr6ll7ffjh6l-foo"
},
"startTime": 1669024076,
"stopTime": 1669024079
}
]
2022-11-21 12:06:01 +01:00
Eelco Dolstra
e7a5b76844
Rename derivedPathsWithHintsToJSON -> builtPathsToJSON
2022-11-21 11:56:20 +01:00
Eelco Dolstra
653b32a78f
Merge remote-tracking branch 'origin/master' into auto-uid-allocation
2022-11-21 11:33:23 +01:00
Eelco Dolstra
300753d594
nix build --json: Include build statistics
...
Example:
# nix build -L --extra-experimental-features cgroups --impure --expr 'with import <nixpkgs> {}; runCommand "foo" {} "dd if=/dev/urandom bs=1M count=1024 | md5sum; mkdir $out"' --json
[
{
"cpuSystem": 1.911431,
"cpuUser": 1.214249,
"drvPath": "/nix/store/xzdqz67xba18hljhycp0hwfigzrs2z69-foo.drv",
"outputs": {
"out": "/nix/store/rh9mc9l2gkpq8kn2sgzndr6ll7ffjh6l-foo"
},
"startTime": 1669024076,
"stopTime": 1669024079
}
]
2022-11-21 10:49:01 +01:00
Eelco Dolstra
f538ee4342
Rename derivedPathsWithHintsToJSON -> builtPathsToJSON
2022-11-21 09:38:08 +01:00
Yorick
09f00dd4d0
Replace src/libutil/json.cc with nlohmann json generation
2022-11-16 16:50:50 +01:00
Et7f3
efadeee8fd
build: use pkg-config for lowdown
2022-11-12 23:04:58 +01:00
Valentin Gagarin
f7ab93b068
manual: build action -> build task
...
after discussing this with multiple people, I'm convinced that "build
task" is more precise: a derivation is not an action, but inert until it
is built. also it's easier to pronounce.
proposal: use "build task" for the generic concept "description of how
to derive new files from the contents of existing files". then it will
be easier to distinguish what we mean by "derivation" (a specific data
structure and Nix language value type) and "store derivation" (a
serialisation of a derivation into a file in the Nix store).
2022-11-06 13:28:18 +01:00
Eelco Dolstra
0edba4cc1e
Merge pull request #7231 from jfroche/fix/savedArgv-access
...
Move savedArgv into libmain
2022-10-31 16:35:08 +01:00
John Ericson
13f2a6f38d
Merge branch 'master' into indexed-store-path-outputs
2022-10-28 23:22:18 +01:00
Jean-François Roche
cd86eeb693
Move savedArgv into libmain
...
`savedArgv` is not accessible by plugins when defined in main binary.
Moving it into one of the nix lib fix the problem.
2022-10-28 12:19:37 +02:00
Eelco Dolstra
b7e8a3bf4c
Merge pull request #7217 from NixOS/restore-nix-build-remote
...
Fix `nix __build-remote`
2022-10-27 13:33:51 +02:00
Théophane Hufschmitt
9bff7e8ee2
Fix nix __build-remote
...
Because of a wrong index, `nix __build-remote` wasn't working.
Fix the index to restore the command (and the build hook).
2022-10-26 11:53:46 +02:00
Yorick
aff6d10934
nix run: fix "'defaultApp.x86_64-linux' should have type 'derivation'"
2022-10-26 10:05:27 +02:00
Eelco Dolstra
95331cb9c9
Merge pull request #7183 from n8henrie/patch-1
...
Fix typo -- dashes not underscores
2022-10-19 11:21:52 +02:00
Eelco Dolstra
61f89e954a
Add command 'nix store path-from-hash-part'
...
This exposes the Store::queryPathFromHashPart() interface in the CLI.
2022-10-18 16:51:12 +02:00
Nathan Henrie
af9c9504ca
Fix typo -- dashes not underscores
2022-10-17 14:15:32 -06:00
Guillaume Maudoux
3f9f6ae127
Merge remote-tracking branch 'origin/master' into coerce-string
2022-10-16 20:39:19 +02:00
Eelco Dolstra
eba610956b
Move some options into a misc category
...
This unclutters the per-command options a bit by moving out some
global options.
2022-10-12 15:09:17 +02:00
Ana Hobden
069409d167
Print common flags in --help
2022-10-07 09:07:22 -07:00
Théophane Hufschmitt
371013c08d
Merge pull request #7010 from edolstra/ignore-shell
...
nix develop: Ignore stdenv's $SHELL
2022-09-24 12:55:53 +02:00
John Ericson
60e23c8bae
Apply suggestions from code review
...
Co-authored-by: Valentin Gagarin <valentin.gagarin@tweag.io>
Co-authored-by: Rune K. Svendsen <runesvend@gmail.com>
2022-09-23 13:57:57 -04:00
John Ericson
a2a8cb10ac
Dodge "trusted" vs "trustworthy" by being explicit
...
Hopefully this is best!
2022-09-22 14:37:52 -04:00
John Ericson
752f967c0f
"valid signature" -> "trustworthy signature"
...
I just had a colleague get confused by the previous phrase for good
reason. "valid" sounds like an *objective* criterion, e.g. and *invalid
signature* would be one that would be trusted by no one, e.g. because it
misformatted or something.
What is actually going is that there might be a signature which is
perfectly valid to *someone else*, but not to the user, because they
don't trust the corresponding public key. This is a *subjective*
criterion, because it depends on the arbitrary and personal choice of
which public keys to trust.
I therefore think "trustworthy" is a better adjective to use. Whether
something is worthy of trust is clearly subjective, and then "trust"
within that word nicely evokes `trusted-public-keys` and friends.
2022-09-22 10:49:31 -04:00
Eelco Dolstra
d365cced4f
Trim option descriptions
...
This removes unintended blank lines in Markdown when the description
is a multiline string literal.
2022-09-13 16:58:32 +02:00
Valentin Gagarin
dceb4f9dbb
Merge pull request #6825 from rapenne-s/nix_shell_example
...
nix shell: document how to invoke multiple commands from the command …
2022-09-09 13:35:23 +02:00
Max
6da4cc92d8
showForeign -> showAllSystems
2022-09-07 20:28:30 +02:00
Guillaume Maudoux
eb460a9529
WIP: broken merge but need a git checkpoint
2022-09-07 00:34:03 +02:00
Eelco Dolstra
27be54ca53
nix develop: Ignore stdenv's $SHELL
...
Stdenv sets this to a bash that doesn't have readline/completion
support, so running 'nix (develop|shell)' inside a 'nix develop' gives
you a crippled shell. So let's just ignore the derivation's $SHELL.
This could break interactive use of build phases that use $SHELL, but
they appear to be fairly rare.
2022-09-06 18:27:39 +02:00
Jonathan Ringer
6ce2e96c88
Docs: Add nix develop --command entry
...
Add example of nix develop being used to execuate a series of script
commands. This is common when doing things like CI/CD, and should be
represented in the official documentation.
Also useful for people looking for the 'nix develop' equivalent of
'nix-shell --run'.
Related:
- https://github.com/NixOS/nix/issues/6908
- https://github.com/NixOS/nix/issues/6908#issuecomment-1229266853
2022-09-06 08:18:29 -07:00
Max
02bff90e7b
nix flake show: don't evaluate derivations for foreign systems by default
2022-09-01 22:04:22 +02:00
Eelco Dolstra
bb411e4ae1
Fix progress bar flicker with -L
...
This was caused by -L calling setLogFormat() again, which caused the
creation of a new progress bar without destroying the old one. So we
had two progress bars clobbering each other.
We should change 'logger' to be a smart pointer, but I'll do that in a
future PR.
Fixes #6931 .
2022-08-24 22:36:40 +02:00
Eelco Dolstra
4a0c4ca186
Merge pull request #6944 from edolstra/bash-vars
...
nix develop: Ignore some more bash special variables
2022-08-23 20:15:18 +02:00
Eelco Dolstra
0e54fab0dd
Merge pull request #6909 from ncfavier/json-paths
...
JSON: print paths as strings without copying them to the store
2022-08-23 15:19:33 +02:00
Eelco Dolstra
db026103b1
nix develop: Ignore some more bash special variables
...
Fixes #6940 .
2022-08-23 14:57:08 +02:00
Naïm Favier
4c2ff4a0f4
JSON: add missing newlines
...
after `nix eval --json` and `nix-instantiate --eval --json`.
2022-08-22 15:07:52 +02:00
Naïm Favier
062e4fcdde
JSON: print paths as strings without copying them to the store
...
Makes `printValueAsJSON` not copy paths to the store for `nix eval
--json`, `nix-instantiate --eval --json` and `nix-env --json`.
Fixes https://github.com/NixOS/nix/issues/5612
2022-08-22 15:01:35 +02:00
Jakub Kuczys
7d800909e9
Fix default profile path for root in nix profile documentation
2022-08-20 03:48:42 +02:00
Eelco Dolstra
e62160579f
nix flake metadata: Don't show "Inputs" if there are no inputs
2022-08-17 11:31:34 +02:00
David Arnold
b58785ab83
docfix: bundlers
2022-08-10 18:49:29 -05:00
Erik Arvstedt
4c8441be0a
docs/flake-update: fix example
2022-08-04 09:45:30 +02:00
Solène Rapenne
92bae33ca5
nix shell: example shouldn't use an absolute path for the shell
...
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-07-21 14:25:07 +02:00
Solène Rapenne
64404220f5
nix shell: document how to invoke multiple commands from the command line
2022-07-20 14:54:46 +02:00
John Ericson
12461e246b
Leverage existing docs for new store-path^outputs syntax
2022-07-15 14:04:22 +00:00
John Ericson
0e4ec98ae8
Fix typo in docs
...
Thanks!
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-07-15 09:49:23 -04:00
John Ericson
279ecf7cde
Remove computed-derivations
experimental feature
...
We don't need it yet.
2022-07-15 13:42:17 +00:00
Jeremy Fleischman
04386f7d69
nix develop: do not assume that saved vars are set
...
This fixes https://github.com/NixOS/nix/issues/6809
2022-07-14 23:25:39 -07:00
John Ericson
8735f55dec
Fix bug, test more, document more
2022-07-14 20:23:43 -04:00
John Ericson
6cafe308c9
Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputs
2022-07-14 16:15:37 -04:00
Théophane Hufschmitt
f071eb3702
Merge pull request #6693 from ncfavier/complete-flake-inputs
...
Improve shell completion of flake inputs
2022-07-12 09:12:00 +02:00
Naïm Favier
711b2e1f48
Fix flake input completion for InstallablesCommand
s
...
Defers completion of flake inputs until the whole command line is parsed
so that we know what flakes we need to complete the inputs of.
Previously, `nix build flake --update-input <Tab>` always behaved like
`nix build . --update-input <Tab>`.
2022-07-11 15:13:51 +02:00
Théophane Hufschmitt
b7eb4ac169
Merge pull request #6699 from tennox/better-flake-new-error-message
...
flakes: apply templates partially on conflicts
2022-06-29 18:21:07 +02:00
Théophane Hufschmitt
4c8210095e
Merge pull request #6233 from flox/nix-repl-flakes
...
Nix repl flakes
2022-06-29 17:59:22 +02:00
Eelco Dolstra
4248174e71
Merge pull request #6702 from ncfavier/develop-prepend-vars
...
nix develop: save XDG_DATA_DIRS for loadable completion
2022-06-29 14:49:31 +02:00
Théophane Hufschmitt
f8fea9075c
Merge remote-tracking branch 'origin/master' into better-flake-new-error-message
2022-06-29 13:44:14 +02:00
Alex Wied
cd361b31fa
doc: Fix typo
2022-06-28 22:43:37 -04:00
Manu [tennox]
ae4c9ef8e2
#6699 flake init: fix trying to add unchanged file
...
After skipping because of being of identical content it tried to git add it.
2022-06-26 21:35:21 +01:00
Manu [tennox]
4374e3ec67
#6699 flake init: Apply suggestions of @thufschmitt
2022-06-26 18:12:30 +01:00
Manuel
58cbbdc5e7
Update src/nix/flake.cc
...
https://github.com/NixOS/nix/pull/6699#discussion_r904097147
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-06-26 18:00:57 +01:00
Manuel
117baee1b7
Update src/nix/flake.cc
...
https://github.com/NixOS/nix/pull/6699#discussion_r904096906
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-06-26 18:00:34 +01:00
Eelco Dolstra
d3176ce076
Fix build-remote in nix-static
...
'build-remote' is now executed via /proc/self/exe so it always works.
2022-06-23 01:32:46 +02:00
Naïm Favier
155c57c171
nix develop: save XDG_DATA_DIRS for loadable completion
2022-06-23 01:11:33 +02:00
Manu [tennox]
3a85fd077c
#6542 Apply flake templates partially on conflicts
...
Will still exit with non-zero exit code and clearly prompt which files to merge:
```
nixx flake init -t github:numtide/devshell
wrote: /home/manu/dev/stuff/gopassbridge/.envrc
refusing to overwrite existing file '/home/manu/dev/stuff/gopassbridge/.gitignore'
-> merge manually with '/nix/store/ksmwhyghjwb4d9dw6hcpbvng1msdvjim-source/template/.gitignore'
wrote: /home/manu/dev/stuff/gopassbridge/devshell.toml
wrote: /home/manu/dev/stuff/gopassbridge/flake.nix
error: Encountered 1 conflicts - please merge manually
```
2022-06-21 17:37:02 +01:00
Fishhh
4ade8a5f25
Fix arity of --exclude
flag in nix search
...
Due to incorrectly using the Handler(vector<string>*) constructor the
`--exclude` flag would swallow all proceeding arguments instead of just
one.
2022-06-20 18:00:32 +02:00
Naïm Favier
d6d0e781bb
Complete flake inputs for all given flakes
...
Allow `nix build flake1 flake2 --update-input <Tab>` to complete the
inputs of both flakes.
Also do tilde expansion so that `nix build ~/flake --update-input <Tab>`
works.
2022-06-20 04:17:13 +02:00
Tom Bereknyei
51268ceb79
Merge branch 'master' into nix-repl-flakes
2022-06-15 09:17:03 -04:00
tomberek
dae4a8a6c8
Apply suggestions from code review
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-06-15 09:02:36 -04:00
Eelco Dolstra
798efdf10b
Merge pull request #6027 from Ma27/pure-repl
...
repl: `--option pure-eval true` actually enables pure eval mode
2022-06-13 16:11:46 +02:00
Lorenzo Manacorda
814ddfa5f5
Fix missing ` in key manual
2022-06-08 11:46:50 +02:00
Eelco Dolstra
b2dea231cf
Merge pull request #6618 from afishhh/search-exclude
...
Add `-e`/`--exclude` flag to `nix search`
2022-06-07 19:01:36 +02:00
Fishhh
e009367c8d
Remove redundant std::move
s in calls to hiliteMatches
2022-06-07 18:25:52 +02:00
Fishhh
b42358b9be
Add --exclude
flag to nix search
...
If a package's attribute path, description or name contains matches for any of the
regexes specified via `-e` or `--exclude` that package is excluded from
the final output.
2022-06-07 18:25:48 +02:00
Tom Bereknyei
ffd41d1757
Merge branch 'master' into nix-repl-flakes
2022-06-02 16:58:35 -04:00
John Ericson
b585548dfe
Merge remote-tracking branch 'upstream/master' into indexed-store-path-outputs
2022-06-02 19:53:11 +00:00
Chris Wögi
51b3cc151e
Explain exactly what nix-upgrade nix does
2022-06-02 15:05:27 +02:00
Maximilian Bosch
159b5815b5
repl: --option pure-eval true
actually enables pure eval mode
...
To quote Eelco in #5867 :
> Unfortunately we can't do
>
> evalSettings.pureEval.setDefault(false);
>
> because then we have to do the same in main.cc (where
> pureEval is set to true), and that would allow pure-eval
> to be disabled globally from nix.conf.
Instead, a command should specify that it should be impure by
default. Then, `evalSettings.pureEval` will be set to `false;` unless
it's overridden by e.g. a CLI flag.
In that case it's IMHO OK to be (theoretically) able to override
`pure-eval` via `nix.conf` because it doesn't have an effect on commands
where `forceImpureByDefault` returns `false` (i.e. everything where pure
eval actually matters).
Closes #5867
2022-05-31 22:20:11 +02:00
Ben Burdette
9a5ea6c359
Merge branch 'master' into debug-exploratory-PR
2022-05-25 10:41:10 -06:00
Eelco Dolstra
89a8955e79
Merge remote-tracking branch 'origin/file-fetcher'
2022-05-25 15:15:16 +02:00
Eelco Dolstra
2f8a34cddc
Fix warning
2022-05-25 15:05:39 +02:00
Théophane Hufschmitt
1e7c27cb91
Merge pull request #6560 from ncfavier/patch-1
...
typo: defaultApps → defaultApp
2022-05-23 17:08:06 +02:00
Théophane Hufschmitt
50ab1587bf
Merge pull request #6532 from flox/show_warning
...
fix: alignment during flake show of legacyPackages
2022-05-23 09:30:26 +02:00
Naïm Camille Favier
81a9bf0ad2
typo: defaultApps → defaultApp
2022-05-21 14:41:24 +02:00
Tom Bereknyei
7a04fb1c56
repl: add repl-flake experimental feature for gating
2022-05-20 08:20:00 -04:00
Tom Bereknyei
db613a85fb
repl: allow --file to always utilize autoargs
2022-05-20 01:35:06 -04:00
tomberek
7d7e00272a
Apply suggestions from code review
...
Style fixes from @edolstra
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-05-20 01:28:20 -04:00
Tony Olagbaiye
5b8c1deb18
fetchTree: Allow fetching plain files
...
Add a new `file` fetcher type, which will fetch a plain file over
http(s), or from the local file.
Because plain `http(s)://` or `file://` urls can already correspond to
`tarball` inputs (if the path ends-up with a know archive extension),
the URL parsing logic is a bit convuluted in that:
- {http,https,file}:// urls will be interpreted as either a tarball or a
file input, depending on the extensions of the path part (so
`https://foo.com/bar ` will be a `file` input and
`https://foo.com/bar.tar.gz ` as a `tarball` input)
- `file+{something}://` urls will be interpreted as `file` urls (with
the `file+` part removed)
- `tarball+{something}://` urls will be interpreted as `tarball` urls (with
the `tarball+` part removed)
Fix #3785
Co-Authored-By: Tony Olagbaiye <me@fron.io>
2022-05-19 18:24:49 +02:00
Tom Bereknyei
f21dec5bef
repl: hide flake behavior behind flag and provide warning
2022-05-19 01:02:24 -04:00
Tom Bereknyei
e1f308a1ec
repl: provide backward compat with legacy usage
2022-05-18 22:28:15 -04:00
Tom Bereknyei
7534798eed
refactor: factor out getValue
2022-05-18 21:36:50 -04:00
tomberek
9f8c1183fa
Apply suggestions from code review
...
Co-authored-by: Théophane Hufschmitt <7226587+thufschmitt@users.noreply.github.com>
2022-05-18 21:21:58 -04:00
Tom Bereknyei
1ca3f6035d
repl: update docs with installables
2022-05-18 21:21:38 -04:00
Tom Bereknyei
5640b52834
repl: use installables
2022-05-18 21:20:59 -04:00
Tom Bereknyei
81567a0962
repl: allow loading installables from CLI
...
repl: search installable with findAlongAttrPath
repl: refactor handling of args
repl: temp
2022-05-18 21:20:59 -04:00