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; inherit (info) system; localPkgs = lib.packagesFromDirectoryRecursive { inherit (inputs.nixpkgs.legacyPackages.${info.system}) callPackage; directory = ../pkgs; }; scope = import ./scope.nix { inherit lib; }; mainUser = info.username; getPkgs = builtins.attrValues; }; modules = [ inputs.home-manager.nixosModules.home-manager inputs.hjem.nixosModules.hjem (lib.mkAliasOptionModule [ "hm" ] [ "home-manager" "users" info.username ]) (lib.mkAliasOptionModule [ "home" ] [ "hjem" "users" info.username ]) ] ++ (recursivelyImport info.imports); } ) definitions; }