wgautomesh/flake.nix

44 lines
1.4 KiB
Nix

{
description = "wgautomesh";
inputs.nixpkgs.url = "github:NixOS/nixpkgs/a3073c49bc0163fea6a121c276f526837672b555";
inputs.cargo2nix = {
# As of 2022-10-18: two small patches over unstable branch, one for clippy and one to fix feature detection
url = "github:Alexis211/cargo2nix/a7a61179b66054904ef6a195d8da736eaaa06c36";
inputs.nixpkgs.follows = "nixpkgs";
};
outputs = { self, nixpkgs, cargo2nix }:
let
pkgs = import nixpkgs {
system = "x86_64-linux";
overlays = [ cargo2nix.overlays.default ];
};
packageFun = import ./Cargo.nix;
rustVersion = "1.63.0";
compile = args: compileMode:
let
packageSet = pkgs.rustBuilder.makePackageSet ({
inherit packageFun rustVersion;
# Config to build static binaries
target = "x86_64-unknown-linux-musl";
codegenOpts = {
"x86_64-unknown-linux-musl" =
[ "target-feature=+crt-static" "link-arg=-static-pie" ];
};
} // args);
in
packageSet.workspace.wgautomesh {
inherit compileMode;
};
in
{
test.x86_64-linux.wgautomesh = compile { release = false; } "test";
debug.x86_64-linux.wgautomesh = compile { release = false; } "build";
packages.x86_64-linux.wgautomesh = compile { release = true; } "build";
packages.x86_64-linux.default = self.packages.x86_64-linux.wgautomesh;
};
}