at dev 1.4 kB view raw
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 riptide = nixpkgs.lib.nixosSystem { 39 inherit specialArgs; 40 modules = [ 41 ./common 42 ./riptide 43 ]; 44 }; 45 }; 46 packages = forAllSystems (pkgs: { 47 mac-home = dumb-manager.configuration { 48 inherit pkgs nixpkgs; 49 module = ./home/mac; 50 }; 51 }); 52 formatter = forAllSystems (pkgs: pkgs.nixfmt-rfc-style); 53 }; 54}