{ lib, nix2container, pkgs, ... }: lib.extend ( final: prev: { img = { baseImage = final.img.mkImage { name = "base"; layers = [ (final.img.baseLayer pkgs) ]; }; baseLayer = pkgs: with pkgs; { deps = [ bashInteractive coreutils dockerTools.binSh dockerTools.caCertificates dockerTools.usrBinEnv findutils gnugrep gnused ]; }; foldLayers = let merge = parents: current: let layer = nix2container.buildlayer( current // { layers = parents; }); in parents ++ [ layer ]; in layers: final.foldl merge [] layers; mkImage = { name, layers ? [], }: nix2container.buildImage { inherit name; layers = final.img.foldLayers layers; }; }; } )