Skip to content

sinrohit/nixos-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

Nix Configuration to manage all my systems

Resources

Stars

Watchers

Forks