Eelco Dolstra
6e7f252ea6
Make --override-input sticky
...
When we do something like 'nix flake update --override-input nixpkgs
...', the override is now kept on subsequent calls. (If you don't want
this behaviour, you can use --no-write-lock-file.)
2020-04-03 14:06:29 +02:00
Eelco Dolstra
9c78f7f196
getFlake: In pure mode, check that the argument is an immutable flakeref
2020-04-03 13:07:05 +02:00
Eelco Dolstra
a6ff66b658
Respect the narHash attribute in more input types
...
call-flake.nix now passes node.info.narHash to fetchTree. This ensures
that dirty Git trees work even in pure mode.
2020-04-02 19:04:33 +02:00
Eelco Dolstra
e1fc9f6690
Improve error message
2020-04-02 19:03:32 +02:00
Eelco Dolstra
ab47868639
Change lastModified to the number of seconds in the epoch
...
'lastModifiedDate' is now a string representing the equivalent
date/time.
2020-04-02 18:39:41 +02:00
Eelco Dolstra
6d6467d376
Move parseTreeInfo()
2020-04-02 18:26:39 +02:00
Eelco Dolstra
6cf91d6fbd
fetchTree: Support integer attributes
2020-04-02 16:51:56 +02:00
Eelco Dolstra
ed13457dbf
nix flake info --json: Show TreeInfo
2020-04-02 11:51:34 +02:00
Eelco Dolstra
2c692a3b14
Remove global -I flags
2020-03-30 14:39:33 +02:00
Eelco Dolstra
e0a0ae0467
Move fetchers from libstore to libfetchers
2020-03-30 14:04:53 +02:00
Eelco Dolstra
2fccef0c59
Warn about --override-input / --update-input flags that don't match an input
2020-03-28 19:09:36 +01:00
Eelco Dolstra
2287e2f279
nix flake info: Show flake subdirectory
2020-03-28 18:05:50 +01:00
Eelco Dolstra
015f8f1c13
Improve lock file generation
...
This is now done in a single pass. Also fixes some issues when
updating flakes with circular dependencies. Finally, when using
'--recreate-lock-file --commit-lock-file', the commit message now
correctly shows the differences.
2020-03-27 21:08:41 +01:00
Eelco Dolstra
3fa1e7dace
Fix diffLockFiles()
2020-03-27 16:15:50 +01:00
Eelco Dolstra
1537e270fb
Merge remote-tracking branch 'origin/master' into flakes
2020-03-20 13:15:11 +01:00
Eelco Dolstra
f6ddf48882
Get rid of downloadCached()
...
Everything uses the generic caching system now.
2020-03-18 17:24:19 +01:00
Eelco Dolstra
d1165d8791
Require shallow clones to be requested explicitly
...
If you do a fetchTree on a Git repository, whether the result contains
a revCount attribute should not depend on whether that repository
happens to be a shallow clone or not. That would complicate caching a
lot and would be semantically messy. So applying fetchTree/fetchGit to
a shallow repository is now an error unless you pass the attribute
'shallow = true'. If 'shallow = true', we don't return revCount, even
if the repository is not actually shallow.
Note that Nix itself is not doing shallow clones at the moment. But it
could do so as an optimisation if the user specifies 'shallow = true'.
Issue #2988 .
2020-03-17 22:35:29 +01:00
Eelco Dolstra
2a4e4f6a6e
Unified fetcher caching system
2020-03-17 22:35:29 +01:00
Eelco Dolstra
fbcb897e21
Add a test for shallow Git clones
...
Also, don't return a revCount anymore for shallow or dirty Git trees,
since it's incorrect.
Closes #2988 .
2020-03-16 13:20:32 +01:00
John Ericson
68fe0d9809
Add missing #include <regex>
2020-03-13 21:24:35 -04:00
Eelco Dolstra
ae9119167e
Change the lock file to a graph
...
This enables support for cycles between flakes.
2020-03-12 22:06:57 +01:00
Eelco Dolstra
e188fe7c6d
Move call-flake.nix into libexpr
2020-03-11 17:04:51 +01:00
Eelco Dolstra
35f6651735
Merge remote-tracking branch 'origin/master' into flakes
2020-03-11 17:03:38 +01:00
Eelco Dolstra
9950cdec35
Move some corepkgs into the nix binary
2020-03-11 16:57:48 +01:00
Eelco Dolstra
e02481ded2
parseExprFromString(): Use std::string_view
2020-03-11 16:56:29 +01:00
Eelco Dolstra
cfc38257cf
Fix flake subdirectory handling
2020-03-10 19:21:47 +01:00
Eelco Dolstra
73769b28e3
Move calling flakes into a Nix helper function (call-flake.nix)
2020-03-09 15:28:41 +01:00
Eelco Dolstra
5a1514adb8
Add 'flake' attribute to lock files to denote non-flakes
2020-03-09 15:27:49 +01:00
Eelco Dolstra
73b6d87e17
Merge remote-tracking branch 'origin/master' into flakes
2020-03-04 13:58:42 +01:00
Eelco Dolstra
401b5bc541
builtins.cache: Cache regular expressions
...
The evaluator was spending about 1% of its time compiling a small
number of regexes over and over again.
2020-03-04 11:44:33 +01:00
Eelco Dolstra
73c9840569
Restore subdir -> dir
...
Got this mixed up somewhere.
2020-02-20 23:44:06 +01:00
Eelco Dolstra
d068f9ffff
Restore subdir support in registries
...
Hacky...
2020-02-20 22:14:44 +01:00
Eelco Dolstra
890df325c7
fetchTree: Use a feature flag
2020-02-20 13:36:16 +01:00
Eelco Dolstra
46a284263f
Fix build
2020-02-14 22:45:33 +01:00
Eelco Dolstra
6208d24c38
Merge remote-tracking branch 'origin/master' into flakes
2020-02-14 22:42:35 +01:00
Eelco Dolstra
9af10b753c
Bindings::get(): std::optional<Attr *> -> Attr *
...
Returning a nullable type in an optional is silly.
2020-02-13 17:15:05 +01:00
Eelco Dolstra
26dacc0983
Add fetchTree builtin function
...
This allows all supported fetchers to be used, e.g.
builtins.fetchTree {
type = "github";
owner = "NixOS";
repo = "nix";
rev = "d4df99a3349cf2228a8ee78dea320afef86eb3ba";
}
2020-02-11 23:53:46 +01:00
Eelco Dolstra
d2032edb2f
nix edit: Support non-derivation attributes
...
E.g.
$ nix edit .#nixosConfigurations.bla
now works.
2020-02-07 14:22:01 +01:00
Eelco Dolstra
0b013a54dc
findAlongAttrPath(): Return position
2020-02-07 14:08:24 +01:00
Eelco Dolstra
379852a152
Registry: Use attr notation instead of URLs
2020-02-06 14:27:31 +01:00
Eelco Dolstra
be2580be01
Warn when we commit a new revision
2020-02-05 15:47:11 +01:00
Eelco Dolstra
750c993f00
Improve commit subject line
2020-02-05 15:31:16 +01:00
Eelco Dolstra
9d7fb62db6
Add option --commit-lock-file
2020-02-05 14:48:49 +01:00
Eelco Dolstra
0a4e911cf4
Install headers in the correct location
2020-02-03 18:04:09 +01:00
Eelco Dolstra
a2628b43bb
Fix URL parser
...
Fixes #3062 .
2020-02-03 15:27:26 +01:00
Eelco Dolstra
44d6421160
Emit narHash attribute
2020-02-03 14:15:39 +01:00
Eelco Dolstra
d5334c466b
Automatically do git/hg add on flake.lock
2020-02-02 16:33:22 +01:00
Eelco Dolstra
f83acbbfe3
Don't store fragment in FlakeRef
2020-02-02 16:33:19 +01:00
Eelco Dolstra
86748d3571
Re-read flake after updating flake.lock
...
Otherwise we'll evaluate the flake with the wrong metadata (rev, ...).
2020-02-02 15:46:30 +01:00
Eelco Dolstra
af35b318f3
Detect circular flake imports
...
Fixes #2997 .
2020-02-02 13:14:34 +01:00