this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

refactor: DRY flake

+38 -50
+38 -50
flake.nix
··· 32 32 ]; 33 33 } 34 34 ]; 35 - in { 36 - nixosConfigurations = { 37 - ryzentower = nixpkgs.lib.nixosSystem { 38 - system = "x86_64-linux"; 39 - specialArgs = { 40 - platform = nixpkgs.lib.systems.elaborate "x86_64-linux"; 41 - }; 42 - modules = baseModules ++ [ 35 + 36 + mkHost = { 37 + host, 38 + system, 39 + extraModules ? [], 40 + }: 41 + let 42 + platform = nixpkgs.lib.systems.elaborate system; 43 + builder = if platform.isDarwin then darwin.lib.darwinSystem else nixpkgs.lib.nixosSystem; 44 + systemModules = if platform.isDarwin then [ 45 + home-manager.darwinModules.home-manager 46 + ] else [ 43 47 disko.nixosModules.disko 44 48 home-manager.nixosModules.home-manager 45 - ./hosts/ryzentower.nix 46 49 ]; 47 - }; 48 - thinkpadz13 = nixpkgs.lib.nixosSystem { 49 - system = "x86_64-linux"; 50 + in 51 + builder { 52 + inherit system; 50 53 specialArgs = { 51 - platform = nixpkgs.lib.systems.elaborate "x86_64-linux"; 54 + inherit platform; 52 55 }; 53 - modules = baseModules ++ [ 54 - disko.nixosModules.disko 55 - home-manager.nixosModules.home-manager 56 - nixos-hardware.nixosModules.lenovo-thinkpad-z13-gen1 57 - ./hosts/thinkpadz13.nix 56 + modules = baseModules ++ systemModules ++ extraModules ++ [ 57 + ./hosts/${host}.nix 58 58 ]; 59 59 }; 60 - codeserver = nixpkgs.lib.nixosSystem { 60 + in { 61 + nixosConfigurations = { 62 + ryzentower = mkHost { 63 + host = "ryzentower"; 61 64 system = "x86_64-linux"; 62 - specialArgs = { 63 - platform = nixpkgs.lib.systems.elaborate "x86_64-linux"; 64 - }; 65 - modules = baseModules ++ [ 66 - disko.nixosModules.disko 67 - home-manager.nixosModules.home-manager 68 - ./hosts/codeserver.nix 65 + }; 66 + thinkpadz13 = mkHost { 67 + host = "thinkpadz13"; 68 + system = "x86_64-linux"; 69 + extraModules = [ 70 + nixos-hardware.nixosModules.lenovo-thinkpad-z13-gen1 69 71 ]; 70 72 }; 73 + codeserver = mkHost { 74 + host = "codeserver"; 75 + system = "x86_64-linux"; 76 + }; 71 77 }; 72 78 73 79 darwinConfigurations = { 74 - "MacBookPro" = darwin.lib.darwinSystem { 80 + "MacBookPro" = mkHost { 81 + host = "MacBookPro"; 75 82 system = "aarch64-darwin"; 76 - specialArgs = { 77 - platform = nixpkgs.lib.systems.elaborate "aarch64-darwin"; 78 - }; 79 - modules = baseModules ++ [ 80 - home-manager.darwinModules.home-manager 81 - ./hosts/MacBookPro.nix 82 - ]; 83 83 }; 84 - "AS-GXL19NXYYQ" = darwin.lib.darwinSystem { 84 + "AS-GXL19NXYYQ" = mkHost { 85 + host = "AS-GXL19NXYYQ"; 85 86 system = "aarch64-darwin"; 86 - specialArgs = { 87 - platform = nixpkgs.lib.systems.elaborate "aarch64-darwin"; 88 - }; 89 - modules = baseModules ++ [ 90 - home-manager.darwinModules.home-manager 91 - ./hosts/AS-GXL19NXYYQ.nix 92 - ]; 93 87 }; 94 - macos-test = darwin.lib.darwinSystem { 88 + macos-test = mkHost { 89 + host = "macos-test"; 95 90 system = "aarch64-darwin"; 96 - specialArgs = { 97 - platform = nixpkgs.lib.systems.elaborate "aarch64-darwin"; 98 - }; 99 - modules = baseModules ++ [ 100 - home-manager.darwinModules.home-manager 101 - ./hosts/macos-test.nix 102 - ]; 103 91 }; 104 92 }; 105 93 };