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