Commit 4c93cf0
Changed files (1)
package.nix
@@ -1,4 +1,5 @@
{
+ lib,
pkgs,
nix2container,
name,
@@ -111,6 +112,37 @@
podman:1001:64535
EOF
'';
+
+ podmanDockerCompat =
+ pkgs.runCommand "${pkgs.podman.pname}-docker-compat-${pkgs.podman.version}"
+ {
+ nativeBuildInputs = [pkgs.installShellFiles];
+ outputs = [
+ "out"
+ "man"
+ ];
+ inherit (pkgs.podman) meta;
+ preferLocalBuild = true;
+ }
+ (
+ ''
+ mkdir -p $out/bin
+ ln -s ${pkgs.podman}/bin/podman $out/bin/docker
+
+ mkdir -p $man/share/man/man1
+ for f in ${pkgs.podman.man}/share/man/man1/*; do
+ basename=$(basename $f | sed s/podman/docker/g)
+ ln -s $f $man/share/man/man1/$basename
+ done
+ ''
+ + lib.optionalString (pkgs.stdenv.buildPlatform.canExecute pkgs.stdenv.hostPlatform) ''
+ export HOME=$(mktemp -d) # work around `docker <cmd>`
+ installShellCompletion --cmd docker \
+ --bash <($out/bin/docker completion bash) \
+ --zsh <($out/bin/docker completion zsh) \
+ --fish <($out/bin/docker completion fish)
+ ''
+ );
in
nix2container.buildImage {
inherit name;
@@ -124,7 +156,6 @@ in
paths = with pkgs; [
bash
coreutils
- docker-client
dockerTools.caCertificates
dockerTools.usrBinEnv
fakeNss
@@ -177,6 +208,7 @@ in
fuse-overlayfs
mkPodmanConfig
podman
+ podmanDockerCompat
shadow
];
})
@@ -215,7 +247,7 @@ in
Labels = {
"org.opencontainers.image.source" = "https://codeberg.org/HPCesia/nix-act-image";
"org.opencontainers.image.description" = "A Nix based container for Forgejo Actions";
- "org.opencontainers.image.licenses" = pkgs.lib.licenses.mit.spdxId;
+ "org.opencontainers.image.licenses" = lib.licenses.mit.spdxId;
};
};
}