92 lines
2.6 KiB
Nix
92 lines
2.6 KiB
Nix
{
|
|
description = "NixOS Hosts";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.11";
|
|
disko.url = "github:nix-community/disko";
|
|
};
|
|
|
|
outputs = { self, nixpkgs, disko }:
|
|
let
|
|
mkSystem = { systemConfig, moduleConfig }: nixpkgs.lib.nixosSystem {
|
|
system = "x86_64-linux";
|
|
modules = [
|
|
disko.nixosModules.disko
|
|
./lib/disk-config.nix
|
|
./lib/common-system.nix
|
|
systemConfig
|
|
({ ... }: moduleConfig)
|
|
];
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
# LLaMA C++ Server
|
|
lin-va-llama1 = mkSystem {
|
|
systemConfig = ./hosts/llama-server.nix;
|
|
moduleConfig = {
|
|
hostName = "lin-va-llama1";
|
|
mainDiskID = "/dev/disk/by-id/ata-MTFDDAK512MBF-1AN1ZABHA_161212233628";
|
|
};
|
|
};
|
|
|
|
# RKE2 Primary Server
|
|
lin-va-rke1 = mkSystem {
|
|
systemConfig = ./hosts/rke2.nix;
|
|
moduleConfig = {
|
|
hostName = "lin-va-rke1";
|
|
mainDiskID = "/dev/xvda";
|
|
|
|
democraticConfig = {
|
|
apiKeyFile = ./_scratch/truenas-api;
|
|
sshKeyFile = ./_scratch/truenas-ssh;
|
|
};
|
|
|
|
networkConfig = {
|
|
interface = "enX0";
|
|
address = "10.0.20.201";
|
|
defaultGateway = "10.0.20.254";
|
|
nameservers = [ "10.0.20.254" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
# RKE2 Second Server
|
|
lin-va-rke2 = mkSystem {
|
|
systemConfig = ./hosts/rke2.nix;
|
|
moduleConfig = {
|
|
hostName = "lin-va-rke2";
|
|
mainDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBf55aaccc-688cfd0d";
|
|
dataDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBfd391256-6e368424";
|
|
serverAddr = "https://10.0.20.201:9345";
|
|
|
|
networkConfig = {
|
|
interface = "enp0s3";
|
|
address = "10.0.20.202";
|
|
defaultGateway = "10.0.20.254";
|
|
nameservers = [ "10.0.20.254" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
# RKE2 Third Server
|
|
lin-va-rke3 = mkSystem {
|
|
systemConfig = ./hosts/rke2.nix;
|
|
moduleConfig = {
|
|
hostName = "lin-va-rke3";
|
|
mainDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBe9edacd5-ac4ed4fa";
|
|
dataDiskID = "/dev/disk/by-id/ata-VBOX_HARDDISK_VBa1fc46d0-19380495";
|
|
serverAddr = "https://10.0.20.201:9345";
|
|
|
|
networkConfig = {
|
|
interface = "enp0s3";
|
|
address = "10.0.20.203";
|
|
defaultGateway = "10.0.20.254";
|
|
nameservers = [ "10.0.20.254" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
}
|