From 5452a549550ad440a9f4dec206272575c973ae6c Mon Sep 17 00:00:00 2001 From: zimbatm Date: Sat, 16 Mar 2019 15:15:11 +0100 Subject: [PATCH] nix: redefine in terms of nix-container-images --- images/nix/default.nix | 79 +++++++++++++----------------------------- 1 file changed, 25 insertions(+), 54 deletions(-) diff --git a/images/nix/default.nix b/images/nix/default.nix index 1bf8485..94f9aa5 100644 --- a/images/nix/default.nix +++ b/images/nix/default.nix @@ -1,56 +1,27 @@ -{ dockerTools -, bash -, cacert -, coreutils -, curl -, gitMinimal -, gnutar -, gzip -, iana-etc -, nix -, xz -}: +{ path, lib, nix }: let - image = dockerTools.buildImageWithNixDb { - inherit (nix) name; - - contents = [ - ./root - coreutils - # add /bin/sh - bash - nix - - # runtime dependencies of nix - cacert - gitMinimal - gnutar - gzip - xz - - # for haskell binaries - iana-etc - ]; - - extraCommands = '' - # for /usr/bin/env - mkdir usr - ln -s ../bin usr/bin - - # make sure /tmp exists - mkdir -m 0777 tmp - ''; - - config = { - Cmd = [ "/bin/bash" ]; - Env = [ - "ENV=/etc/profile.d/nix.sh" - "NIX_PATH=nixpkgs=channel:nixpkgs-unstable" - "PAGER=cat" - "PATH=/usr/bin:/bin" - "SSL_CERT_FILE=${cacert}/etc/ssl/certs/ca-bundle.crt" - ]; - }; - }; + channel = + builtins.replaceStrings + ["\n"] + [""] + "nixos-${builtins.readFile "${path}/.version"}"; in - image // { meta = nix.meta // image.meta; } + lib.makeImage { + image = { + name = "nix"; + tag = "latest"; + + run = '' + chmod u+w root + echo 'https://nixos.org/channels/${channel} nixpkgs' > root/.nix-channels + ''; + + interactive = true; + }; + environment.systemPackages = [ nix ]; + nix = { + enable = true; + useSandbox = false; + package = nix; + }; + }