diff options
Diffstat (limited to 'flake.nix')
-rw-r--r-- | flake.nix | 158 |
1 files changed, 96 insertions, 62 deletions
diff --git a/flake.nix b/flake.nix index d8ad14b..adac7fd 100644 --- a/flake.nix +++ b/flake.nix @@ -53,50 +53,82 @@ }; }; - outputs = inputs @ { self, nixpkgs, home-manager, nix-darwin, ... }: - let - user = "baitinq"; - - secrets = import ./secrets; - - dotfiles = ./dotfiles; - - hosts = [ - { host = "phobos"; extraOverlays = [ ]; extraModules = [ ]; timezone = secrets.main_timezone; location = secrets.main_location; } - { host = "luna"; extraOverlays = [ ]; extraModules = [ ]; timezone = secrets.main_timezone; location = secrets.main_location; } - ]; - - hardwares = [ - { hardware = "pc"; stateVersion = "22.05"; } - { hardware = "laptop"; stateVersion = "22.05"; } - { hardware = "chromebook"; stateVersion = "22.05"; } - { hardware = "thinkpad"; stateVersion = "22.05"; } - { hardware = "virtualbox"; stateVersion = "22.05"; } - ]; - - systems = [ - { system = "x86_64-linux"; } - { system = "x86_64-darwin"; } - { system = "aarch64-linux"; } - { system = "aarch64-darwin"; } - ]; - - - commonInherits = { - inherit (nixpkgs) lib; - inherit inputs nixpkgs home-manager nix-darwin; - inherit user secrets dotfiles hosts hardwares systems; - }; - in - { - nixosConfigurations = import ./hosts (commonInherits // { + outputs = inputs @ { + self, + nixpkgs, + home-manager, + nix-darwin, + ... + }: let + user = "baitinq"; + + secrets = import ./secrets; + + dotfiles = ./dotfiles; + + hosts = [ + { + host = "phobos"; + extraOverlays = []; + extraModules = []; + timezone = secrets.main_timezone; + location = secrets.main_location; + } + { + host = "luna"; + extraOverlays = []; + extraModules = []; + timezone = secrets.main_timezone; + location = secrets.main_location; + } + ]; + + hardwares = [ + { + hardware = "pc"; + stateVersion = "22.05"; + } + { + hardware = "laptop"; + stateVersion = "22.05"; + } + { + hardware = "chromebook"; + stateVersion = "22.05"; + } + { + hardware = "thinkpad"; + stateVersion = "22.05"; + } + { + hardware = "virtualbox"; + stateVersion = "22.05"; + } + ]; + + systems = [ + {system = "x86_64-linux";} + {system = "x86_64-darwin";} + {system = "aarch64-linux";} + {system = "aarch64-darwin";} + ]; + + commonInherits = { + inherit (nixpkgs) lib; + inherit inputs nixpkgs home-manager nix-darwin; + inherit user secrets dotfiles hosts hardwares systems; + }; + in { + nixosConfigurations = import ./hosts (commonInherits + // { isNixOS = true; isMacOS = false; isIso = false; isHardware = true; }); - darwinConfigurations = import ./hosts (commonInherits // { + darwinConfigurations = import ./hosts (commonInherits + // { isNixOS = false; isMacOS = true; isIso = false; @@ -104,14 +136,16 @@ user = "${secrets.darwin_user}"; }); - homeConfigurations = import ./hosts (commonInherits // { + homeConfigurations = import ./hosts (commonInherits + // { isNixOS = false; isMacOS = false; isIso = false; isHardware = false; }); - isoConfigurations = import ./hosts (commonInherits // { + isoConfigurations = import ./hosts (commonInherits + // { isNixOS = true; isMacOS = false; isIso = true; @@ -119,34 +153,34 @@ user = "nixos"; }); - nixosNoHardwareConfigurations = import ./hosts (commonInherits // { + nixosNoHardwareConfigurations = import ./hosts (commonInherits + // { isNixOS = true; isMacOS = false; isIso = false; isHardware = false; }); + deploy = { + magicRollback = true; + autoRollback = true; + + nodes = + builtins.mapAttrs + (_: nixosConfig: { + hostname = "${nixosConfig.config.networking.hostName}"; + + profiles.system = { + user = "root"; + path = inputs.deploy-rs.lib.${nixosConfig.config.nixpkgs.system}.activate.nixos nixosConfig; + }; + }) + self.nixosConfigurations; + }; - deploy = { - magicRollback = true; - autoRollback = true; - - nodes = builtins.mapAttrs - (_: nixosConfig: { - hostname = "${nixosConfig.config.networking.hostName}"; - - profiles.system = { - user = "root"; - path = inputs.deploy-rs.lib.${nixosConfig.config.nixpkgs.system}.activate.nixos nixosConfig; - }; - }) - self.nixosConfigurations; - }; - - # This is highly advised, and will prevent many possible mistakes - checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib; - + # This is highly advised, and will prevent many possible mistakes + checks = builtins.mapAttrs (system: deployLib: deployLib.deployChecks self.deploy) inputs.deploy-rs.lib; - tests = inputs.nixtest.run ./.; - }; + tests = inputs.nixtest.run ./.; + }; } |