aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr
AgeCommit message (Collapse)Author
2019-04-16Fixed flake pin issuesNick Van den Broeck
2019-04-15FlakeRef::to_string(): Drop the "flake:" prefixEelco Dolstra
This is unnecessary in most contexts and makes 'nix flake list' output less readable.
2019-04-15Slight cleanupEelco Dolstra
2019-04-15getFlakeRegistries(): Return registries regardless of pureEvalEelco Dolstra
This makes e.g. 'nix flake list' work.
2019-04-15Move --impure to MixEvalArgsEelco Dolstra
2019-04-11FlakeRegistry = FlakeRef -> FlakeRefNick Van den Broeck
2019-04-09FlakeAlias is implementedNick Van den Broeck
2019-04-09Took ref and rev out of FlakeRefNick Van den Broeck
2019-04-09Fixed dependency resolutionNick Van den Broeck
2019-04-09FlakeIds are now properly looked up in registriesNick Van den Broeck
2019-04-09Added nonFlakeRequires and the command `nix flake deps`Nick Van den Broeck
2019-04-08Allow relative paths in flakerefsEelco Dolstra
Also allow "." as an installable to refer to the flake in the current directory. E.g. $ nix build . will build 'provides.defaultPackage' in the flake in the current directory.
2019-04-08nix: Add --impure as a shorter alias of --no-pure-evalEelco Dolstra
2019-04-08Add path flakeref variantEelco Dolstra
Unlike file://<path>, this allows the path to be a dirty Git tree, so nix build /path/to/flake:attr is a convenient way to test building a local flake.
2019-04-08Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-04-08nix: New installables syntaxEelco Dolstra
The general syntax for an installable is now <flakeref>:<attrpath>. The attrpath is relative to the flake's 'provides.packages' or 'provides' if the former doesn't yield a result. E.g. $ nix build nixpkgs:hello is equivalent to $ nix build nixpkgs:packages.hello Also, '<flakeref>:' can be omitted, in which case it defaults to 'nixpkgs', e.g. $ nix build hello
2019-04-08findAlongAttrPath(): Throw AttrPathNotFoundEelco Dolstra
2019-03-27Fix Bison 3.3 warningEelco Dolstra
2019-03-27Merge remote-tracking branch 'tweag/flake-registries' into flakesEelco Dolstra
2019-03-26nix flake add: Handle ~/.config/nix not existingEelco Dolstra
Fixes $ nix flake add fnord github:edolstra/fnord error: opening file '/home/eelco/.config/nix/registry.json': No such file or directory
2019-03-26Merge remote-tracking branch 'tweag/flake-add' into flakesEelco Dolstra
2019-03-26Merge remote-tracking branch 'tweag/auto-update-flake' into flakesEelco Dolstra
2019-03-26Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-03-24Add isPath primopzimbatm
this is added for completeness' sake since all the other possible `builtins.typeOf` results have a corresponding `builtins.is<Type>`
2019-03-23Combining registries properlyNick Van den Broeck
2019-03-22Issue #15 is finishedNick Van den Broeck
2019-03-22Fixed minor thingsNick Van den Broeck
2019-03-22Implemented --flake flag for nix buildNick Van den Broeck
Also fixed Eelco's PR comments
2019-03-21eval: improve type description for primops and applied primopsLinus Heckemann
This can make type errors a little easier to understand.
2019-03-14pkg-config files: Use c++17Eelco Dolstra
2019-03-14experimental/optional -> optionalEelco Dolstra
2019-03-07Implemented writeRegistryNick Van den Broeck
2019-03-07Implemented json flag for `nix flake info`Nick Van den Broeck
2019-02-26Implemented "nix flake info"Nick Van den Broeck
2019-02-25fetchFlake: Use infinite TTL when the revision is specifiedEelco Dolstra
2019-02-25downloadCached: Return ETagEelco Dolstra
This allows fetchFlake() to return the Git revision of a GitHub archive.
2019-02-12Add basic flake lock file supportEelco Dolstra
2019-02-12Interpret all file:// URIs as Git repositoriesEelco Dolstra
2019-02-12nix: Add --flake flagEelco Dolstra
This allows using an arbitrary "provides" attribute from the specified flake. For example: nix build --flake nixpkgs packages.hello (Maybe provides.packages should be used for consistency...)
2019-02-12Enforce use of immutable flakes in pure modeEelco Dolstra
... plus a temporary hack to allow impure flakes at top-level for the default installation source.
2019-02-12nix: Enable pure mode by defaultEelco Dolstra
We want to encourage a brave new world of hermetic evaluation for source-level reproducibility, so flakes should not poke around in the filesystem outside of their explicit dependencies. Note that the default installation source remains impure in that it can refer to mutable flakes, so "nix build nixpkgs.hello" still works (and fetches the latest nixpkgs, unless it has been pinned by the user). A problem with pure evaluation is that builtins.currentSystem is unavailable. For the moment, I've hard-coded "x86_64-linux" in the nixpkgs flake. Eventually, "system" should be a flake function argument.
2019-02-12Improve flake referencesEelco Dolstra
2019-02-12pkg-config files: Use c++17Eelco Dolstra
2019-02-12experimental/optional -> optionalEelco Dolstra
2019-02-11Add flake registryEelco Dolstra
This will eventually be moved to nixos.org.
2019-02-11Add github URIsEelco Dolstra
For example, github:edolstra/dwarffs is more-or-less equivalent to https://github.com/edolstra/dwarffs.git. It's a much faster way to get GitHub repositories: it fetches tarballs rather than entire Git repositories. It also allows fetching specific revisions by hash without specifying a ref (e.g. a branch name): github:edolstra/dwarffs/41c0c1bf292ea3ac3858ff393b49ca1123dbd553
2019-02-11Introduce flake URIsEelco Dolstra
2019-02-11Initial flake supportEelco Dolstra
2019-02-11Bindings::get(): Add convenience methodEelco Dolstra
This allows writing attribute lookups as if (auto name = value.attrs->get(state.sName)) ...
2019-02-11EvalState::allocAttr(): Add convenience methodEelco Dolstra