No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rutger Putter 6df0a2e5c3
All checks were successful
Validate Nix Flake / validate-nix (push) Successful in 1m1s
feat: update legion with GNOME desktop
2026-10-15 20:41:23 +02:00
.forgejo/workflows chore(ci): temp disable deploy step 2026-02-26 08:58:30 +01:00
docs Add architecture documentation and update server configurations 2026-06-05 14:36:04 +02:00
generators refactor(everything): everything is a flake now 2026-01-07 11:52:45 +01:00
modules feat: update legion with GNOME desktop 2026-10-15 20:41:23 +02:00
secrets feat: add crowdsec api container 2026-09-02 13:13:24 +02:00
.gitignore feat(flake): add flake.lock to repo 2026-02-26 13:46:03 +01:00
architecture.md Add architecture documentation and update server configurations 2026-06-05 14:36:04 +02:00
flake.lock chore: flake update 2026-10-03 21:07:47 +02:00
flake.nix feat: add hermes 2026-09-15 13:58:00 +02:00
getting-started.md Add architecture documentation and update server configurations 2026-06-05 14:36:04 +02:00
hardware-configuration.nix feat(pc-rputter): update hardware and system configuration 2026-06-16 12:54:57 +02:00
LICENSE.md chore: add GPL 3 license 2025-06-27 10:10:23 +02:00
README.md Add architecture documentation and update server configurations 2026-06-05 14:36:04 +02:00

nixos-repo

A highly modular NixOS flake-based configuration repository for managing personal hardware, home servers, and infrastructure. It provides a structured way to define and deploy configurations across various machines and services while maintaining high reproducibility.

Key Concepts

  • Flakes — Uses Nix Flakes for modern, reproducible configuration management and dependency tracking.
  • Modular Design — Every configuration element is separated into a module, allowing for easy reuse and composition.
  • Disko — Leverages Disko for declarative and manageable disk/partition management.

Entry Points

High-Level Architecture

The repository is organized into a hierarchical structure of modules. Core system settings are defined in modules/nixos, while specific hardware profiles are in modules/hardware and host-specific instances are in modules/hosts. Services are grouped in modules/servers, and common components like networking, mountpoints, and programs are provided as standalone modules.

See architecture.md for the full picture.

Module Map

Module Purpose
boot Bootloader and initial system parameters.
desktops Desktop environment and login manager configurations.
environment Package lists and environment variables.
hardware Hardware-specific configurations for different devices.
hosts Machine-specific profiles and host definitions.
mountpoints Persistent storage and filesystem mount definitions.
networking Networking, VPNs, and container networking.
nixos Base NixOS settings and core system modules.
programs Configuration for specific applications like browsers, git, and zsh.
servers Configurations for self-hosted services like Nextcloud, Jellyfin, and Forgejo.

Getting Started

See getting-started.md.