README.org

September 1, 2022 · View on GitHub

#+title: Dotfiles

[[https://builtwithnix.org/badge.svg]]

/Code is like humor. When you have to explain it, it’s bad./ - Cory House

This repository houses the codebase for my dotfiles. Nix all the things!

** Features

  • Nix/NixOS. Keep it declarative and reproducible.
  • Agenix. Keep secrets well-kept.
  • Home-manager. A separate, fully configurable home configuration.
  • Org-babel. Literate configuration for any application, written in Org-mode and exported with Org-babel.
  • Doom Emacs. (To the dark side!)
  • WSL NixOS. For an optimal development environment on Windows.
  • Devshell + Direnv. Automatically enter a fully-fledged, pure development environment.
  • ... and more!

** In detail...

This repository is a huge [[https://github.com/divnix/digga][digga]] flake that provides outputs for all of my hosts, users, etc.

*** Secret management

In order to manage secrets, I use ryantm's [[https://github.com/ryantm/agenix][agenix]]. It conveniently encrypts everything - even in the Nix store - until my user signs in and has been recognized. I have previously used [[https://github.com/AGWA/git-crypt][git-crypt]], but unfortunately, all secrets are decrypted /in the nix store/, which is dangerous - especially when share stores to, say, Cachix. This supported my migration to agenix.

*** Org tangling

Any non-Nix configuration is actually written in Org-mode. This adds the convenience of writing any configuration literately, and being able to export them during compiletime. More can be found on this topic [[file:home/config/default.nix][here]].

** Useful links

*** Nix

*** Emacs

*** Miscellaneous