I try to keep as much of my configuration as possible in this repo. I symlink
my dotfiles
into the appropriate locations. I also use the scripts in the systems
directory to initialize new machines and keep them up to date later. The
top-level configure.sh
script detects the current system and runs the
appropriate script.
The best tip I ever got for switching away from a default setting was to change my caps lock key to function as both escape and control. On every OS, there is a way to make caps lock work as escape when tapped and control when held down. Check out this blog post on how to do it.
- clipboard-cli for a cross-platform way to access the system clipboard
- ctop for monitoring containers
- diff2html-cli for viewing side by side Git diffs
- Docker for development environments
- Containerization means it's much lighter than VM solutions like Vagrant
- Supported by many CI services
- Git for source control
- I tried to do a merge in SVN once. Never again.
- Glances for system monitoring
- Neofetch for system show off screenshots
- opn-cli for opening files using the default program
- tldr for when
man
is overkill - tmux for multiplexing
- Tokei for counting code statistics
- Vim and Visual Studio Code for text editing
- Z shell for the shell
Replacements for Unix commands
- bat for replacing
cat
- exa for replacing
ls
- fd for replacing
find
- fzf for a general purpose fuzzy finder
- Jump to directories (making
cd
somewhat obsolete) with fzf-marks - Open files without navigating to the directory
- Jump to directories (making
- htop for replacing
top
- ripgrep for replacing
grep
- The announcement blog post is a great read
These are the ones I keep installed, but you can reference this list, which is much more comprehensive.
- JavaScript / TypeScript / Node
- I'm excited about WebAssembly though
- Python
- Just plain fun
- Rust
- Need more project ideas
- Go
- On the to learn list, especially ever since I read Rob Pike's Less is exponentially more
- Haskell
- Also on the to learn list
- Firefox Developer Edition
- Google Chrome
- VLC for playing any video that I can throw at it
- Terminator for terminal emulation
- Duet Display to use an iPad as another display
- iTerm2 for terminal emulation
- Rectangle for window management
- Todoist for keeping track of what I need to do