diff --git a/docker.nix b/docker.nix index 6cfa7d551..c6e8e478e 100644 --- a/docker.nix +++ b/docker.nix @@ -176,24 +176,20 @@ let "${k}:x:${toString gid}:${lib.concatStringsSep "," members}"; groupContents = (lib.concatStringsSep "\n" (lib.attrValues (lib.mapAttrs groupToGroup groups))); - defaultNixConf = { - sandbox = "false"; + toConf = + with pkgs.lib.generators; + toKeyValue { + mkKeyValue = mkKeyValueDefault { + mkValueString = v: if lib.isList v then lib.concatStringsSep " " v else mkValueStringDefault { } v; + } " = "; + }; + + nixConfContents = toConf { + sandbox = false; build-users-group = "nixbld"; trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ]; }; - nixConfContents = - (lib.concatStringsSep "\n" ( - lib.mapAttrsToList ( - n: v: - let - vStr = if builtins.isList v then lib.concatStringsSep " " v else v; - in - "${n} = ${vStr}" - ) (defaultNixConf // nixConf) - )) - + "\n"; - userHome = if uid == 0 then "/root" else "/home/${uname}"; baseSystem = @@ -211,10 +207,7 @@ let echo "[]" > $out/manifest.nix fi ''; - rootEnv = buildPackages.buildEnv { - name = "root-profile-env"; - paths = defaultPkgs; - }; + # doc/manual/source/command-ref/files/manifest.nix.md manifest = buildPackages.runCommand "manifest.nix" { } '' cat > $out < $out${userHome}/.nix-channels + # may get replaced by pkgs.dockerTools.binSh & pkgs.dockerTools.usrBinEnv mkdir -p $out/bin $out/usr/bin ln -s ${lib.getExe' coreutils-full "env"} $out/usr/bin/env ln -s ${lib.getExe bashInteractive} $out/bin/sh