diff options
| author | reo101 <pavel.atanasov2001@gmail.com> | 2025-05-13 08:05:46 +0000 |
|---|---|---|
| committer | Aristotelis <52610192+Aristotelis2002@users.noreply.github.com> | 2025-05-27 16:27:32 +0300 |
| commit | c0d0c7b6ebe17b356c8010654929f4d9901c0c56 (patch) | |
| tree | a6ef66bfea7f8436e685cdbc6ad555fc035103d6 /flake.nix | |
| parent | df83e8ed67222c1764bec939da6b4e2db5d94d82 (diff) | |
| download | zkVMs-benchmarks-c0d0c7b6ebe17b356c8010654929f4d9901c0c56.tar zkVMs-benchmarks-c0d0c7b6ebe17b356c8010654929f4d9901c0c56.tar.gz zkVMs-benchmarks-c0d0c7b6ebe17b356c8010654929f4d9901c0c56.zip | |
feat(nix)!: rewrite using `flake-parts`
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 61 |
1 files changed, 32 insertions, 29 deletions
@@ -14,37 +14,27 @@ nixpkgs.follows = "mcl-blockchain/nixpkgs"; crane.follows = "mcl-blockchain/crane"; fenix.follows = "mcl-blockchain/fenix"; - # flake-utils.follows = "mcl-blockchain/flake-utils"; + flake-parts.follows = "mcl-blockchain/flake-parts"; }; - outputs = - { self, nixpkgs, mcl-blockchain, mcl-blockchain-old, crane, fenix, ... }: - let - system = "x86_64-linux"; - pkgs = import nixpkgs { - system = system; - overlays = [ - mcl-blockchain.overlays.default - fenix.overlays.default - (_: _: { - metacraft-labs-old = - mcl-blockchain-old.legacyPackages.${system}.metacraft-labs; - }) - ]; - }; - craneLib-default = crane.mkLib pkgs; - callPackage = pkgs.lib.callPackageWith pkgs; + outputs = inputs: inputs.flake-parts.lib.mkFlake { inherit inputs; } { + systems = [ + "x86_64-linux" + "aarch64-linux" + ]; + + perSystem = { inputs', pkgs, lib, system, ... }: let + craneLib-default = inputs.crane.mkLib pkgs; + callPackage = lib.callPackageWith pkgs; zkvms = builtins.attrNames - (pkgs.lib.filterAttrs (_: type: type == "directory") + (lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./zkvms)); guests = builtins.attrNames - (pkgs.lib.filterAttrs (_: type: type == "directory") + (lib.filterAttrs (_: type: type == "directory") (builtins.readDir ./guests)); - foldr = pkgs.lib.foldr; - createPackages = guestName: let guest = if guestName == null then "graph_coloring" else guestName; @@ -54,34 +44,47 @@ inherit craneLib-default; zkvmLib = (import ./zkvmLib.nix) pkgs guest; }; - in foldr (host: accum: + in lib.foldr (host: accum: accum // { "${host}${postfix}" = callPackage ./zkvms/${host}/default.nix args-zkVM; }) { } zkvms; hostPackages = - foldr (guest: accum: accum // (createPackages guest)) { } guests; + lib.foldr (guest: accum: accum // (createPackages guest)) { } guests; - guestPackages = foldr (guest: accum: + guestPackages = lib.foldr (guest: accum: accum // { ${guest} = callPackage ./zkvms_guest_io/default.nix { inherit guest; inherit zkvms; inherit hostPackages; inherit craneLib-default; - rev = self.rev or self.dirtyRev; + rev = inputs.self.rev or inputs.self.dirtyRev; }; }) { } guests; in { - packages.${system} = hostPackages // guestPackages // { + _module.args.pkgs = import inputs.nixpkgs { + inherit system; + overlays = [ + inputs.mcl-blockchain.overlays.default + inputs.fenix.overlays.default + (_: _: { + metacraft-labs-old = + inputs'.mcl-blockchain-old.legacyPackages.metacraft-labs; + }) + ]; + }; + + packages = hostPackages // guestPackages // { rust-format-all = callPackage ./rust-format-all.nix { }; update-nix-dependencies = callPackage ./update-nix-dependencies.nix { - zkvms = builtins.map (name: mcl-blockchain.packages.${system}.${name}) + zkvms = builtins.map (name: inputs.mcl-blockchain.packages.${system}.${name}) zkvms; }; }; - formatter.${system} = pkgs.nixfmt; + formatter = pkgs.nixfmt; }; + }; } |
