Add lib file
This commit is contained in:
@@ -0,0 +1,45 @@
|
|||||||
|
{ 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user