aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-06-17nix flake check: Check appsEelco Dolstra
2019-06-17nix flake info --json: Revive enumerating the outputsEelco Dolstra
2019-06-17nix app: Accept argumentsEelco Dolstra
Example: $ nix app blender-bin -- --version Blender 2.80 (sub 74)
2019-06-17nix app: Search for installable in the 'apps' outputEelco Dolstra
I.e. you can write $ nix app blender-bin:blender_2_80 which is equivalent to $ nix app blender-bin:apps.blender_2_80
2019-06-17Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-06-17Merge pull request #2878 from NixOS/run-in-ptsEelco Dolstra
Run builds in a pseudo-terminal
2019-06-17Merge pull request #2746 from bjornfor/install-multi-user-defaultsEelco Dolstra
install-multi-user: reduce max-jobs from 32 to 1
2019-06-17Another attempt at getting pseudoterminals to work on macOSEelco Dolstra
2019-06-16Hopefully fix macOS testsEelco Dolstra
2019-06-16Set $TERMEelco Dolstra
2019-06-16Run builds in a pseudo-terminalEelco Dolstra
This allows many programs (e.g. gcc, clang, cmake) to print colorized log output (assuming $TERM is set to a value like "xterm"). There are other ways to get colors, in particular setting CLICOLOR_FORCE, but they're less widely supported and can break programs that parse tool output.
2019-06-16Style fixEelco Dolstra
2019-06-15nix: Add -L alias for --print-build-logsEelco Dolstra
2019-06-15Fix test failures when $TMPDIR changesEelco Dolstra
(cherry picked from commit c38c726eb5d447c7e9d894d57cd05ac46c173ddd)
2019-06-15nix: Support -j flagEelco Dolstra
2019-06-15Merge pull request #2931 from NinjaTrappeur/nin-add-warning-setting-untrustedGraham Christensen
Daemon: warn when an untrusted user cannot override a setting
2019-06-15Daemon: warn when an untrusted user cannot override a settingFélix Baylac-Jacqué
In a daemon-based Nix setup, some options cannot be overridden by a client unless the client's user is considered trusted. Currently, if an untrusted user tries to override one of those options, we are silently ignoring it. This can be pretty confusing in certain situations. e.g. a user thinks he disabled the sandbox when in reality he did not. We are now sending a warning message letting know the user some options have been ignored. Related to #1761.
2019-06-13For nixpkgs.<attr>, use legacyPackagesEelco Dolstra
This makes commands like 'nix run nixpkgs.chromium' work again.
2019-06-12Fix fetchTarball with chroot storesEelco Dolstra
Fixes #2405.
2019-06-12Merge pull request #2939 from NixOS/github-testEelco Dolstra
Add tests for GitHub flakes
2019-06-11Add a test for GitHub flakesEelco Dolstra
Fixes #2889.
2019-06-11writeRegistry(): Write correct versionEelco Dolstra
2019-06-11Merge pull request #2930 from NixOS/eval-cacheEelco Dolstra
Flake evaluation cache
2019-06-07Disable EvalCache in impure modeEelco Dolstra
2019-06-07Add flake evaluation cacheEelco Dolstra
This exploits the hermetic nature of flake evaluation to speed up repeated evaluations of a flake output attribute. For example (doing 'nix build' on an already present package): $ time nix build nixpkgs:firefox real 0m1.497s user 0m1.160s sys 0m0.139s $ time nix build nixpkgs:firefox real 0m0.052s user 0m0.038s sys 0m0.007s The cache is ~/.cache/nix/eval-cache-v1.sqlite, which has entries like INSERT INTO Attributes VALUES( X'92a907d4efe933af2a46959b082cdff176aa5bfeb47a98fabd234809a67ab195', 'packages.firefox', 1, '/nix/store/pbalzf8x19hckr8cwdv62rd6g0lqgc38-firefox-67.0.drv /nix/store/g6q0gx0v6xvdnizp8lrcw7c4gdkzana0-firefox-67.0 out'); where the hash 92a9... is a fingerprint over the flake store path and the contents of the lockfile. Because flakes are evaluated in pure mode, this uniquely identifies the evaluation result.
2019-06-06Merge pull request #2920 from NixOS/lazy-flakesEelco Dolstra
Lazy flake input fetching
2019-06-05Move flake-related stuff to src/libexpr/flakeEelco Dolstra
2019-06-04Shorter syntax for referencing flake outputsEelco Dolstra
Fixes #2819.
2019-06-04Eliminate duplicate fetching of the top-level flakeEelco Dolstra
2019-06-04Add commentsEelco Dolstra
2019-06-04Update flake.lockEelco Dolstra
2019-06-04Make non-flake inputs lazyEelco Dolstra
Also add a proper test for non-flake inputs.
2019-06-04Check hashEelco Dolstra
2019-06-04Don't register invalid paths as GC rootsEelco Dolstra
Unfortunately this doesn't work. Maybe we should keep separate roots for each path.
2019-06-04Fix testEelco Dolstra
2019-06-04Rename dep -> inputEelco Dolstra
Also use nlohmann::json range-based for.
2019-06-04Move LockFile and related types to a separate fileEelco Dolstra
2019-06-04Fix GC closure generationEelco Dolstra
2019-06-04Make flake input fetching lazyEelco Dolstra
As long as the flake input is locked, it is now only fetched when it is evaluated (e.g. "nixpkgs" is fetched when "inputs.nixpkgs.<something>" is evaluated). This required adding an "id" attribute to the members of "inputs" in lockfiles, e.g. "inputs": { "nixpkgs/release-19.03": { "id": "nixpkgs", "inputs": {}, "narHash": "sha256-eYtxncIMFVmOHaHBtTdPGcs/AnJqKqA6tHCm0UmPYQU=", "nonFlakeInputs": {}, "uri": "github:edolstra/nixpkgs/e9d5882bb861dc48f8d46960e7c820efdbe8f9c1" } } because the flake ID needs to be known beforehand to construct the "inputs" attrset. Fixes #2913.
2019-06-04Merge pull request #2918 from JorisE/patch-1Eelco Dolstra
Minor typo
2019-06-04Minor typoJorisE
2019-06-04shell.nix: Use clang by defaultEelco Dolstra
Clang compiles faster (121s vs 156s for GCC 7) so it's a bit nicer for development.
2019-06-03Fix clang compilation errorEelco Dolstra
https://hydra.nixos.org/build/94332344 https://stackoverflow.com/questions/46114214/lambda-implicit-capture-fails-with-variable-declared-from-structured-binding
2019-06-03Merge pull request #2914 from CSVdB/finegrainedEpochsEelco Dolstra
Made epochs more fine-grained
2019-06-03Made epochs more fine-grainedNick Van den Broeck
Fixes #2894
2019-06-03Merge pull request #2909 from NixOS/flake-appsEelco Dolstra
Add 'nix app' command
2019-06-03Add 'nix app' commandEelco Dolstra
This is like 'nix run', except that the command to execute is defined in a flake output, e.g. defaultApp = { type = "app"; program = "${packages.blender_2_80}/bin/blender"; }; Thus you can do $ nix app blender-bin to start Blender from the 'blender-bin' flake. In the future, we can extend this with sandboxing. (For example we would want to be able to specify that Blender should not have network access by default and should only have access to certain paths in the user's home directory.)
2019-06-03Bindings: Add convenience method for requiring an attributeEelco Dolstra
2019-06-03Merge remote-tracking branch 'origin/master' into flakesEelco Dolstra
2019-06-03Merge pull request #2907 from NixOS/subdirEelco Dolstra
Subdirectory improvements