My Dev Tool List 2025
2025-12-02
TL;DR
On Mac:
brew install --cask nikitabobko/tap/aerospace brew install atuin chezmoi gh fzf eza bat ripgrep starship git-delta fd tmux stern mise jj hl
On Linux with apt:
sudo apt install -y \ fzf \ fd-find \ ripgrep \ bat \ tmux # eza (modern ls) sudo apt install -y gpg sudo mkdir -p /etc/apt/keyrings wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list sudo apt update && sudo apt install -y eza # delta (git pager) DELTA_VERSION="0.18.2" wget https://github.com/dandavison/delta/releases/download/${DELTA_VERSION}/git-delta_${DELTA_VERSION}_amd64.deb sudo dpkg -i git-delta_${DELTA_VERSION}_amd64.deb rm git-delta_${DELTA_VERSION}_amd64.deb # mise (version manager) curl https://mise.run | sh # jj (Jujutsu) curl -LsSf https://github.com/jj-vcs/jj/releases/latest/download/jj-x86_64-unknown-linux-musl.tar.gz | tar xzf - -C ~/.local/bin jj # gh (GitHub CLI) curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list sudo apt update && sudo apt install -y gh # Setup chezmoi and pull your dotfiles sh -c "$(curl -fsLS get.chezmoi.io)" -- init --apply YOUR_GITHUB_USERNAME
AeroSpace window manager for macOS
It angers me how much time I wasted dragging things around the screen before. If you use a mac, give it a try.
brew install --cask nikitabobko/tap/aerospace
Atuin modern shell history
Sync your shell history across devices. Only useful if you're working on multiple machines, which I do and this is extremely useful.
brew install atuin echo 'eval "$(atuin init zsh)"' >> ~/.zshrc
Atuin also comes with a pretty cool desktop app which I love the idea of but have yet to do anything useful with.
Chezmoi dotfile and config sync
I regularly work on at least 3 different machines. This makes everything way easier to keep in sync and is a lot better than the custom git setup I made a few times.
brew install chezmoi chezmoi init chezmoi add ~/.bashrc # or .zshrc or whatever
GitHub CLI
Obviously, if you use GitHub. Makes everything way easier.
brew install gh
Example, creating a new repo:
gh repo create cool-repo --public --source=. --remote=origin
fzf fuzzy finder cli
When you've got bad memory and can't type, like me, this is a very useful tool.
brew install fzf
Then you can use Ctrl-R to search.
eza modern ls replacement
A common theme is I like colours and icons, particularly in the terminal. eza is a modern replacement for ls with all that built in.
brew install eza
bat a cat clone with syntax highlighting and git integration
Cat a file and see colours. Also shows git changes inline.
brew install bat
I alias cat to bat. You can do this with atuin's dotfile sync if you're using that:
atuin dotfiles alias add cat bat
ripgrep fast grep replacement
Something so impressively fast you can't help but use it.
brew install ripgrep
starship cross-shell prompt
I just like the colours and things. Spent too much time configuring it maybe but I like it.
brew install starship
git-delta git pager with syntax highlighting and side-by-side diffs
If you use git diff a lot, this will save your eyes.
brew install git-delta
Update your ~/.gitconfig:
[core] pager = delta [interactive] diffFilter = delta --color-only [delta] navigate = true # use n and N to move between diff sections # delta detects terminal colors automatically; set one of these to disable auto-detection # dark = true # light = true [merge] conflictStyle = zdiff3
fd find replacement
I have never remembered the correct arguments for find. This is a modern replacement that I like.
brew install fd
e.g. from the docs:
> cd /etc > fd '^x.*rc$' X11/xinit/xinitrc X11/xinit/xserverrc
tmux terminal multiplexer
It took me way too long to get on the tmux train. What was I even doing before?
brew install tmux
# Start a session in a directory tmux new-session -d -s my-session -c ~/some-dir # Attach to session tmux attach -t my-session
Leave ssh sessions, or anything really, running in the background and come back to them later.
stern multi-pod log tailing for Kubernetes
The amount of times I've opened a bunch of terminal windows trying to tail logs in a multi instance setup. This is much easier than any of the hacky solutions I came up with before.
brew install stern
mise version manager for CLI tools
I was a chef briefly in a past life so the name speaks to me. This is a tool like nvm, pyenv etc. but supports a collection of CLI tools.
brew install mise
Example installing python 3.14 globally:
mise use --global python@3.14
jj a version control system that works with git
This is the most recent addition for me. I don't know why I like it yet. I just know I do.
brew install jj
Setting it up in an existing git repo:
jj git init --colocate
hl high-performance log viewer
No more getting wrekt by huge log files.
brew install hl
hl /path/to/huge/logfile.log # or many log files hl /path/to/logs/*.log
lazyvim Neovim config
I'm forever trying to use vim and then giving up, falling back to VSCode. I think this one is starting to stick.
Coding Agents
Of course. Wrote a detailed post about how I'm using those: https://ruarfff.com/posts/a-gaggle-of-agents