1{ 2 inputs = { 3 nixpkgs.url = "https://channels.nixos.org/nixpkgs-unstable/nixexprs.tar.xz"; 4 tangled = { 5 url = "git+https://tangled.sh/@tangled.sh/core"; 6 inputs.nixpkgs.follows = "nixpkgs"; 7 }; 8 }; 9 outputs = 10 { self, ... }@inputs: 11 let 12 inherit (inputs) nixpkgs; 13 inherit (inputs.nixpkgs) lib; 14 specialArgs = { inherit inputs; }; 15 forAllSystems = 16 function: 17 lib.genAttrs lib.systems.flakeExposed ( 18 system: 19 function ( 20 import nixpkgs { 21 inherit system; 22 config.allowUnfree = true; 23 } 24 ) 25 ); 26 dumb-manager = import ./lib/dumb-manager.nix; 27 in 28 { 29 nixosConfigurations = { 30 hetzner = nixpkgs.lib.nixosSystem { 31 inherit specialArgs; 32 modules = [ 33 inputs.tangled.nixosModules.knot 34 ./common 35 ./hetzner 36 ]; 37 }; 38 }; 39 packages = forAllSystems (pkgs: { 40 # mac-home = (import ./home/mac) {inherit pkgs;}; 41 mac-home = dumb-manager.configuration { 42 inherit pkgs nixpkgs; 43 module = ./home/mac; 44 }; 45 }); 46 # apps = forAllSystems (pkgs: { 47 # update-links = { 48 # type = "app"; 49 # program = "${self.packages.${pkgs.system}.update-links}"; 50 # }; 51 # }); 52 formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style); 53 }; 54}