⚡️ Personal NixOS configuration repo, powered by flakes. Modular, reproducible, and easy to maintain, I guess xD.
This repository contains my NixOS system configuration, designed for modularity and reproducibility using Nix flakes. All system, host, and app definitions are organized for flexibility and maintainability.
- flake.nix / flake.lock: Flake entry point and lockfile for reproducibility.
- default.nix / imports.nix: Core configuration and module imports.
- nix/apps/: Modules for individual applications and tools.
- nix/hosts/: Host-specific system configurations.
- nix/defaultTags.nix: Default tag definitions for config modularity.
- Nix installed
- Flakes enabled (
nix.conf: experimental-features = nix-command flakes
) - Git
git clone https://github.com/declnix/nix-config.git
cd nix-config
sudo nixos-rebuild switch --flake .#<hostname>
Replace <hostname>
with your target host as defined in nix/hosts/
.
- Rebuild system:
sudo nixos-rebuild switch --flake .#<hostname>
- Test config changes:
sudo nixos-rebuild test --flake .#<hostname>
- Apps/modules:
Find and edit individual app modules innix/apps/
. - Hosts:
Find and edit host-specific configs innix/hosts/
.
Special thanks to @chadac for his work on nix-config-modules, which inspired and informed the structure and modularity of this repository.
PRs and issues are welcome. For major changes, please open an issue first to discuss your ideas.