From 439c31d2ccbed87e4d06d25f548b3663044b5c98 Mon Sep 17 00:00:00 2001 From: Ivan Kirilov Dimitrov Date: Sun, 4 Aug 2024 15:24:18 +0200 Subject: [PATCH] default hardware --- nixos/configs/default.nix | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/nixos/configs/default.nix b/nixos/configs/default.nix index 81bbfc2..e5c6bd3 100644 --- a/nixos/configs/default.nix +++ b/nixos/configs/default.nix @@ -5,13 +5,23 @@ let hardwareConfigurations = toplevel.config.flake.hardwareConfigurations; essential = with mods; [ grub base shell security wireless wireguard ]; desktop = with mods; [ sound wayland ]; - configWithModules = { hardware ? { nixpkgs.hostPlatform = system; }, modules }: withSystem system (ctx@{ config, inputs', pkgs, ... }: inputs.nixpkgs.lib.nixosSystem { - specialArgs = { - inherit inputs inputs' pkgs; - packages = config.packages; - }; - modules = [ hardware ] ++ modules; - }); + configWithModules = + { hardware ? (import ( + if builtins.pathExists + /mnt/etc/nixos/hardware-configuration.nix + then + /mnt/etc/nixos/hardware-configuration.nix + else + /etc/nixos/hardware-configuration.nix + )) + , modules + }: withSystem system (ctx@{ config, inputs', pkgs, ... }: inputs.nixpkgs.lib.nixosSystem { + specialArgs = { + inherit inputs inputs' pkgs; + packages = config.packages; + }; + modules = [ hardware ] ++ modules; + }); novaConfig = mods: configWithModules { hardware = hardwareConfigurations.nova; modules = essential ++ desktop ++ mods; }; in { @@ -22,7 +32,7 @@ in nova-nonya = novaConfig (with mods; [ ivand anon cryptocurrency ]); nova-ai = novaConfig (with mods; [ ivand ai ]); install-iso = configWithModules { modules = (with mods; [ grub base shell wireless ]); }; - vps = configWithModules { modules = (with mods; [ base shell security vps ]); }; - stara-miner = configWithModules { hardware = import /etc/nixos/hardware-configuration.nix; modules = (with mods; [ base shell security monero-miner ]); }; + vps = configWithModules { hardware = { nixpkgs.hostPlatform = system; }; modules = (with mods; [ base shell security vps ]); }; + stara-miner = configWithModules { modules = (with mods; [ base shell security monero-miner ]); }; }; }