From e72a0ad8c338be5573a295db62748bc88d7ea4a4 Mon Sep 17 00:00:00 2001 From: h0nIg Date: Thu, 5 Jun 2025 23:28:47 +0200 Subject: [PATCH 1/2] docker: add docu references & remove duplicate code --- docker.nix | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/docker.nix b/docker.nix index c418a9e62..c6905b246 100644 --- a/docker.nix +++ b/docker.nix @@ -147,23 +147,11 @@ let "${k}:x:${toString gid}:${lib.concatStringsSep "," members}"; groupContents = (lib.concatStringsSep "\n" (lib.attrValues (lib.mapAttrs groupToGroup groups))); - defaultNixConf = { - 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"; + pkgs.dockerTools.nixConf + { + build-users-group = "nixbld"; + }; userHome = if uid == 0 then "/root" else "/home/${uname}"; @@ -181,6 +169,8 @@ let name = "root-profile-env"; paths = defaultPkgs; }; + # doc/manual/source/command-ref/files/manifest.nix.md + # may get replaced by pkgs.buildEnv once manifest.json can get written manifest = pkgs.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 ${pkgs.coreutils}/bin/env $out/usr/bin/env ln -s ${pkgs.bashInteractive}/bin/bash $out/bin/sh From 2caccbed11ed5a517ed3fee86f1da3cdbff60211 Mon Sep 17 00:00:00 2001 From: h0nIg Date: Fri, 6 Jun 2025 23:54:15 +0200 Subject: [PATCH 2/2] docker: shrink code - use buildenv.manifest --- docker.nix | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/docker.nix b/docker.nix index c6905b246..1401dc6c7 100644 --- a/docker.nix +++ b/docker.nix @@ -165,12 +165,7 @@ let echo "[]" > $out/manifest.nix fi ''; - rootEnv = pkgs.buildPackages.buildEnv { - name = "root-profile-env"; - paths = defaultPkgs; - }; # doc/manual/source/command-ref/files/manifest.nix.md - # may get replaced by pkgs.buildEnv once manifest.json can get written manifest = pkgs.buildPackages.runCommand "manifest.nix" { } '' cat > $out <