stop reinstalling tools. one command, every language, every machine.
nix developFirst run pulls packages from cache. Every run after is instant. No containers, no version managers, no sudo.
four toolchains
| tools | |
|---|---|
| rust | rustc cargo rust-analyzer clippy rustfmt |
| go | go gopls |
| python | python3 |
| haskell | ghc cabal haskell-language-server |
and the cli tools you should have switched to already
| replaces | |
|---|---|
bat |
cat — but with syntax highlighting |
eza |
ls — but with color and git status |
ripgrep |
grep — but fast and .gitignore-aware |
fd |
find — but with a human-readable syntax |
delta |
the default git diff pager |
jq |
JSON wrangling from the command line |
flake.nix declares the entire environment. flake.lock pins every dependency to an exact commit — so anyone who clones this repo gets byte-for-byte the same tools, on any machine, six months from now.
No global installs. No PATH pollution. Exit the shell and everything disappears.
Nix with flakes enabled. Add to ~/.config/nix/nix.conf:
experimental-features = nix-command flakes
