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

28
modules/desktop/sway.nix Normal file
View file

@ -0,0 +1,28 @@
{ config, pkgs, ... }: {
# Sway Window Manager (Wayland-based i3 replacement)
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
};
# Sway-specific packages
environment.systemPackages = with pkgs; [
# Core Sway tools
swaylock
swayidle
swaybg
# Wayland utilities
waybar # Status bar
fuzzel # Application launcher
gammastep # Blue light filter
mako # Notification daemon
flameshot # Screenshot tool
wl-clipboard # Clipboard utilities
# Additional Wayland tools
grim # Screenshot utility
slurp # Screen area selection
wf-recorder # Screen recorder
];
}