ci(nix): add archive packages and overhaul CI workflows

This commit is contained in:
2026-05-04 09:50:50 +02:00
parent 6a702ec205
commit 8142aee605
8 changed files with 202 additions and 195 deletions
+2 -50
View File
@@ -39,58 +39,10 @@
overlays = [(import rust-overlay)];
pkgs = import nixpkgs {inherit system overlays;};
rustVersion = pkgs.rust-bin.stable.latest.default;
targets = {
linux-x86_64 = {
crossPkgs = pkgs;
triple = "x86_64-unknown-linux-gnu";
exeSuffix = "";
};
linux-aarch64 = {
crossPkgs = pkgs.pkgsCross.aarch64-multiplatform;
triple = "aarch64-unknown-linux-gnu";
exeSuffix = "";
};
windows-x86_64 = {
crossPkgs = pkgs.pkgsCross.mingwW64;
triple = "x86_64-pc-windows-gnu";
exeSuffix = ".exe";
};
windows-aarch64 = {
crossPkgs = pkgs.pkgsCross.aarch64-windows;
triple = "aarch64-pc-windows-gnu";
exeSuffix = ".exe";
};
macos-x86_64 = {
crossPkgs = pkgs.pkgsCross.x86_64-darwin;
triple = "x86_64-apple-darwin";
exeSuffix = "";
};
macos-aarch64 = {
crossPkgs = pkgs.pkgsCross.aarch64-darwin;
triple = "aarch64-apple-darwin";
exeSuffix = "";
};
};
mkRustBuild = import ./nix/package.nix;
packages = {
linux-x86_64 = mkRustBuild {inherit pkgs; target = targets.linux-x86_64; };
linux-aarch64 = mkRustBuild { inherit pkgs; target = targets.linux-aarch64; };
windows-x86_64 = mkRustBuild { inherit pkgs; target = targets.windows-x86_64; };
macos-aarch64 = mkRustBuild { inherit pkgs; target = targets.macos-aarch64; };
};
defaultBySystem = {
"x86_64-linux" = packages.linux-x86_64;
"aarch64-linux" = packages.linux-aarch64;
"x86_64-windows" = packages.windows-x86_64;
"aarch64-macos" = packages.macos-aarch64;
};
packages = import ./nix/packages.nix {inherit pkgs system;};
in {
inherit packages;
formatter = alejandra.defaultPackage.${system};
packages =
packages
// {
default = defaultBySystem.${system} or packages.linux-x86_64;
};
devShell = import ./nix/shell.nix {inherit pkgs rustVersion;};
}
);