added: snap build

This commit is contained in:
shimun 2023-01-14 19:08:30 +01:00
parent 2d8fa18dbe
commit 7889c5427f
Signed by: shimun
GPG Key ID: E0420647856EA39E

View File

@ -13,7 +13,7 @@
outputs = inputs @ { self, nixpkgs, utils, naersk, ... }:
let
root = inputs.source or self;
pname = (builtins.fromTOML (builtins.readFile (root + "/Cargo.toml"))).package.name;
pname = "ssh-cert-dist";
# toolchains: stable, beta, default(nightly)
toolchain = pkgs:
if inputs ? fenix then inputs.fenix.packages."${pkgs.system}".complete.toolchain
@ -24,15 +24,28 @@
in
rec {
# `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.default = packages.${pname};
packages.default = packages."${pname}-client";
# `nix run`
apps.${pname} = utils.lib.mkApp {
drv = packages.${pname};
apps."${pname}-server" = utils.lib.mkApp {
drv = packages."${pname}-server";
};
apps."${pname}-client" = utils.lib.mkApp {
drv = packages."${pname}-client";
};
# `nix run .#streamDockerImage | docker load`
@ -41,12 +54,12 @@
name = pname;
tag = self.shortRev or "latest";
config = {
Entrypoint = apps.default.program;
Entrypoint = apps."${pname}-server".program;
};
};
exePath = "";
};
apps.default = apps.${pname};
apps.default = apps."${pname}-client";
# `nix flake check`
checks = {
@ -103,9 +116,15 @@
];
in
{
"${pname}" =
"${pname}-server" =
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;
};
};