NixOS Configurations Repository ================================ Overview: --------- This repository hosts modular and reproducible NixOS configurations managed via Nix flakes. It is structured to separate concerns across machine-specific setups, common roles, and custom packages. Directory Structure: ---------------------- • packages/ - Custom Nix packages leveraged across various configurations. • roles/ - Role-based configurations (e.g., kodi, bluetooth) each with its own module (default.nix) for inclusion in machine setups. • machines/ - Machine-specific configurations (e.g., nix-book, zix790prors, boxy) including configuration.nix and hardware-configuration.nix tailored for each hardware. • home/ - Home-manager configurations for personal environments and application settings (e.g., home-nix-book.nix, home-z790prors.nix). Design Principles: ------------------ • Modularity: Clear separation between roles, machines, and packages allows for flexible and reusable configurations. • Declarative & Reproducible: Using Nix flakes guarantees a fully declarative setup that can be effortlessly reproduced across systems. • Scalability: The structure is designed to accommodate adding new roles or machines with minimal disruption to existing configurations. This file serves as a concise guide for navigating and understanding the repository from an advanced Nix perspective. Further documentation can be found within the respective directories or individual README files where applicable.