No description
- Nix 100%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
Validate Nix Flake / validate-nix (push) Successful in 1m1s
|
||
| .forgejo/workflows | ||
| docs | ||
| generators | ||
| modules | ||
| secrets | ||
| .gitignore | ||
| architecture.md | ||
| flake.lock | ||
| flake.nix | ||
| getting-started.md | ||
| hardware-configuration.nix | ||
| LICENSE.md | ||
| README.md | ||
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
flake.nix— The main entry point for the Nix flake.modules/nixos/system.nix— The core NixOS system configuration.
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.