refactor(hosts): simplify configuration imports across hosts

This commit is contained in:
tux
2026-05-13 04:33:14 +05:30
parent 71aaf2d392
commit b649b974fa
15 changed files with 137 additions and 98 deletions

View File

@@ -4,21 +4,14 @@
{
hostName,
userName,
modulesPath,
...
}:
{
imports =
with config.flake.modules.nixos;
[
imports = with config.flake.modules.nixos; [
boot
hardware
networking
virtualisation
services
]
++ [
(modulesPath + "/profiles/qemu-guest.nix")
];
tnix = {

View File

@@ -14,7 +14,14 @@ in
{
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit hostName userName userEmail; };
specialArgs = {
inherit
hostName
userName
userEmail
system
;
};
modules = [
config.flake.modules.nixos.core
config.flake.modules.nixos.${hostName}

View File

@@ -0,0 +1,17 @@
{
flake.modules.nixos.alpha =
{
lib,
modulesPath,
system,
...
}:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault system;
};
}

View File

@@ -2,7 +2,6 @@
{
flake.modules.nixos.arcturus =
{
pkgs,
hostName,
userName,
...
@@ -10,7 +9,6 @@
{
imports = with config.flake.modules.nixos; [
boot
hardware
networking
virtualisation
services
@@ -109,10 +107,6 @@
firewall.enable = false;
};
environment.systemPackages = with pkgs; [
nvtopPackages.full
];
system.stateVersion = "26.05";
};
}

View File

@@ -14,7 +14,14 @@ in
{
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit hostName userName userEmail; };
specialArgs = {
inherit
hostName
userName
userEmail
system
;
};
modules = [
config.flake.modules.nixos.core
config.flake.modules.nixos.${hostName}

View File

@@ -1,11 +1,17 @@
{ config, ... }:
{
flake.modules.nixos.arcturus =
{
config,
lib,
pkgs,
system,
...
}:
}@innerArgs:
{
imports = with config.flake.modules.nixos; [
hardware
];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
@@ -18,15 +24,13 @@
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp10s0f3u2i2.useDHCP = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault system;
environment.systemPackages = with pkgs; [
nvtopPackages.amd
];
};
}

View File

@@ -10,7 +10,6 @@
{
imports = with config.flake.modules.nixos; [
boot
hardware
networking
desktop
gaming
@@ -120,20 +119,7 @@
firewall.enable = false;
};
# --- Hardware / GPU ---
# hardware = {
# nvidia = {
# modesetting.enable = true;
# open = false;
# nvidiaSettings = true;
# };
# };
# boot.kernelParams = [ "nvidia-drm.modeset=1" ];
# nixpkgs.config.cudaSupport = true;
# services.xserver.videoDrivers = [ "nvidia" ];
environment.systemPackages = with pkgs; [
nvtopPackages.full
davinci-resolve
telegram-desktop
];

View File

@@ -14,7 +14,14 @@ in
{
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit hostName userName userEmail; };
specialArgs = {
inherit
hostName
userName
userEmail
system
;
};
modules = [
config.flake.modules.nixos.core
config.flake.modules.nixos.${hostName}

View File

@@ -1,11 +1,16 @@
{ config, ... }:
{
flake.modules.nixos.canopus =
{
config,
lib,
system,
...
}:
}@innerArgs:
{
imports = with config.flake.modules.nixos; [
hardware
];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
@@ -18,15 +23,9 @@
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp10s0f3u2i2.useDHCP = lib.mkDefault true;
hardware.cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault system;
};
}

View File

@@ -10,7 +10,6 @@
{
imports = with config.flake.modules.nixos; [
boot
hardware
networking
desktop
gaming
@@ -121,20 +120,7 @@
firewall.enable = false;
};
# --- Hardware / GPU ---
hardware = {
nvidia = {
modesetting.enable = true;
open = false;
nvidiaSettings = true;
};
};
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
nixpkgs.config.cudaSupport = true;
services.xserver.videoDrivers = [ "nvidia" ];
environment.systemPackages = with pkgs; [
nvtopPackages.full
davinci-resolve
telegram-desktop
];

View File

@@ -14,7 +14,14 @@ in
{
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit hostName userName userEmail; };
specialArgs = {
inherit
hostName
userName
userEmail
system
;
};
modules = [
config.flake.modules.nixos.core
config.flake.modules.nixos.${hostName}

View File

@@ -1,11 +1,18 @@
{ config, ... }:
{
flake.modules.nixos.sirius =
{
config,
lib,
pkgs,
system,
...
}:
}@innerArgs:
{
imports = with config.flake.modules.nixos; [
hardware
];
boot.kernelParams = [ "nvidia-drm.modeset=1" ];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
@@ -18,15 +25,23 @@
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.eno1.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp10s0f3u2i2.useDHCP = lib.mkDefault true;
hardware = {
nvidia = {
modesetting.enable = true;
open = false;
nvidiaSettings = true;
};
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
cpu.amd.updateMicrocode = lib.mkDefault innerArgs.config.hardware.enableRedistributableFirmware;
};
services.xserver.videoDrivers = [ "nvidia" ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.config.cudaSupport = true;
nixpkgs.hostPlatform = lib.mkDefault system;
environment.systemPackages = with pkgs; [
nvtopPackages.full
];
};
}

View File

@@ -3,21 +3,14 @@
flake.modules.nixos.vps =
{
hostName,
modulesPath,
...
}:
{
imports =
with config.flake.modules.nixos;
[
imports = with config.flake.modules.nixos; [
boot
hardware
networking
virtualisation
services
]
++ [
(modulesPath + "/profiles/qemu-guest.nix")
];
tnix = {

View File

@@ -14,7 +14,14 @@ in
{
flake.nixosConfigurations."${hostName}" = nixpkgs.lib.nixosSystem {
inherit system;
specialArgs = { inherit hostName userName userEmail; };
specialArgs = {
inherit
hostName
userName
userEmail
system
;
};
modules = [
config.flake.modules.nixos.core
config.flake.modules.nixos.${hostName}

View File

@@ -0,0 +1,17 @@
{
flake.modules.nixos.vps =
{
lib,
modulesPath,
system,
...
}:
{
imports = [
(modulesPath + "/profiles/qemu-guest.nix")
];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault system;
};
}