home-lab/machines/congenital-optimist/configuration.nix
Geir Okkenhaug Jerstad f30013723e 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.
2025-06-04 16:10:13 +02:00

54 lines
1.2 KiB
Nix

{
config,
pkgs,
inputs,
unstable,
...
}: {
imports = [
./hardware-configuration.nix
# System modules
../../modules/system/fonts.nix
../../modules/system/network.nix
../../modules/system/applications.nix
# Hardware modules
../../modules/hardware/amd-workstation.nix
# Desktop environments
../../modules/desktop/common.nix
../../modules/desktop/gnome.nix
../../modules/desktop/cosmic.nix
../../modules/desktop/sway.nix
# Development tools
../../modules/development/tools.nix
# User configuration
../../modules/users/geir.nix
# Virtualization configuration
../../modules/virtualization/incus.nix
../../modules/virtualization/libvirt.nix
../../modules/virtualization/podman.nix
];
# Boot configuration
boot.loader.grub = {
enable = true;
zfsSupport = true;
efiSupport = true;
efiInstallAsRemovable = true;
mirroredBoots = [
{
devices = ["nodev"];
path = "/boot";
}
];
};
# Basic system configuration
nixpkgs.config.allowUnfree = true;
system.stateVersion = "23.11"; # DO NOT CHANGE - maintains data compatibility
}