A cross-platform simulator for the GreenArrays GA144 multi-computer chip.
1{
2 description = "A simulator for the GA144 multi-computer";
3
4 inputs.nixpkgs.url = "nixpkgs/nixos-25.11";
5 inputs.zig.url = "github:mitchellh/zig-overlay";
6
7 outputs = {
8 nixpkgs,
9 zig,
10 ...
11 }: let
12 systems = ["x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin"];
13 in
14 builtins.foldl' nixpkgs.lib.recursiveUpdate {} (
15 builtins.map (
16 system: let
17 pkgs = import nixpkgs {
18 inherit system;
19 overlays = [zig.overlays.default];
20 };
21 in {
22 devShells.${system}.default = pkgs.mkShell {
23 packages = with pkgs;
24 [
25 zigpkgs.master
26 ]
27 ++ (pkgs.lib.optionals pkgs.stdenv.isLinux [elfkickers kcov]);
28 };
29
30 formatter.${system} = pkgs.alejandra;
31
32 packages.${system}.default = pkgs.callPackage ./package.nix {zig = pkgs.zigpkgs.master;};
33 }
34 )
35 systems
36 );
37}