Tools
Finally, the good stuff.
Terminal
Section titled “Terminal”The components that make up my terminal-based working environment.
Ghostty
Section titled “Ghostty”Ghostty is my preferred terminal emulator.
I use Zsh as my shell.
Tmux is a terminal multiplexer that does persistent sessions, windows and “tabs” (panes).
Starship
Section titled “Starship”Starship provides my shell prompt.
Right now it looks like this:
dev on feat/astro [$✘!?] is 📦 v1.0.0 via ⬢ v22.16.0which shows me
devis the directory I’m infeat/astrois the git branch I’m on[$x!?]means that there are new files and changes to old onesis v1.0.0shows my current version of this projectvia (node) v22.16.0tells me I’m using Node.js version 22.16.0
Nerd Fonts
Section titled “Nerd Fonts”Nerd Fonts are patched monospace fonts with extra glyphs and icons.
They’re used by shell prompts, TUIs and terminal-based editors for things like git status and icons for programming languages.
Editor
Section titled “Editor”Speaking of terminal-based editors…
Neovim
Section titled “Neovim”I use Neovim as my editor.
My config is here. It started off as kickstart-modular.nvim and now it has some extras in it.
I spend most of my time on the command line using these:
records the commands I run so I can search through my history to find out what I did.
“cat with wings”.
bottom
Section titled “bottom”a better top.
a better ls.
a better find.
a fuzzy finder that also gets used in Neovim.
a “more correct” jq.
ripgrep
Section titled “ripgrep”a fast text search tool, good with large codebases and used by my editor.
a better sed.
tealdeer
Section titled “tealdeer”is a TLDR tool that’s been written in Rust.
It’s like man but shortened to results you’ll actually use.
Version Control
Section titled “Version Control”I use Git for version control.
syntax highlighting for use with git diff and git blame.
lazygit
Section titled “lazygit”is a TUI for interacting with git.
is the GitHub CLI so I can interact with pull requests on GitHub through my terminal.
is the Gitea CLI to interact with PRs on Gitea, which I self-host in my homelab.
Platform Engineering
Section titled “Platform Engineering”Tools I use to provision, deploy and operate apps and infrastructure.
ansible
Section titled “ansible”for running Ansible, which I use for configuring servers.
argocd
Section titled “argocd”for interacting with ArgoCD, which handles continuous deployment on Kubernetes clusters.
colima
Section titled “colima”is “Containers On Linux MAchines”, which provides an easy way to install a Linux virtual machine and use it to run containers on macOS.
docker
Section titled “docker”is the CLI for interacting with Docker containers.
nerdctl
Section titled “nerdctl”is how you interact with containers managed by containerd.
It’s installed with colima and is available by running colima nerdctl.
is the package manager for Kubernetes.
kanidm
Section titled “kanidm”is the only way to interact with Kanidm as an admin.
I use Kanidm in my homelab for identity management.
kubectl
Section titled “kubectl”is the CLI for interacting with Kubernetes.
terraform
Section titled “terraform”is how I write Infrastructure as Code and manage servers from cloud providers and in my homelab.
Publishing
Section titled “Publishing”Tools I use to build and publish sites, blogs, and documentation.
Most of these (including Astro, which powers this site), are installed by the language runtime they depend on, rather than as standalone tools, which is why this list is small.
is the static site generator that powers my blog.