feat: Complete sleeper-service systemd-networkd configuration
Some checks are pending
🏠 Home Lab CI/CD Pipeline / 🔍 Validate Configuration (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🔨 Build Configurations (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔒 Security Audit (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📚 Documentation & Modules (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 🔄 Update Dependencies (push) Waiting to run
🏠 Home Lab CI/CD Pipeline / 🚀 Deploy Configuration (push) Blocked by required conditions
🏠 Home Lab CI/CD Pipeline / 📢 Notify Results (push) Blocked by required conditions

- Update sleeper-service to use systemd-networkd with static IP (10.0.0.8/24)
- Configure proper gateway (10.0.0.138) and DNS (Pi-hole, router, Google)
- Add NFS and SMB firewall ports for file server services
- Document network topology discovery results in plan.md
- Update network module README with current configuration status

Based on nmap network discovery and Context7 NixOS systemd-networkd documentation.
Configuration ready for deployment to existing files.home machine.
This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-05 15:44:07 +02:00
parent 05b81f93b7
commit 6a3a3abc48
3 changed files with 80 additions and 8 deletions

View file

@ -1,5 +1,5 @@
# Networking Configuration - sleeper-service
# Xeon file server network setup
# Xeon file server network setup with systemd-networkd and static IPs
{ config, pkgs, ... }:
{
@ -10,12 +10,43 @@
# Machine-specific network configuration
networking = {
hostName = "sleeper-service";
networkmanager.enable = true;
# Enable systemd-networkd for static networking
useNetworkd = true;
useDHCP = false; # Required when using systemd-networkd
# Disable NetworkManager in favor of systemd-networkd
networkmanager.enable = false;
# Configure static IP for the main ethernet interface
interfaces.enp0s25 = {
useDHCP = false;
ipv4.addresses = [
{
address = "10.0.0.8"; # Static IP for sleeper-service (existing files.home machine)
prefixLength = 24;
}
];
};
# Network gateway and DNS (based on nmap discovery)
defaultGateway = "10.0.0.138"; # Discovered router at lan.home
nameservers = [ "10.0.0.14" "10.0.0.138" "8.8.8.8" ]; # Pi-hole, router, Google DNS fallback
# Additional firewall ports for file server services
# (Add specific ports as needed for file sharing services)
firewall.allowedTCPPorts = [
111 # NFS portmapper
2049 # NFS
445 # SMB/CIFS
139 # NetBIOS Session Service
# Add additional ports here as needed
];
firewall.allowedUDPPorts = [
111 # NFS portmapper
2049 # NFS
137 # NetBIOS Name Service
138 # NetBIOS Datagram Service
];
};
}