let inputs = import ./inputs.nix; inherit (inputs) nixpkgs; inherit (nixpkgs) lib; recursivelyImport = import ./recursively-import.nix { inherit lib; }; in { systems = definitions: lib.mapAttrs ( name: info: lib.nixosSystem { specialArgs = { inherit inputs; localPkgs = lib.packagesFromDirectoryRecursive { inherit (inputs.nixpkgs.legacyPackages.${info.system}) callPackage; directory = ../pkgs; }; # scope = import ./scope.nix { inherit lib; }; mainUser = info.username; machineName = name; getPkgs = builtins.attrValues; getFlakePkg = p: p.packages.${info.system}.default; getFlakePkg' = p: n: p.packages.${info.system}.${n}; stdenv.hostPlatform = info.system; }; modules = [ { nixpkgs.hostPlatform.system = info.system; } inputs.arbys.nixosModules.arbys ] ++ (recursivelyImport info.imports); } ) definitions; }