added: snap build
This commit is contained in:
parent
2d8fa18dbe
commit
7889c5427f
37
flake.nix
37
flake.nix
@ -13,7 +13,7 @@
|
|||||||
outputs = inputs @ { self, nixpkgs, utils, naersk, ... }:
|
outputs = inputs @ { self, nixpkgs, utils, naersk, ... }:
|
||||||
let
|
let
|
||||||
root = inputs.source or self;
|
root = inputs.source or self;
|
||||||
pname = (builtins.fromTOML (builtins.readFile (root + "/Cargo.toml"))).package.name;
|
pname = "ssh-cert-dist";
|
||||||
# toolchains: stable, beta, default(nightly)
|
# toolchains: stable, beta, default(nightly)
|
||||||
toolchain = pkgs:
|
toolchain = pkgs:
|
||||||
if inputs ? fenix then inputs.fenix.packages."${pkgs.system}".complete.toolchain
|
if inputs ? fenix then inputs.fenix.packages."${pkgs.system}".complete.toolchain
|
||||||
@ -24,15 +24,28 @@
|
|||||||
in
|
in
|
||||||
rec {
|
rec {
|
||||||
# `nix build`
|
# `nix build`
|
||||||
packages.${pname} = (self.overlay pkgs pkgs).${pname};
|
packages."${pname}-server" = (self.overlay pkgs pkgs)."${pname}-server";
|
||||||
|
packages."${pname}-client" = (self.overlay pkgs pkgs)."${pname}-client";
|
||||||
|
|
||||||
|
packages."${pname}-client-snap" = pkgs.snapTools.makeSnap {
|
||||||
|
meta = {
|
||||||
|
name = pname;
|
||||||
|
architectures = [ "amd64" ];
|
||||||
|
confinement = "strict";
|
||||||
|
apps.hello.command = apps."${pname}-client".program;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
packages.dockerImage = pkgs.runCommandLocal "docker-${pname}.tar.gz" { } "${apps.streamDockerImage.program} | gzip --fast > $out";
|
packages.dockerImage = pkgs.runCommandLocal "docker-${pname}.tar.gz" { } "${apps.streamDockerImage.program} | gzip --fast > $out";
|
||||||
|
|
||||||
packages.default = packages.${pname};
|
packages.default = packages."${pname}-client";
|
||||||
|
|
||||||
# `nix run`
|
# `nix run`
|
||||||
apps.${pname} = utils.lib.mkApp {
|
apps."${pname}-server" = utils.lib.mkApp {
|
||||||
drv = packages.${pname};
|
drv = packages."${pname}-server";
|
||||||
|
};
|
||||||
|
apps."${pname}-client" = utils.lib.mkApp {
|
||||||
|
drv = packages."${pname}-client";
|
||||||
};
|
};
|
||||||
|
|
||||||
# `nix run .#streamDockerImage | docker load`
|
# `nix run .#streamDockerImage | docker load`
|
||||||
@ -41,12 +54,12 @@
|
|||||||
name = pname;
|
name = pname;
|
||||||
tag = self.shortRev or "latest";
|
tag = self.shortRev or "latest";
|
||||||
config = {
|
config = {
|
||||||
Entrypoint = apps.default.program;
|
Entrypoint = apps."${pname}-server".program;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
exePath = "";
|
exePath = "";
|
||||||
};
|
};
|
||||||
apps.default = apps.${pname};
|
apps.default = apps."${pname}-client";
|
||||||
|
|
||||||
# `nix flake check`
|
# `nix flake check`
|
||||||
checks = {
|
checks = {
|
||||||
@ -103,9 +116,15 @@
|
|||||||
];
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
"${pname}" =
|
"${pname}-server" =
|
||||||
naersk-lib.buildPackage {
|
naersk-lib.buildPackage {
|
||||||
inherit pname root buildInputs nativeBuildInputs;
|
name = "${pname}-server";
|
||||||
|
inherit root buildInputs nativeBuildInputs;
|
||||||
|
};
|
||||||
|
"${pname}-client" =
|
||||||
|
naersk-lib.buildPackage {
|
||||||
|
name = "${pname}-client";
|
||||||
|
inherit root buildInputs nativeBuildInputs;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user