dotfiles icon indicating copy to clipboard operation
dotfiles copied to clipboard

Bash shell and Vim configuration settings

dotfiles

Terminal Prompt

The ultimate source of truth is this dotfile repo, all other published content is likely stale. This includes...

This blog post which gives a summary of all my favourite developer tools.

This blog post which gives a detailed break down of how to set up a new macOS laptop.

This gist which gives a concise summary of the steps from the blog post.

Terminal

NOTE: Refer to the gist for setup instructions, as most tools below are easily installed using Homebrew.

Developer Mode

To enable developer mode:

spctl developer-mode enable-terminal

Turning this feature on has been shown to improve the speed of certain terminal operations like running Rust compilation.

OS Wake Up

To improve your retina macOS 'wake-up from sleep' performance:

sudo pmset -a standbydelay 7200

The larger the number (time in seconds), the longer it will take macOS to switch into 'standby mode'. This mode takes a while to 'wake up' before you can log back in, and people tend to prefer delaying it for as long as possible (reference).

Tools

There is a Brewfile which can help you install any programs that were installed via Homebrew:

brew bundle dump --force
brew bundle install

In the following list of tools the ❌ indicates what isn't installed via the Brewfile.

  • alacritty: cross-platform, OpenGL terminal emulator written in Rust.
  • asciinema: record your terminal screen.
  • bandwhich: displays network utilization by process, connection and remote IP/hostname.
  • bat: rust replacement for cat.
  • bottom: replaces top and htop (executable is btm so alias top to that).
  • broot: like tree but doesn't scroll endlessly, and has other navigational features.
  • delta: a better diff tool that can be used standalone or configured for use with git.
  • dog: replaces dig with dog.
  • duf: global disk usage overview.
  • dust: replaces du for displaying directory specific disk space usage statistics.
  • exa: rust replacement for ls.
  • fd: find replacement (not quite as powerful, but basically what I typically use find for).
  • fig: shell command completion.
  • fnm: fast Node.js manager.
  • fzf: A command-line fuzzy finder.
  • gping: replaces ping with tui graph version (executable is gping so alias ping to that).
  • grc: generic colouriser for your shell (e.g. alias go='grc /usr/bin/go'), you can brew install grc.
  • hyperfine: benchmark your shell performance (e.g. hyperfine 'bash -l').
  • imgcat: tool for viewing images in your terminal.
  • mdless: tool for viewing Markdown files ❌.
  • panicparse: Parses golang panic stack traces ❌.
  • procs: rust replacement for ps aux.
  • rip: replaces rm and allows restoring deleted files.
  • sad: interactive sed replacement (use <Tab> to select files to apply changes to).
  • sd: sed replacement (not quite as powerful, but basically what I typically use sed for).
  • starship: minimal, blazing-fast, and infinitely customizable prompt for any shell (font settings).
  • t-rec: record your terminal screen (outputs gif and mp4 unlike asciinema).
  • tldr: summarizes useful features of commands.
  • tokei: displays statistics about your code projects.
  • tuifeed: terminal RSS reader.
  • zoxide: directory switcher (zoxide query -ls shows db content).

NOTE: tuifeed config is stored in /Users/integralist/Library/Application Support/tuifeed/config.toml (a copy is in this repo at tuifeed.config.toml).

GUI

Firefox Extensions