
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.
51 lines
1.5 KiB
Markdown
51 lines
1.5 KiB
Markdown
# 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 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:
|
|
|
|
```nix
|
|
# 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.
|