From 8fd40e2e6e8be516377360ba514e3f881be2d785 Mon Sep 17 00:00:00 2001 From: technofab Date: Sat, 27 Apr 2024 15:12:10 +0200 Subject: [PATCH] chore(image): create various directories, add normal bash and git and switch to layered image --- image.nix | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/image.nix b/image.nix index a1b545e..ff981ba 100644 --- a/image.nix +++ b/image.nix @@ -3,30 +3,40 @@ pkgs, ... }: -pkgs.dockerTools.buildImage { +pkgs.dockerTools.buildLayeredImage { name = "nix-coder"; tag = "latest"; - copyToRoot = pkgs.buildEnv { + contents = pkgs.buildEnv { name = "image-root"; paths = [ + pkgs.bash pkgs.bashInteractive - pkgs.nixFlakes + pkgs.nix pkgs.coreutils-full + pkgs.git pkgs.curl pkgs.home-manager pkgs.direnv (pkgs.writeTextDir "etc/nix/nix.conf" "experimental-features = nix-command flakes") (pkgs.writeTextDir "etc/passwd" "coder:x:1000:1000::/home/coder:/bin/bash") + (pkgs.writeTextDir "etc/shadow" "coder:!:::::::") + (pkgs.writeTextDir "etc/group" "coder:x:1000:") + (pkgs.writeTextDir "etc/gshadow" "coder:x::") ]; pathsToLink = ["/bin" "/etc"]; }; + maxLayers = 5; + fakeRootCommands = '' + mkdir -p ./home/coder ./tmp ./nix/var/nix + ''; config = { Cmd = ["/bin/bash"]; Env = [ "SSL_CERT_FILE=${pkgs.cacert}/etc/ssl/certs/ca-bundle.crt" "HOME=/home/coder" + "USER=coder" ]; }; }