sinrohit fc732183b2
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
test nixbot trigger
2026-07-06 00:20:58 +05:30
2026-07-05 13:29:10 +05:30
2026-07-05 13:29:10 +05:30
2026-05-17 18:38:21 +05:30
2026-05-17 18:53:47 +05:30
2026-07-05 13:14:27 +05:30
2026-02-09 23:28:22 +05:30
2026-07-05 13:17:39 +05:30
2026-07-05 13:17:39 +05:30
2025-10-18 23:36:56 +05:30
2025-06-12 23:26:07 +05:30

❄️ 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.

S
Description
Nix Configuration to manage all my systems
Readme 1.1 MiB
Languages
Nix 90.7%
Haskell 6.4%
Shell 2.8%
Just 0.1%