{ inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05"; flake-parts.url = "github:hercules-ci/flake-parts"; }; outputs = inputs@{ self, nixpkgs, flake-parts, ... }: flake-parts.lib.mkFlake { inherit inputs; } ({ withSystem, flake-parts-lib, ... }: let inherit (flake-parts-lib) importApply; flakeModules.nixinate = importApply ./nixinate { inherit withSystem; }; in { imports = [ flakeModules.nixinate ]; flake = let specialArgs = inputs // { inherit inputs; }; system = "x86_64-linux"; in { inherit flakeModules; nixosConfigurations = { nixos-test = nixpkgs.lib.nixosSystem { system = system; specialArgs = specialArgs // { inherit system; }; modules = [ (import ./machines/nixos-test) (import ./modules) (import ./modules/users) { _module.args.nixinate = { host = "10.49.212.3"; sshUser = "audron"; buildOn = "remote"; substituteOnTarget = true; hermetic = false; }; } ]; }; }; }; systems = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin" ]; perSystem = { config, ... }: { }; }); }