Add base docker image

Signed-off-by: Nikolaos Karaolidis <nick@karaolidis.com>
This commit is contained in:
2025-08-18 11:34:34 +03:00
parent 10930e85d6
commit ac85b6f608
4 changed files with 40 additions and 1 deletions

View File

@@ -26,6 +26,7 @@
treefmt = inputs.treefmt-nix.lib.evalModule pkgs ./treefmt.nix;
in
{
packages.${system} = import ./packages { inherit pkgs; };
formatter.${system} = treefmt.config.build.wrapper;
checks.${system}.formatting = treefmt.config.build.check inputs.self;
}

View File

@@ -1,4 +1,5 @@
final: prev: {
final: prev:
{
lib = prev.lib.recursiveUpdate prev.lib {
fetchers = {
sshKnownHosts = import ./fetchers/sshKnownHosts final prev;
@@ -11,3 +12,9 @@ final: prev: {
};
};
}
// (import ../packages { pkgs = final; })
// {
dockerImages = prev.dockerImages or { } // {
base = final.docker-image-base;
};
}

4
packages/default.nix Normal file
View File

@@ -0,0 +1,4 @@
{ pkgs, ... }:
{
docker-image-base = import ./docker/base { inherit pkgs; };
}

View File

@@ -0,0 +1,27 @@
{ pkgs, ... }:
pkgs.dockerTools.buildImage {
name = "base";
copyToRoot = pkgs.buildEnv {
name = "root";
paths = with pkgs; [
dockerTools.usrBinEnv
dockerTools.binSh
dockerTools.caCertificates
bashInteractive
busybox
];
pathsToLink = [
"/bin"
"/lib"
"/share"
"/etc"
"/usr"
];
};
runAsRoot = ''
${pkgs.dockerTools.shadowSetup}
mkdir -p /tmp
'';
}