Linux stuff
I maintain a repository of dotfiles here. I have applied it–with reasonable success–to bootstrap multiple personal Linux environments, as well as the macbook I am unfortunately required to use for my day job.
Core setup
- Window manager: Sway (formerly i3)
- Editor: Neovim
- Shell: Zsh
- Terminal emulator: Alacritty
- Status bar: Waybar
Useful tools
- autojump: Jump to recently/frequently used directories based on fuzzy matches
- exa: Drop-in replacement for
ls
written in Rust - feh: Image viewer with a minimalist GUI but
pretty useful features, such as binding shell commands to number keys (e.g.
--action1 "mv -v %F ~/cats" --action2 "mv -v %F ~/dogs"
) - fcitx: Input method framework (I use this for CJK input)
- fzf: Fuzzy search on any text stream; integrates nicely with Vim via fzf.vim
- ncdu: ncurses-based interactive disk usage visualizer
- pass: Simple password manager to store
GPG-encrypted passwords with minimal fuss; single
.password-store
directory to back up or move between machines - ranger: File manager with Vi key bindings
- rsync: A classic and just incredibly useful
- stow: Useful for dotfile management as described here
The file conversion trifecta
- Pandoc for converting between markup formats, including HTML, Markdown, PDF, LaTeX, EPUB, and even Jupyter notebooks
- FFmpeg for encoding and decoding audio and video
- ImageMagick for editing, combining, and converting images
Some larger applications
- Calibre
- Music Player Daemon (with ncmpcpp or Cantata)
- Neuron: Zettelkasten manager (Vim plugin)