From 9edfbb28e25281f3321619b41872b979cdccfb59 Mon Sep 17 00:00:00 2001 From: Brooklyn Zelenka Date: Sun, 8 Mar 2026 15:40:30 -0700 Subject: [PATCH] Fix CI --- flake.nix | 48 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 47 insertions(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index cde26b0..6950033 100644 --- a/flake.nix +++ b/flake.nix @@ -97,6 +97,41 @@ }) ]; + ci-rust-toolchain = (pkgs.rust-bin.stable.${rustVersion}.default.override { + extensions = [ + "cargo" + "clippy" + "rustfmt" + ]; + + targets = [ + "wasm32-unknown-unknown" + ]; + }).overrideAttrs (old: { + meta = (old.meta or {}) // { mainProgram = "cargo"; }; + }); + + # Stub so tools that probe for rustup (e.g. cargo-semver-checks) + # silently succeed instead of failing with "No such file or directory". + rustup-shim = pkgs.writeShellScriptBin "rustup" '' + if [ "$1" = "--version" ]; then + echo "rustup-nix-shim" + elif [ "$1" = "toolchain" ]; then + exit 0 + elif [ "$1" = "which" ]; then + command -v "$2" 2>/dev/null || echo "$2" + else + exit 0 + fi + ''; + + ci-cargo-installs = with pkgs; [ + cargo-deny + cargo-hack + cargo-semver-checks + typos + ]; + in rec { devShells.default = pkgs.mkShell { name = "future_form shell"; @@ -117,9 +152,20 @@ ''; }; + devShells.ci = pkgs.mkShell { + name = "future_form ci"; + + nativeBuildInputs = + [ + ci-rust-toolchain + rustup-shim + ] + ++ ci-cargo-installs; + }; + devShells.ffi = pkgs.mkShell { name = "future_form ffi shell"; - inputsFrom = [devShells.default]; + inputsFrom = [devShells.ci]; nativeBuildInputs = [pkgs.go pkgs.jdk pkgs.python3]; }; -- knotmirror 0.0.1