From 8a223cffb1db8b19857e21eaf2ebd3e5440ac1cc Mon Sep 17 00:00:00 2001 From: Kaare Hoff Skovgaard Date: Sat, 5 Jul 2025 11:16:36 +0200 Subject: [PATCH] Attempt to fix the mapping of each system --- flake.nix | 61 ++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 38 insertions(+), 23 deletions(-) diff --git a/flake.nix b/flake.nix index 60aeef3..b5cf5cd 100644 --- a/flake.nix +++ b/flake.nix @@ -23,7 +23,24 @@ treefmt-nix, }: let - forEachSystem = systems: map: nixpkgs.lib.genAttrs systems map; + eachSystemOp = + op: systems: f: + builtins.foldl' (op f) { } systems; + mapEachSystem = eachSystemOp ( + f: attrs: system: + let + result = f system; + in + builtins.foldl' ( + attrs: key: + attrs + // { + ${key} = (attrs.${key} or { }) // { + ${system} = result.${key}; + }; + } + ) + ); in { lib.mkFlake = @@ -44,27 +61,25 @@ "treeFmtFile" ]; in - ( - (snowfall-lib.mkFlake snowfallOptions) - // (forEachSystem systems ( - system: - let - pkgs = import nixpkgs { inherit system; }; - treeFmtEval = treefmt-nix.lib.evalModule pkgs treeFmtFile; - in - { - formatter = treeFmtEval.config.build.wrapper; - checks = { - fmt = treeFmtEval.config.build.check self; - }; - devShells.default = pkgs.mkShell { - packages = [ - pkgs.nixfmt-rfc-style - pkgs.nixd - ] ++ (devShellPackages pkgs); - }; - } - )) - ); + (snowfall-lib.mkFlake snowfallOptions) + // (mapEachSystem systems ( + system: + let + pkgs = import nixpkgs { inherit system; }; + treeFmtEval = treefmt-nix.lib.evalModule pkgs treeFmtFile; + in + { + formatter = treeFmtEval.config.build.wrapper; + checks = { + fmt = treeFmtEval.config.build.check self; + }; + devShells.default = pkgs.mkShell { + packages = [ + pkgs.nixfmt-rfc-style + pkgs.nixd + ] ++ (devShellPackages pkgs); + }; + } + )); }; }