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:
commit
f30013723e
43 changed files with 4220 additions and 0 deletions
54
machines/congenital-optimist/configuration.nix
Normal file
54
machines/congenital-optimist/configuration.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
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
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue