From e3b28f3bfc9228a19cc5a8561b0aecb6ca61a303 Mon Sep 17 00:00:00 2001 From: TrudeEH Date: Mon, 26 Jan 2026 17:04:26 +0000 Subject: [PATCH] Add support for multiple machines --- nixos/configuration.nix | 7 ++---- nixos/flake.nix | 23 ++++++++++++++----- nixos/hosts/TrudePC/default.nix | 11 +++++++++ .../TrudePC}/hardware-configuration.nix | 2 +- 4 files changed, 31 insertions(+), 12 deletions(-) create mode 100644 nixos/hosts/TrudePC/default.nix rename nixos/{ => hosts/TrudePC}/hardware-configuration.nix (96%) diff --git a/nixos/configuration.nix b/nixos/configuration.nix index 12c116c3..ce2814c2 100644 --- a/nixos/configuration.nix +++ b/nixos/configuration.nix @@ -1,13 +1,12 @@ +# Shared configuration across all machines # Help is available in the configuration.nix(5) man page -# and in the NixOS manual (accessible by running ‘nixos-help’). +# and in the NixOS manual (accessible by running 'nixos-help'). # man configuration.nix { config, pkgs, inputs, ... }: - { imports = [ - ./hardware-configuration.nix inputs.home-manager.nixosModules.default ]; @@ -19,8 +18,6 @@ boot.kernelPackages = pkgs.linuxPackages_latest; # Networking - networking.hostName = "TrudePC"; - #networking.wireless.enable = true; networking.networkmanager.enable = true; time.timeZone = "Europe/Lisbon"; i18n.defaultLocale = "en_US.UTF-8"; diff --git a/nixos/flake.nix b/nixos/flake.nix index 6e53f807..5957121f 100644 --- a/nixos/flake.nix +++ b/nixos/flake.nix @@ -11,12 +11,23 @@ }; outputs = { self, nixpkgs, ... }@inputs: { - nixosConfigurations.TrudePC = nixpkgs.lib.nixosSystem { - specialArgs = {inherit inputs;}; - modules = [ - ./configuration.nix - inputs.home-manager.nixosModules.default - ]; + nixosConfigurations = { + TrudePC = nixpkgs.lib.nixosSystem { + specialArgs = { inherit inputs; }; + modules = [ + ./configuration.nix + ./hosts/TrudePC + ]; + }; + + # Add future machines here following the same pattern: + # MachineName = nixpkgs.lib.nixosSystem { + # specialArgs = { inherit inputs; }; + # modules = [ + # ./common.nix + # ./hosts/MachineName + # ]; + # }; }; }; } diff --git a/nixos/hosts/TrudePC/default.nix b/nixos/hosts/TrudePC/default.nix new file mode 100644 index 00000000..7cbd9152 --- /dev/null +++ b/nixos/hosts/TrudePC/default.nix @@ -0,0 +1,11 @@ +# TrudePC-specific configuration +{ config, pkgs, ... }: + +{ + imports = [ + ./hardware-configuration.nix + ]; + + # Machine-specific settings + networking.hostName = "TrudePC"; +} diff --git a/nixos/hardware-configuration.nix b/nixos/hosts/TrudePC/hardware-configuration.nix similarity index 96% rename from nixos/hardware-configuration.nix rename to nixos/hosts/TrudePC/hardware-configuration.nix index d5d4d451..98f6a52b 100644 --- a/nixos/hardware-configuration.nix +++ b/nixos/hosts/TrudePC/hardware-configuration.nix @@ -8,7 +8,7 @@ [ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "ahci" "usb_storage" "usbhid" "sd_mod" ]; + boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "ahci" "usbhid" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-amd" ]; boot.extraModulePackages = [ ];