These are tools/configurations I use on either a frequent, or regular
enough basis to warrant including them on new development machines.
Actively maintained
This page is actively maintained. Check in for updates!
Terminal
Here are tools and configurations specific to the terminal.
bash
1
2
3
4
5
6
7
|
# ~/.bashrc
set -o vi # Set interactive shell to Vim mode
if [[ ":$PATH:" != *":$HOME/bin:"* ]]; then # Add `~/bin` to `PATH` if not already there
export PATH="$HOME/bin:$PATH"
fi
|
tmux
Site: Home · tmux/tmux Wiki · GitHub
In the past I used different terminal emulators (e.g. Terminator, kitty) with their own shortcuts, but I’ve circled back to just tmux in whatever emulator is most easily accessible.
1
2
3
4
5
6
7
8
|
set -g default-terminal "tmux-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
# Use vi-style key bindings in copy mode
set-window-option -g mode-keys vi
# Use vi-style key bindings in the status line (command prompt)
set -g status-keys vi
|
Refer to my tmux page for more.
Useful scripts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/usr/bin/env python3
# This script will give you a count breakdown of your PATH paths.
import os
from collections import Counter
path_variable = os.environ.get('PATH')
if path_variable:
paths = path_variable.split(':')
path_counter = Counter(paths)
for path, count in sorted(path_counter.items()):
count = f'~ {count} ~' if count > 1 else str(count)
print(f'{path:50} : {count:^5}')
else:
print('No PATH!')
|
Example Output:
1
2
3
4
5
6
7
8
9
10
|
/bin : 1
/home/user/.local/bin : ~ 2 ~
/home/user/bin : 1
/sbin : 1
/usr/bin : 1
/usr/games : 1
/usr/local/bin : 1
/usr/local/games : 1
/usr/local/sbin : 1
/usr/sbin : 1
|
CLI
git
Site: Git-scm
1
2
3
4
5
6
7
8
|
# ~/.gitconfig
[init]
defaultBranch = main
[alias]
c = commit
f = fetch
s = status -s
|
bat[cat]
Site: GitHub - sharkdp/bat: A cat(1) clone with wings.
1
2
3
4
5
6
|
# ~/.bashrc
export PAGER="batcat" # Set `batcat` as default pager
export MANPAGER="batcat -l man -p" # Set `batcat` as default `man` pager
# ~/.bash_aliases
alias bat="batcat"
|
delta
Site: GitHub - dandavison/delta: A syntax-highlighting pager for git, diff, grep, and blame output
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# ~/.gitconfig
[core]
pager = delta -w $(( "${COLUMNS}" - 2 )) # Fixes width w/ line #'s
[interactive]
diffFilter = delta --color-only # Use `delta` as default pager
# for interactive filters
[delta]
navigate = true # use n and N to move between
# diff sections
dark = true # or light = true, or omit for
# auto-detection
side-by-side = true
line-numbers-left-format = ""
line-numbers-right-format = "│ "
|
vim
Make sure to install version with python3 support if that’s your thing.
1
2
|
# ~/.bashrc
export EDITOR=vim # Set vim as default editor
|
For plugins I use junegunn/vim-plug.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# ~/.vimrc
####################
# Plugins go here!
call plug#begin()
Plug 'tpope/vim-commentary' # Plugin for easy line commenting
Plug 'preservim/nerdtree' # File manager inside Vim
Plug 'dhruvasagar/vim-table-mode' # Handling Markdown tables
Plug 'Yggdroot/indentLine' # Show indent guides for space delimited tabs
call plug#end()
####################
# Configs go here!
syntax on
set termguicolors
colorscheme retrobox
inoremap jk <Esc> # Map <jk> to <ESC>
set number # Show line numbers
set et # Set expanded tabs (with spaces)
set sw=2 # Set shift width = 2
set ts=2 # Set tab stop = 2
set splitbelow # Split towards down by default
set splitright # Split towards right by default
nnoremap <C-n> :NERDTreeToggle<CR> # Map <CTRL-n> to toggle NerdTree pane
nnoremap <Leader>t :terminal<CR> # Map <Leader-t> to opening terminal pane
nnoremap <Leader>q :e #<CR> # Map <Leader-q> to switching to previous buffer
nnoremap <Leader>g :IndentLinesToggle<CR> # Map <Leader-g> to toggle IndentLines guides
" Map Ctrl-(direction) to move to the window in Normal mode
nnoremap <C-j> <C-w>j
nnoremap <C-h> <C-w>h
nnoremap <C-k> <C-w>k
nnoremap <C-l> <C-w>l
|
fzf
Site: GitHub - junegunn/fzf: :cherry_blossom: A command-line fuzzy finder
Configuration and instantiation soon to come….
forgit
Site: GitHub - wfxr/forgit: 💤 A utility tool powered by fzf for using git interactively.
1
2
3
4
5
6
7
8
9
10
|
# ~/.bashrc
export FORGIT_FZF_DEFAULT_OPTS="
--exact
--border
--cycle
--reverse
--height '100%'
--preview-window 'down,80%'
"
|
tldr
Site: tldr pages
Simplified man pages with practical examples.
neofetch / fastfetch
As a command-line system information tool neofetch will always hold a special place, but it is no longer actively maintained.
As an alternative, consider fastfetch.
neofetch site: GitHub - dylanaraps/neofetch: 🖼️ A command-line system information tool written in bash 3.2+
fastfetch site: GitHub - fastfetch-cli/fastfetch: A maintained, feature-rich and performance oriented, neofetch like system information tool.
invoke
Site: Invoke documentation
Pythonic task management & command execution.
TUI
PISpy
Site: GitHub - davep/pispy: A terminal-based tool for looking up stuff in PyPI
Installable as a Python executable package.
Languages
Python
I used to be an avid pyenv, poetry, hatch, and pipx user, but quickly uv, uv tool and uvx have been stealing my heart…
pyenv site: GitHub - pyenv/pyenv: Simple Python version management
poetry site: Poetry - Python dependency management and packaging made easy
hatch site: Hatch - Python project manager
pipx site: GitHub - pypa/pipx: Install and Run Python Applications in Isolated Environments
uv site: GitHub - astral-sh/uv: An extremely fast Python package and project manager, written in Rust.
JVM based
SDKMAN
Site: SDKMAN! the Software Development Kit Manager
Using SDKMAN install various versions of the following:
Javascript / Typescript
nvm
Site: GitHub - nvm-sh/nvm: Node Version Manager
Editors
Obsidian.md
Site: Obsidian
Markdown editor.
VSCode
Site: Visual Studio Code
Code editor.
Containers
Podman
Site: Podman
Docker
Site: Docker
Vimium browser extension
Site: GitHub - philc/vimium: The hacker’s browser.
Vim shortcuts for browsing.
Firefox site: Vimium – Get this Extension for 🦊 Firefox (en-US)
Chrome: Vimium - Chrome Web Store