Skip to content
Snippets Groups Projects
  1. Jan 31, 2018
  2. Jan 29, 2018
  3. Jan 27, 2018
  4. Jan 26, 2018
  5. Jan 24, 2018
  6. Jan 23, 2018
  7. Jan 22, 2018
  8. Jan 19, 2018
  9. Jan 18, 2018
  10. Jan 17, 2018
  11. Jan 16, 2018
    • Eelco Dolstra's avatar
      <nix/fetchurl.nix>: Don't access builtins.currentSystem · 6ddfe9a9
      Eelco Dolstra authored
      This doesn't work in pure evaluation mode.
      6ddfe9a9
    • Eelco Dolstra's avatar
      Make show-trace a config setting · 75b9670d
      Eelco Dolstra authored
      75b9670d
    • Eelco Dolstra's avatar
      Add pure evaluation mode · d4dcffd6
      Eelco Dolstra authored
      In this mode, the following restrictions apply:
      
      * The builtins currentTime, currentSystem and storePath throw an
        error.
      
      * $NIX_PATH and -I are ignored.
      
      * fetchGit and fetchMercurial require a revision hash.
      
      * fetchurl and fetchTarball require a sha256 attribute.
      
      * No file system access is allowed outside of the paths returned by
        fetch{Git,Mercurial,url,Tarball}. Thus 'nix build -f ./foo.nix' is
        not allowed.
      
      Thus, the evaluation result is completely reproducible from the
      command line arguments. E.g.
      
        nix build --pure-eval '(
          let
            nix = fetchGit { url = https://github.com/NixOS/nixpkgs.git; rev = "9c927de4b179a6dd210dd88d34bda8af4b575680"; };
            nixpkgs = fetchGit { url = https://github.com/NixOS/nixpkgs.git; ref = "release-17.09"; rev = "66b4de79e3841530e6d9c6baf98702aa1f7124e4"; };
          in (import (nix + "/release.nix") { inherit nix nixpkgs; }).build.x86_64-linux
        )'
      
      The goal is to enable completely reproducible and traceable
      evaluation. For example, a NixOS configuration could be fully
      described by a single Git commit hash. 'nixos-rebuild' would do
      something like
      
        nix build --pure-eval '(
          (import (fetchGit { url = file:///my-nixos-config; rev = "..."; })).system
        ')
      
      where the Git repository /my-nixos-config would use further fetchGit
      calls or Git externals to fetch Nixpkgs and whatever other
      dependencies it has. Either way, the commit hash would uniquely
      identify the NixOS configuration and allow it to reproduced.
      d4dcffd6
    • Eelco Dolstra's avatar
      parseExprFromFile -> evalFile · 23fa7e36
      Eelco Dolstra authored
      parseExprFromFile() should be avoided since it doesn't cache anything.
      23fa7e36
  12. Jan 15, 2018
  13. Jan 14, 2018
    • Iavael's avatar
      Fix manpath detection · ebc42f8b
      Iavael authored
      Checking for MANPATH without quotes always returns true, so that it breaks bash-completion for man pages on modern systems without MANPATH environment variable.
      ebc42f8b
  14. Jan 13, 2018
  15. Jan 12, 2018
Loading