feat: initial NixOS home lab infrastructure setup

- Add modular flake-based NixOS configuration
- Implement GitOps foundation with CI/CD pipeline
- Create comprehensive documentation and branching strategy
- Add modular desktop environments (GNOME, Cosmic, Sway)
- Configure virtualization stack (Incus, Libvirt, Podman)
- Set up development tools and hardware-specific modules
- Establish user configuration with literate programming support

This commit represents the completion of Phase 1: Flakes Migration
with modular configuration, virtualization, and GitOps foundation.
This commit is contained in:
Geir Okkenhaug Jerstad 2025-06-04 16:10:13 +02:00
commit f30013723e
43 changed files with 4220 additions and 0 deletions

View file

@ -0,0 +1,38 @@
{ lib, stdenv, writeShellScriptBin, ... }:
writeShellScriptBin "home-lab-tools" ''
#!/usr/bin/env bash
# Home-lab administration tools
# Placeholder for custom utilities and scripts
case "$1" in
"status")
echo "Home-lab infrastructure status:"
echo " congenital-optimist: $(systemctl is-active tailscale || echo 'unknown')"
echo " sleeper-service: Checking connectivity..."
;;
"backup")
echo "Initiating backup procedures..."
echo "This would trigger backup scripts across the infrastructure"
;;
"monitor")
echo "System monitoring overview:"
echo "Use this space for custom monitoring commands"
;;
"deploy")
echo "Deploying configurations..."
echo "This would handle nixos-rebuild across machines"
;;
*)
echo "Home-lab Tools"
echo "Usage: $0 {status|backup|monitor|deploy}"
echo ""
echo "Available commands:"
echo " status - Check infrastructure status"
echo " backup - Run backup procedures"
echo " monitor - Show monitoring overview"
echo " deploy - Deploy configurations"
;;
esac
''