
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.
1.5 KiB
1.5 KiB
Network Configuration Modules
This directory contains networking configurations for all machines in the Home Lab.
Structure
-
common.nix
- Shared networking settings used by all machines- nftables firewall enabled
- SSH access with secure defaults
- Tailscale VPN for remote access
- Basic firewall rules (SSH port 22)
-
network-<machine-name>.nix
- Machine-specific networking configurations- Import
common.nix
for shared settings - Override or extend with machine-specific requirements
- Define hostname, hostId, and additional firewall ports
- Import
Current Machines
network-congenital-optimist.nix
- AMD Threadripper workstation
- ZFS hostId configuration (8425e349)
- Ready for additional service ports as needed
network-sleeper-service.nix
- Xeon file server
- Headless server configuration
- Ready for additional file sharing service ports
Usage
Each machine configuration imports its specific network module:
# In machines/<machine-name>/configuration.nix
imports = [
../../modules/network/network-<machine-name>.nix
# ... other imports
];
Adding New Machines
- Create
network-<new-machine>.nix
in this directory - Import
./common.nix
for shared settings - Add machine-specific configuration (hostname, hostId, ports)
- Import the new file in the machine's
configuration.nix
Future Refactoring
The common.nix
file can be extended to include more shared networking patterns as they emerge across machines. Consider moving repeated patterns here to reduce duplication.