mirror of
https://github.com/sinrohit/nixos-config.git
synced 2026-07-16 14:24:00 +00:00
main
buildbot/nix-eval Build done. (9 warnings)
buildbot/nix-build gitea:sinrohit/nixos-config#checks.aarch64-linux.ema Build done.
buildbot/nix-build gitea:sinrohit/nixos-config#checks.aarch64-linux.enigma Build done.
buildbot/nix-build gitea:sinrohit/nixos-config#checks.aarch64-darwin.zion Build done.
buildbot/nix-build Build done.
ci / zion (aarch64-darwin) (push) Has been cancelled
ci / clark (x86_64-linux) (push) Has been cancelled
ci / comet (x86_64-linux) (push) Has been cancelled
ci / firefly (x86_64-linux) (push) Has been cancelled
ci / pi (aarch64-linux) (push) Has been cancelled
ci / yuta (x86_64-linux) (push) Has been cancelled
❄️ nixos-config ❄️
This repository contains the Nix / NixOS configuration for all of my systems using flake-parts.
See an overview of the flake outputs by running below command
nix flake show github:sinrohit/nixos-config
Structure
| 📂 Directory | 📝 Description |
|---|---|
| 🏠 home | Home Manager Configuration for user specific settings and packages. |
| 🔧 lib | Helper functions to create NixOS/Darwin system configurations with common settings |
| 💻 machines | Host-specific configurations for different systems |
| 📂 modules | Custom NixOS modules including flakes integration, xmonad configuration, etc. |
| 📦 overlays | Package overlays to extend or upgrade packages |
| 🎁 pkgs | Custom package definitions |
| 🔐 secrets | Age-encrypted secrets management |
Managing Secrets 🔐
This configuration uses ragenix for secret management. Secrets are stored in secrets directory.
Storage & Access
Secrets are stored in the Git repo as age-encrypted files. Access roles for each secret is defined in Nix, in the ./secrets/secrets.nix file.
Read the agenix tutorial for details.
Editing Secrets
In the nix develop shell,
agenix -e ./<secret-file>.age
Authorizing new hosts or users
Add the new host to the systems list of ./secrets/secrets.nix , and the new user to the users list of the same file, followed by running:
cd ./secrets/
agenix -r
The above will re-encrypt the secrets authorizing the new set of hosts and users to decrypt them.
Description
Languages
Nix
90.7%
Haskell
6.4%
Shell
2.8%
Just
0.1%