diff --git a/hosts/default.nix b/hosts/default.nix index fbc914c..3ab0304 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -1,61 +1,3 @@ -{ self, nixpkgs-unstable, tree, ... }@inputs: -let - defaultModules = [ - # NO_INLINE - tree.impure.modules.nixos - tree.impure.profiles.base - ]; - defaultModulesNixOSUnstable = defaultModules ++ [ - # NO_INLINE - inputs.home-manager-unstable.nixosModules.home-manager - ]; - - defaultSpecialArgs = { - tree = tree.impure; - pureTree = tree.pure; - }; - - defaultSpecialArgsNixOSUnstable = defaultSpecialArgs // { - inputs = inputs // { - # set these to the correct versions from inputs - nixpkgs = inputs.nixpkgs-unstable; - home-manager = inputs.home-manager-unstable; - }; - }; - - nixosUnstableSystem = nixpkgs-unstable.lib.nixosSystem; - -in { - lappy = nixosUnstableSystem { - specialArgs = defaultSpecialArgsNixOSUnstable; - system = "x86_64-linux"; - modules = defaultModulesNixOSUnstable - ++ [ ./lappy/lappy.nix ./lappy/hardware.nix ]; - }; - - lappy-vm = nixosUnstableSystem { - specialArgs = defaultSpecialArgsNixOSUnstable; - system = "x86_64-linux"; - modules = defaultModulesNixOSUnstable - ++ [ ./lappy/lappy.nix ./lappy/vm.nix ]; - }; - - rescue-x86_64 = nixosUnstableSystem { - specialArgs = defaultSpecialArgsNixOSUnstable; - system = "x86_64-linux"; - modules = defaultModulesNixOSUnstable ++ [ ./rescue/rescue.nix ]; - }; - - hetzner-vm = nixosUnstableSystem { - specialArgs = defaultSpecialArgsNixOSUnstable; - system = "x86_64-linux"; - modules = defaultModulesNixOSUnstable ++ [ ./hetzner-vm/hetzner-vm.nix ]; - }; - - # nix --no-sandbox build .#nixosConfigurations.raspberry.config.system.build.sdImage - raspberry = nixosUnstableSystem { - specialArgs = defaultSpecialArgsNixOSUnstable; - system = "aarch64-linux"; - modules = defaultModulesNixOSUnstable ++ [ ./raspberry/raspberry.nix ]; - }; -} +{...}@inputs: { + nixosConfigurations = import ./nixos.nix inputs; +} \ No newline at end of file diff --git a/hosts/defaults.nix b/hosts/defaults.nix new file mode 100644 index 0000000..71a9f5c --- /dev/null +++ b/hosts/defaults.nix @@ -0,0 +1,33 @@ +{ self, nixpkgs-unstable, tree, ... }@inputs: +let + defaultModules = [ + # NO_INLINE + tree.impure.modules.nixos + tree.impure.profiles.base + ]; + defaultModulesNixOSUnstable = defaultModules ++ [ + # NO_INLINE + inputs.home-manager-unstable.nixosModules.home-manager + ]; + + defaultSpecialArgs = { + tree = tree.impure; + pureTree = tree.pure; + }; + + defaultSpecialArgsNixOSUnstable = defaultSpecialArgs // { + inputs = inputs // { + # set these to the correct versions from inputs + nixpkgs = inputs.nixpkgs-unstable; + home-manager = inputs.home-manager-unstable; + }; + }; + + nixosUnstableSystem = nixpkgs-unstable.lib.nixosSystem; + +in { + inherit defaultModules; + inherit defaultModulesNixOSUnstable; + inherit defaultSpecialArgs; + inherit defaultSpecialArgsNixOSUnstable; +} diff --git a/hosts/nixos.nix b/hosts/nixos.nix new file mode 100644 index 0000000..348d806 --- /dev/null +++ b/hosts/nixos.nix @@ -0,0 +1,43 @@ +{ self, nixpkgs-unstable, tree, ... }@inputs: +let + + defaults = import ./defaults.nix inputs; + + defaultModulesNixOSUnstable = defaults.defaultModulesNixOSUnstable; + defaultSpecialArgsNixOSUnstable = defaults.defaultSpecialArgsNixOSUnstable; + nixosUnstableSystem = nixpkgs-unstable.lib.nixosSystem; + +in { + lappy = nixosUnstableSystem { + specialArgs = defaultSpecialArgsNixOSUnstable; + system = "x86_64-linux"; + modules = defaultModulesNixOSUnstable + ++ [ ./lappy/lappy.nix ./lappy/hardware.nix ]; + }; + + lappy-vm = nixosUnstableSystem { + specialArgs = defaultSpecialArgsNixOSUnstable; + system = "x86_64-linux"; + modules = defaultModulesNixOSUnstable + ++ [ ./lappy/lappy.nix ./lappy/vm.nix ]; + }; + + rescue-x86_64 = nixosUnstableSystem { + specialArgs = defaultSpecialArgsNixOSUnstable; + system = "x86_64-linux"; + modules = defaultModulesNixOSUnstable ++ [ ./rescue/rescue.nix ]; + }; + + hetzner-vm = nixosUnstableSystem { + specialArgs = defaultSpecialArgsNixOSUnstable; + system = "x86_64-linux"; + modules = defaultModulesNixOSUnstable ++ [ ./hetzner-vm/hetzner-vm.nix ]; + }; + + # nix --no-sandbox build .#nixosConfigurations.raspberry.config.system.build.sdImage + raspberry = nixosUnstableSystem { + specialArgs = defaultSpecialArgsNixOSUnstable; + system = "aarch64-linux"; + modules = defaultModulesNixOSUnstable ++ [ ./raspberry/raspberry.nix ]; + }; +} diff --git a/outputs.nix b/outputs.nix index 57a4b73..64acdd4 100644 --- a/outputs.nix +++ b/outputs.nix @@ -39,9 +39,9 @@ let }; }; }; + hosts = import ./hosts ({ inherit tree; } // inputs); in { - #legacyPackages.tree = tree; - nixosConfigurations = import ./hosts ({ inherit tree; } // inputs); + nixosConfigurations = hosts.nixosConfigurations; devShell."x86_64-linux" = pkgs-x86_64-linux.mkShell { packages = with pkgs-x86_64-linux; [