home-lab/modules/network/README.md
Geir Okkenhaug Jerstad 7224ea4bd4
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
updated readme
2025-06-05 14:59:45 +02:00

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

Current Machines

network-congenital-optimist.nix

  • AMD Threadripper workstation
  • ZFS configuration (hostId: 8425e349)
  • Additional ports: 9091 (Transmission RPC)

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

  1. Create network-<new-machine>.nix in this directory
  2. Import ./common.nix for shared settings
  3. Add machine-specific configuration (hostname, hostId, ports)
  4. 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.