break oci image builder into a function
Now it can be reused for different `pkgs` and `package`s.
This commit is contained in:
parent
0e8e4f1083
commit
2a04a361e0
1 changed files with 10 additions and 11 deletions
21
flake.nix
21
flake.nix
|
@ -159,30 +159,29 @@
|
||||||
|
|
||||||
meta.mainProgram = cargoToml.package.name;
|
meta.mainProgram = cargoToml.package.name;
|
||||||
};
|
};
|
||||||
in
|
|
||||||
{
|
|
||||||
packages = {
|
|
||||||
default = package pkgsHost;
|
|
||||||
|
|
||||||
oci-image =
|
mkOciImage = pkgs: package:
|
||||||
let
|
pkgs.dockerTools.buildImage {
|
||||||
package = self.packages.${system}.default;
|
|
||||||
in
|
|
||||||
pkgsHost.dockerTools.buildImage {
|
|
||||||
name = package.pname;
|
name = package.pname;
|
||||||
tag = "latest";
|
tag = "latest";
|
||||||
config = {
|
config = {
|
||||||
# Use the `tini` init system so that signals (e.g. ctrl+c/SIGINT)
|
# Use the `tini` init system so that signals (e.g. ctrl+c/SIGINT)
|
||||||
# are handled as expected
|
# are handled as expected
|
||||||
Entrypoint = [
|
Entrypoint = [
|
||||||
"${pkgsHost.lib.getExe' pkgsHost.tini "tini"}"
|
"${pkgs.lib.getExe' pkgs.tini "tini"}"
|
||||||
"--"
|
"--"
|
||||||
];
|
];
|
||||||
Cmd = [
|
Cmd = [
|
||||||
"${pkgsHost.lib.getExe package}"
|
"${pkgs.lib.getExe package}"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
in
|
||||||
|
{
|
||||||
|
packages = {
|
||||||
|
default = package pkgsHost;
|
||||||
|
|
||||||
|
oci-image = mkOciImage pkgsHost self.packages.${system}.default;
|
||||||
} // builtins.listToAttrs (
|
} // builtins.listToAttrs (
|
||||||
builtins.map
|
builtins.map
|
||||||
(crossSystem: {
|
(crossSystem: {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue