continuwuity/nix/pkgs/oci-image/default.nix
2025-01-18 20:51:52 +00:00

38 lines
883 B
Nix

{ inputs
# Dependencies
, dockerTools
, lib
, main
, stdenv
, tini
}:
dockerTools.buildLayeredImage {
name = main.pname;
tag = "main";
created = "@${toString inputs.self.lastModified}";
contents = [
dockerTools.caCertificates
main
];
config = {
Entrypoint = if !stdenv.hostPlatform.isDarwin
# Use the `tini` init system so that signals (e.g. ctrl+c/SIGINT)
# are handled as expected
then [ "${lib.getExe' tini "tini"}" "--" ]
else [];
Cmd = [
"${lib.getExe main}"
];
Env = [
"RUST_BACKTRACE=full"
];
Labels = {
org.opencontainers.image.title = main.pname;
org.opencontainers.image.version = main.version;
org.opencontainers.image.revision = inputs.self.rev or inputs.self.dirtyRev or "";
org.opencontainers.image.created = "@${toString inputs.self.lastModified}";
}
};
}