83 lines
2.2 KiB
Nix
83 lines
2.2 KiB
Nix
let common =
|
|
{
|
|
boot.loader.grub.devices = [ "/dev/sda" ];
|
|
|
|
i18n = {
|
|
consoleFont = "Lat2-Terminus16";
|
|
consoleKeyMap = "fr-bepo";
|
|
defaultLocale = "en_US.UTF-8";
|
|
};
|
|
|
|
services = {
|
|
openssh = {
|
|
enable = true;
|
|
permitRootLogin = "yes";
|
|
};
|
|
};
|
|
networking.firewall.allowedTCPPorts = [ 22 ];
|
|
|
|
};
|
|
in
|
|
{
|
|
network.description = "DJL machines";
|
|
|
|
# TF2 server
|
|
rogerRabbit = { config, pkgs, lib, ... }:
|
|
lib.recursiveUpdate common {
|
|
imports = [ ./rogerRabbit-hw.nix ];
|
|
|
|
environment.systemPackages = with pkgs; [
|
|
steam-run
|
|
];
|
|
nixpkgs.config.allowUnfree = true;
|
|
};
|
|
|
|
# 0ad server?
|
|
jessicaRabbit = { config, pkgs, lib, ... }:
|
|
lib.recursiveUpdate common {
|
|
imports = [ ./jessicaRabbit-hw.nix ];
|
|
};
|
|
|
|
# DHCP/DNS server
|
|
eddieValiant = { config, pkgs, lib, ... }:
|
|
lib.recursiveUpdate common {
|
|
imports = [ ./eddieValiant-hw.nix ];
|
|
|
|
services = {
|
|
dhcpd4 = {
|
|
enable = true;
|
|
interfaces = [ "enp2s0" ];
|
|
machines = [
|
|
{ ethernetAddress = "28:80:23:00:2f:45";
|
|
hostName = "era";
|
|
ipAddress = "10.42.0.254"; }
|
|
{ ethernetAddress = "00:23:ae:82:82:7a";
|
|
hostName = "rogerRabbit";
|
|
ipAddress = "10.42.0.2"; }
|
|
{ ethernetAddress = "00:23:ae:88:fb:b9";
|
|
hostName = "jessicaRabbit";
|
|
ipAddress = "10.42.0.3"; }
|
|
];
|
|
extraConfig = ''
|
|
subnet 10.42.0.0 netmask 255.255.0.0 {
|
|
authoritative;
|
|
range 10.42.0.50 10.42.0.200;
|
|
default-lease-time 3600;
|
|
max-lease-time 3600;
|
|
option subnet-mask 255.255.0.0;
|
|
option broadcast-address 10.42.255.255;
|
|
option routers 10.42.0.0;
|
|
#option domain-name-servers 10.42.0.1;
|
|
#option domain-name "djl.local";
|
|
}
|
|
'';
|
|
};
|
|
};
|
|
networking = {
|
|
dhcpcd.enable = false;
|
|
interfaces."enp2s0".ipAddress = "10.42.0.1";
|
|
interfaces."enp2s0".prefixLength = 16;
|
|
};
|
|
};
|
|
}
|