{ inputs = { nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; tangled = { url = "git+https://tangled.sh/@tangled.sh/core"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = { self, ... }@inputs: let inherit (inputs) nixpkgs; inherit (inputs.nixpkgs) lib; specialArgs = { inherit inputs; }; forAllSystems = function: lib.genAttrs lib.systems.flakeExposed ( system: function ( import nixpkgs { inherit system; config.allowUnfree = true; } ) ); dumb-manager = import ./lib/dumb-manager.nix; in { nixosConfigurations = { hetzner = nixpkgs.lib.nixosSystem { inherit specialArgs; modules = [ inputs.tangled.nixosModules.knot ./common ./hetzner ]; }; riptide = nixpkgs.lib.nixosSystem { inherit specialArgs; modules = [ ./common ./riptide ]; }; }; packages = forAllSystems (pkgs: { mac-home = dumb-manager.configuration { inherit pkgs nixpkgs; module = ./home/mac; }; }); formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style); }; }