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, ... }: 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;
}; };
}; };