aboutsummaryrefslogtreecommitdiff
path: root/src/nix
AgeCommit message (Collapse)Author
2019-04-15Move --impure to MixEvalArgsEelco Dolstra
2019-04-15Merge remote-tracking branch 'tweag/automatedUpdate' into flakesEelco Dolstra
2019-04-11Automated lockfile updating with `nix build`Nick Van den Broeck
2019-04-11FlakeRegistry = FlakeRef -> FlakeRefNick Van den Broeck
2019-04-09FlakeAlias is implementedNick 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-08WhitespaceEelco Dolstra
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-08Move flake template into a separate fileEelco Dolstra
2019-04-08Add "nix flake init" command for creating a flakeEelco Dolstra
2019-04-08nix: Add --impure as a shorter alias of --no-pure-evalEelco Dolstra
2019-04-08nix: Support nixpkgs.<attrpath> for compatibilityEelco Dolstra
2019-04-08nix: Make -f work for compatibilityEelco 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-03-27Merge remote-tracking branch 'tweag/flake-registries' into flakesEelco Dolstra
2019-03-26Remove debug lineEelco Dolstra
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-07Implemented json flag for `nix flake info`Nick Van den Broeck
2019-02-26Implemented "nix flake info"Nick Van den Broeck
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-12experimental/optional -> optionalEelco Dolstra
2019-02-11Initial flake supportEelco Dolstra
2019-02-11Move Command and MultiCommand to libutilEelco Dolstra
2019-02-11MultiCommand: Simplify constructionEelco Dolstra
2019-02-05Revert "Restore parent mount namespace before executing a child process"Eelco Dolstra
This reverts commit a0ef21262f4d5652bfb65cfacaec01d89c475a93. This doesn't work in 'nix run' and nix-shell because setns() fails in multithreaded programs, and Boehm GC mark threads are uncancellable. Fixes #2646.
2019-01-10Merge pull request #2617 from veprbl/pr/V547_nix_repl.ccEelco Dolstra
remove some dead code in nix/repl.cc
2019-01-05Remove mentions of `libformat`, it no longer existsJohn Ericson
2018-12-25remove some dead code in nix/repl.ccDmitry Kalinkin
Fixes a static analyzer warning: Expression 'isDrv' is always false. Fixes: 3beb6f6e7 ('Show derivations more concisely')
2018-12-13Support SRI hashesEelco Dolstra
SRI hashes (https://www.w3.org/TR/SRI/) combine the hash algorithm and a base-64 hash. This allows more concise and standard hash specifications. For example, instead of import <nix/fetchurl.nl> { url = https://nixos.org/releases/nix/nix-2.1.3/nix-2.1.3.tar.xz; sha256 = "5d22dad058d5c800d65a115f919da22938c50dd6ba98c5e3a183172d149840a4"; }; you can write import <nix/fetchurl.nl> { url = https://nixos.org/releases/nix/nix-2.1.3/nix-2.1.3.tar.xz; hash = "sha256-XSLa0FjVyADWWhFfkZ2iKTjFDda6mMXjoYMXLRSYQKQ="; }; In fixed-output derivations, the outputHashAlgo is no longer mandatory if outputHash specifies the hash (either as an SRI or in the old "<type>:<hash>" format). 'nix hash-{file,path}' now print hashes in SRI format by default. I also reverted them to use SHA-256 by default because that's what we're using most of the time in Nixpkgs. Suggested by @zimbatm.
2018-12-12nix repl: don't create result symlinksDaiderd Jordan
2018-11-20repl: give user the choice between libeditline and libreadlineKai Harries
The goal is to support libeditline AND libreadline and let the user decide at compile time which one to use. Add a compile time option to use libreadline instead of libeditline. If compiled against libreadline completion functionality is lost because of a incompatibility between libeditlines and libreadlines completion function. Completion with libreadline is possible and can be added later. To use libreadline instead of libeditline the environment variables 'EDITLINE_LIBS' and 'EDITLINE_CFLAGS' have to been set during the ./configure step. Example: EDITLINE_LIBS="/usr/lib/x86_64-linux-gnu/libhistory.so /usr/lib/x86_64-linux-gnu/libreadline.so" EDITLINE_CFLAGS="-DREADLINE" The reason for this change is that for example on Debian already three different editline libraries exist but none of those is compatible the flavor used by nix. My hope is that with this change it would be easier to port nix to systems that have already libreadline available.
2018-11-20repl: Remove code that was commented outKai Harries
2018-11-16nix ls-nar: allow reading from FIFOsLinus Heckemann
fixes #2528
2018-11-13Merge branch 'feature/editline-pr' of https://github.com/dtzWill/nixEelco Dolstra
2018-11-13Restore parent mount namespace before executing a child processEelco Dolstra
This ensures that they can't write to /nix/store. Fixes #2535.
2018-10-29repl: complete if all matches share prefixWill Dietz
2018-10-29editline: wipWill Dietz
2018-10-29nix doctor: return nonzero exitcode if a check failsDaiderd Jordan
This makes it easier to use this when testing the installer or when running the checks with other automated tooling.
2018-10-27Fix signedness warningEelco Dolstra
2018-10-27Merge branch 'nix-doctor' of https://github.com/LnL7/nixEelco Dolstra
2018-10-26src/nix/local.mk: fix typos in names of symlinksWill Dietz
2018-10-26Merge all nix-* binaries into nixEelco Dolstra
These are all symlinks to 'nix' now, reducing the installed size by about ~1.7 MiB.