Eelco Dolstra
d1bf7431bb
Revert "Merge pull request #4922 from nrdxp/default-submodules"
...
This reverts commit 6678e98411
, reversing
changes made to 90b2dd570c
.
2021-09-22 17:25:25 +02:00
Eelco Dolstra
8623a5b595
Disable IFD selectively
...
It's now disabled by default for the following:
* 'nix search' (this was already implied by read-only mode)
* 'nix flake show'
* 'nix flake check', but only on the hydraJobs output
2021-09-22 17:15:07 +02:00
Eelco Dolstra
d8c10028d9
Make setDefault() typed
2021-09-22 14:15:35 +02:00
Eelco Dolstra
ff28fffce2
Don't cache realiseContext() errors
...
Errors that depend on the configuration (such as whether
allow-import-from-derivation is set) should not be cached.
2021-09-22 14:00:56 +02:00
Eelco Dolstra
bcd73ebf60
Add missing #include
...
Fixes #5282 .
2021-09-22 12:14:50 +02:00
Eelco Dolstra
60cc975d22
Set input parent at construction time
2021-09-21 14:07:16 +02:00
Eelco Dolstra
06557299b3
Allow relative paths anywhere into the parent's store path
2021-09-21 13:45:11 +02:00
Eelco Dolstra
5cbb9c5406
path fetcher: Fix relative path check
2021-09-21 13:19:26 +02:00
Gregor Kleen
fd67a0f927
Fix scheme argument to s3 cache
2021-09-17 10:45:19 +02:00
Geoff Reedy
cbe9ddfd1a
Include subpath in flake fingerprint
...
Without this, flakes within the same tree and same lock data will have
the same fingerprint and the eval cache for one flake will be
incorrectly used for another.
2021-09-16 15:58:21 -06:00
Eelco Dolstra
1ec4efa6c8
Merge pull request #5257 from edolstra/dirty-lock-file
...
If we can't write a lock file, pretend the top-level flake is dirty
2021-09-15 20:18:23 +02:00
Eelco Dolstra
c17f3c5e69
Merge branch 'mh/fix-chroot-eval' of https://github.com/obsidiansystems/nix
2021-09-15 18:37:58 +02:00
Eelco Dolstra
027344ce7e
If we can't write a lock file, pretend the top-level flake is dirty
...
Alternative to #4639 . You can still read flake.lock, but at least in
reproducible workflows like NixOS configurations where you require a
non-dirty tree, evaluation will fail because there is no rev.
2021-09-15 18:31:42 +02:00
Eelco Dolstra
991cc53386
Revert "Disallow reading flake.lock"
...
This reverts commit e5596113f7
.
2021-09-15 18:30:37 +02:00
Emily
56025ad3b1
sandbox: allow Rosetta 2 on Darwin
...
This allows sandboxed x86_64-darwin builds on aarch64-darwin.
2021-09-15 02:02:03 +01:00
Eelco Dolstra
fda4efff87
Rename unnecessary git@
2021-09-14 22:53:31 +02:00
Eelco Dolstra
5ee3ee1a6b
Merge pull request #5249 from edolstra/nix-profile
...
Add missing 'nix profile' subcommands
2021-09-14 22:27:19 +02:00
Eelco Dolstra
e5596113f7
Disallow reading flake.lock
...
With --no-write-lock-file, it's possible that flake.lock is out of
sync with the actual inputs used by the evaluation. So doing fromJSON
(readFile ./flake.lock) will give wrong results.
Fixes #4639 .
2021-09-14 21:09:11 +02:00
Eelco Dolstra
b41968f15a
nix profile history: Show profile date
2021-09-14 20:47:33 +02:00
Eelco Dolstra
4b738fc7a9
Add 'nix profile wipe-history' command
2021-09-14 20:35:41 +02:00
Eelco Dolstra
f359b9981b
Generations -> profile versions
2021-09-14 19:57:45 +02:00
Eelco Dolstra
229ad612b8
Fix quotes
2021-09-14 19:48:16 +02:00
Eelco Dolstra
817562e694
Add "nix profile rollback" command
2021-09-14 19:32:33 +02:00
Eelco Dolstra
1fbaf36729
nix flake show --json: Add type info
...
For extensibility, every leaf node is now an object that contains at
least a type field (e.g. "type": "derivation").
2021-09-14 17:18:29 +02:00
Eelco Dolstra
f3259af73e
Merge branch 'tomberek/show_json' of https://github.com/tomberek/nix
2021-09-14 16:58:35 +02:00
Eelco Dolstra
d589a6aa8a
Merge pull request #5247 from edolstra/stablize-ca-references
...
Remove the 'ca-references' feature check
2021-09-14 15:42:50 +02:00
Eelco Dolstra
75837bb595
Respect NO_COLOR in Markdown output
2021-09-14 14:57:58 +02:00
Eelco Dolstra
7e4dd0e279
Merge pull request #5248 from edolstra/flake-clone
...
Fix 'nix flake clone' on github repos
2021-09-14 14:14:59 +02:00
Eelco Dolstra
01a4fa3b6e
Advise using --extra-experimental-features instead of --experimental-features
...
Fixes #3737 .
2021-09-14 13:56:36 +02:00
Eelco Dolstra
761ac9d584
Remove the 'ca-references' feature check
...
Fixes #3422 .
Fixes #4425 .
2021-09-14 13:53:20 +02:00
Eelco Dolstra
07996c4810
github fetcher: Don't use HEAD branch when cloning
...
Fixes #4394 .
2021-09-14 13:38:45 +02:00
Eelco Dolstra
d72d31d529
github fetcher: Use git+https for cloning
...
git+ssh only works if you have SSH access.
2021-09-14 13:38:05 +02:00
Eelco Dolstra
a4ae601b44
Merge pull request #5245 from edolstra/warnings
...
Change warning messages from yellow to magenta
2021-09-14 11:46:34 +02:00
Eelco Dolstra
16d4922dd2
Merge pull request #5240 from edolstra/builtin-help
...
nix --help: Display help using lowdown instead of man
2021-09-14 11:31:23 +02:00
Eelco Dolstra
58b5036c54
Change warnings from yellow to magenta
...
This matches gcc and clang.
2021-09-14 10:42:29 +02:00
Eelco Dolstra
4ffda0af7c
ANSI_YELLOW -> ANSI_WARNING
2021-09-14 10:42:29 +02:00
Eelco Dolstra
76e368a3b4
Fix macOS build
2021-09-14 10:07:31 +02:00
Eelco Dolstra
1ba993d07c
Fix clang warning
2021-09-14 08:15:33 +02:00
Eelco Dolstra
4ed66735b6
RunOptions: Use designated initializers
...
Also get rid of _killStderr because it wasn't actually checked
anywhere.
2021-09-13 23:31:04 +02:00
Eelco Dolstra
c3e9acd1c0
Remove tabs
2021-09-13 23:06:33 +02:00
kvtb
c6fa7775de
hashFile, hashString: realize context before calculation, and discard afterwards
2021-09-13 22:34:58 +02:00
Eelco Dolstra
49a932fb18
nix --help: Display help using lowdown instead of man
...
Fixes #4476 .
Fixes #5231 .
2021-09-13 14:45:21 +02:00
Eelco Dolstra
8796b1b5e3
Fix markdown error
2021-09-13 14:44:53 +02:00
Eelco Dolstra
eadb45c4db
Use Bindings::{get,need} instead of find
2021-09-13 13:53:24 +02:00
Eelco Dolstra
a73be28717
renderMarkdownToTerminal(): Fix terminal width computation
2021-09-13 13:52:14 +02:00
Eelco Dolstra
ff09acd1f9
Remove tabs
2021-09-10 11:00:50 +02:00
Eelco Dolstra
02ece164be
Make installables const
2021-09-10 10:39:39 +02:00
Eelco Dolstra
1e43bc6dc0
Merge pull request #5224 from baloo/baloo/5089/force-nss_dns-load
...
preloadNSS: fixup nss_dns load
2021-09-09 10:37:41 +02:00
Tom Bereknyei
dc25856d74
Ensure nix flake show produces valid json
2021-09-08 19:38:22 -04:00
Arthur Gautier
3b72741f23
preloadNSS: load NSS before threads are started
...
preloadNSS is not thread-safe, this commit moves it before we start the
first thread.
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-09-08 18:29:31 +00:00
Eelco Dolstra
b71428c907
Merge branch 'fix-3976' of https://github.com/mkenigs/nix
2021-09-08 14:43:12 +02:00
Naïm Favier
7f0d177ce7
Add missing include in util.cc
2021-09-08 12:20:08 +02:00
Eelco Dolstra
9180239081
Merge pull request #5215 from ncfavier/patch-1
...
Fix use-registries logic in builtins.getFlake
2021-09-08 11:19:39 +02:00
Shea Levy
6678e98411
Merge pull request #4922 from nrdxp/default-submodules
...
libfetchers/git: fetch submodules by default
2021-09-07 05:48:23 -04:00
Arthur Gautier
0b42a0f781
preloadNSS: fixup nss_dns load
...
Before this commit, the dns lookup in preloadNSS would still go through
nscd. This did not have the effect of loading the nss_dns.so as expected
(nss_dns.so being out of reach from within the sandbox).
Should LOCALDOMAIN environment variable be defined, nss will completely
avoid nscd and will do its dns resolution on its own.
By temporarly setting LOCALDOMAIN variable before calling in NSS, we can
force NSS to load the shared libraries as expected.
Fixes #5089
Signed-off-by: Arthur Gautier <baloo@superbaloo.net>
2021-09-06 23:13:48 +00:00
Naïm Favier
b0d4190f19
Fix use-registries logic in builtins.getFlake
2021-09-05 15:28:44 +02:00
Eelco Dolstra
90b2dd570c
Add FIXME
2021-09-02 15:00:52 +02:00
Georges Dubus
bc6e7ca046
Don't use read-only mode for nix build --dry-run
...
In dry run mode, new derivations can't be create, so running the command on anything that has not been evaluated before results in an error message of the form `don't know how to build these paths (may be caused by read-only store access)`.
For comparison, the classical `nix-build --dry-run` doesn't use read-only mode.
Closes #1795
(cherry picked from commit 54525682df707742e58311c32e9c9cb18de1e31f)
2021-09-02 14:50:19 +02:00
Eelco Dolstra
b2e8120d25
parseInstallables(): Parse store paths as store paths
...
If the store path contains a flake, this means that a command like
"nix path-info /path" will show info about /path, not about the
default output of the flake in /path. If you want the latter, you can
explicitly ask for it by doing "nix path-info path:/path".
Fixes #4568 .
2021-09-02 14:18:04 +02:00
Eelco Dolstra
77ca5e951c
Merge pull request #5203 from NixOS/fix-invalid-lockfile-names
...
Don’t create lockfiles with an invalid path name
2021-09-02 11:03:18 +02:00
Lucas Hoffmann
d948415b71
Docs: Fix syntax error in json example in man page
2021-09-02 10:47:38 +02:00
regnat
497225b07d
Don’t create lockfiles with an invalid path name
...
Store paths are only allowed to contain a limited subset of the
alphabet, which doesn’t include `!`. So don’t create lockfiles that
contain this `!` character as that would otherwise confuse (and break)
the gc.
Fix #5176
2021-09-02 09:57:41 +02:00
Eelco Dolstra
f73d911628
Style
2021-09-01 21:46:25 +02:00
Eelco Dolstra
2cb7a502a4
Merge branch 'short-circuit-subst' of https://github.com/Kha/nix
2021-09-01 21:45:04 +02:00
Eelco Dolstra
7ee639f9db
Merge pull request #5066 from Radvendii/master
...
add antiquotations to paths
2021-09-01 12:55:04 +02:00
Taeer Bar-Yam
1ffb9f1970
fix parse of /${foo}
. was // + foo
...
I don't think this changes the way any program would behave, but it's a
cleaner internal representation.
2021-08-31 15:55:55 -04:00
Taeer Bar-Yam
9da8f5e25d
path antiquotations: canonizePath -> canonicalizePath
2021-08-31 08:02:04 -04:00
Maximilian Bosch
50edbc4ddf
nix-store --serve: pass on settings.keepFailed
from SSH store
...
When doing e.g.
nix-build -A package --keep-failed --option \
builders \
'ssh://mfhydra?remote-store=/home/bosch/store x86_64-linux - 10 4 big-parallel'
this doesn't work properly because this build-setting is ignored.
I changed this behavior by passing the `settings.keepFailed` through the
serve-protocol to remote machines to make sure that I can introspect the
build-directory (which is particularly helpful when I have to look at a
`config.log` from a failed build for instance).
2021-08-31 13:11:46 +02:00
Eelco Dolstra
f3b8b4040e
Merge pull request #5071 from NixOS/dont-send-xp-features-to-the-daemon
...
Don’t send the experimental-features to the daemon
2021-08-31 11:55:39 +02:00
Eelco Dolstra
50a35860ee
TarArchive: Small refactoring
2021-08-30 17:02:51 +02:00
Eelco Dolstra
c7a7652725
Don't segfault if archive_entry_pathname() returns null
...
Issues #4499 .
2021-08-30 17:02:39 +02:00
Eelco Dolstra
eda0fee160
Merge pull request #5175 from Pamplemousse/make
...
Don't overwrite user provided `lib*_LDFLAGS`
2021-08-30 12:44:29 +02:00
Eelco Dolstra
323cafcb4e
Merge pull request #5191 from hercules-ci/evalstate-lifetime-hygiene
...
EvalState lifetime hygiene
2021-08-30 12:23:09 +02:00
regnat
b2bce915ad
Don’t accept experimental features from the client
...
If the client sends an “experimental features” setting, just ignore it
2021-08-30 10:48:05 +02:00
Robert Hensing
92778a5f80
Tidy
2021-08-30 09:52:43 +02:00
Robert Hensing
8656b130ea
Fix use after free with vImportedDrvToDerivation
2021-08-29 20:42:57 +02:00
Robert Hensing
8bc76acc7c
Move vCallFlake into EvalState
...
This fixes a use-after-free bug:
1. s = new EvalState();
2. callFlake()
3. static vCallFlake now references s
4. delete s;
5. s2 = new EvalState();
6. callFlake()
7. static vCallFlake still references s
8. crash
Nix 2.3 did not have a problem with recreating EvalState.
2021-08-29 20:42:49 +02:00
Robert Hensing
f10465774f
Force all Pos* to be non-null
...
This fixes a class of crashes and introduces ptr<T> to make the
code robust against this failure mode going forward.
Thanks regnat for the idea of a ref<T> without overhead!
Closes #4895
Closes #4893
Closes #5127
Closes #5113
2021-08-29 18:11:58 +02:00
Pamplemousse
a4c6d319a8
Don't overwrite user provided lib*_LDFLAGS
...
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-25 08:59:19 -07:00
Eelco Dolstra
af94b54db3
Coding style
2021-08-23 13:05:42 +02:00
Eelco Dolstra
c6b063c31a
Merge branch 'fix/subflake-follows-fix' of https://github.com/ArctarusLimited/nix
2021-08-23 12:47:09 +02:00
Eelco Dolstra
a93f72c084
Merge pull request #5160 from CertainLach/fix/invalid-characters-in-json-logger
...
Replace invalid characters in json logger
2021-08-23 11:10:55 +02:00
Tom Bereknyei
d90582be33
Allow use of path and filterSource in flakes
...
As filterSource and path perform work, add paths to allowedPaths.
2021-08-22 18:45:42 -04:00
Yaroslav Bolyukin
bbb3bcb165
Replace invalid characters in json logger
...
Fixes #5159
Signed-off-by: Yaroslav Bolyukin <iam@lach.pw>
2021-08-22 00:26:22 +03:00
Jan Tojnar
2d66a31f01
nix {bundle,run}: drop broken flake attr-path prefixes
...
“packages” was probably meant to be “packages.${system}.” but that
is already listed in `getDefaultFlakeAttrPathPrefixes` in `installables`,
which is probably why no one noticed it was broken.
2021-08-21 20:17:05 +02:00
Jan Tojnar
d7b6c8f591
nix develop: Fix devShells
lookup
...
It currently fails with the following error:
error: flake 'git+file://…' does not provide attribute 'devShells.x86_64-linuxhaskell', 'packages.x86_64-linux.haskell', 'legacyPackages.x86_64-linux.haskell' or 'haskell'
2021-08-21 01:24:28 +02:00
Matthew Kenigsberg
d7fe36116e
nix develop --phase: chdir to flake directory
...
For git+file and path flakes, chdir to flake directory so that phases
that expect to be in the flake directory can run
Fixes https://github.com/NixOS/nix/issues/3976
2021-08-19 15:42:13 -05:00
Tom Bereknyei
a82de5b31b
Enable JSON option to show flakes
...
`nix-flake show --json`
2021-08-17 23:18:19 -04:00
Alex Zero
b3c424f5a6
Fix follows paths in subordinate lockfiles
2021-08-17 15:25:42 +01:00
Eelco Dolstra
2cd1a5b8f3
Merge pull request #5134 from pszubiak/fix-pkgconfig-install-path
...
Install pkg-config files in the correct location
2021-08-16 11:56:49 +02:00
Jörg Thalheim
21d0334e49
fix typo in ca-error message
2021-08-14 00:18:45 +02:00
Piotr Szubiakowski
9f13cb31e8
Install pkg-config files in the correct location
...
Use `$(libdir)` while installing .pc files looks like a more generic
solution. For example, it will work for distributions like RHEL or
Fedora where .pc files are installed in `/usr/lib64/pkgconfig`.
2021-08-13 21:08:58 +00:00
Eelco Dolstra
6b8069b823
In flake lock file diffs, show the last-modified date of inputs if available
...
This is a bit more informative than just the hash.
Also, format the diffs a bit nicer.
2021-08-11 19:35:28 +02:00
Pamplemousse
0da416f820
15f4d4f
follow up
...
* libstore: `bz2` should not be linked
* libutil: `zlib.h` should not be included
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-10 16:04:53 -07:00
Eelco Dolstra
8943e3176d
Merge pull request #5111 from Pamplemousse/clean
...
Minor maintenance cleaning
2021-08-09 20:05:03 +02:00
Pamplemousse
2de7a1fe67
libexpr: Squash similar conditions
...
Signed-off-by: Pamplemousse <xav.maso@gmail.com>
2021-08-09 10:10:11 -07:00
Sebastian Ullrich
a0f97b1f54
Expand docstring of Store::querySubstitutablePathInfos
2021-08-09 15:58:50 +02:00
Eelco Dolstra
27444d40cf
Merge pull request #5101 from fzakaria/faridzakaria/fix-nix-shell
...
nix-shell --pure: Let it work for any derivation
2021-08-09 14:52:11 +02:00
Eelco Dolstra
4c5ce2a345
Merge pull request #5104 from andir/refscan-race
...
Fix potential race-condition in reference scanning code
2021-08-09 14:49:24 +02:00
Eelco Dolstra
873df3ab03
Merge pull request #5106 from andir/libstore-waiter-set
...
libstore: use set instead of list for waiter list
2021-08-09 14:46:49 +02:00