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.
Well, it doesn’t silently ignore files, it tells you if the work tree is dirty.
Though I’ve tripped over the different behaviors of the repl vs the rest of the tools myself in funny ways
Are you using flakes? I think this is a flakes specific thing.
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.I just think it’s neat.


