Refactor: Simplify module structure and reorganize services

- Removed system/ directory, merged applications into users/geir.nix
- Simplified fonts.nix to bare minimum (users can add more)
- Moved transmission.nix to sleeper-service/services/ (machine-specific)
- Organized grey-area services into services/ directory
- Updated import paths and tested all configurations
- Added research documentation for deploy-rs and GNU Stow
This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-07 12:11:20 +02:00
parent e976b14d19
commit 9837d82199
24 changed files with 832 additions and 959 deletions

View file

@ -1,51 +0,0 @@
# 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.