I’ve always hated the fact that Nix silently ignores any file that’s not tracked by Git. Partly because I always forget this and have to re-build every time that I add a new file. But also the fact that Nix is coupled to VCS.
jj is a new VCS that wraps git. jj has a slightly different (improved) workflow, and doesn’t have a staging area. What this means for Nix is that whenever I create a new file I have to run jj status (the equivalent to git status) before I can build with Nix, which feels incredibly silly to me.
Thanks for coming to my Ted talk.


I use a
Justfile, so I can make a file containing local shortcuts via thejustbinary.I have created this so I can run
just switch [wodan]([]implies optionality):default_host := "wodan" set shell := ["bash", "-euo", "pipefail", "-c"] # Apply a host configuration immediately and persist across reboots. switch host: sudo nixos-rebuild switch --flake .#"{{host}}"By doing this, I could prepend
git add .orjj status, while sticking tojust switchfor myself and not having to think about any pre-steps.https://github.com/casey/just
I just think it’s neat.