home-lab/modules/common/nix.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

36 lines
No EOL
874 B
Nix

{ config, lib, pkgs, ... }:
{
# Enable flakes and other experimental features
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
auto-optimise-store = true;
trusted-users = [ "root" "@wheel" ];
substituters = [
"https://cache.nixos.org/"
"https://nix-community.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
];
};
# Enable garbage collection
gc = {
automatic = true;
dates = "weekly";
options = "--delete-older-than 30d";
};
# Optimize store weekly
optimise = {
automatic = true;
dates = [ "03:45" ];
};
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
}