Dotfiles & Friends

Don’t let your tools be tools.

Izaak Schroeder
Bootstart
Published in
4 min readMay 6, 2022

--

iTerm2

Follow standard macOS installation procedure.

Select text settings (⌘+,):

Set your font and other fun things.

Select a color scheme (⌘+,):

Apply colour scheme.

brew

Open Terminal:

IMPORTANT: brew can install itself in different locations depending on what OS or architecture you are using (e.g. M1 Macs use /opt/homebrew whereas Intel Macs use /usr/local). Be sure to use the correct path when running or configuring tools in the following steps. You can find the path to your installation by running:

Fira Code

Install with brew:

⚠️ NOTE: You may need to go back and change the font in iTerm2 now that you have installed the correct font.

Visual Studio Code

Follow standard macOS installation procedure.

Install the following extensions (⌘+⇧+X):

  • esbenp.prettier-vscode
  • arcanis.vscode-zipfs
  • eamodio.gitlens
  • aaron-bond.better-comments

Configure ~/Library/Application Support/Code/User/settings.json:

Open the command palette (⌘+⇧+P) to install command line tools:

Make sure you install the command line tool.

Open the command palette (⌘+⇧+P) to pick a theme:

You can see a variety of themes at: https://www.vscodethemes.com/

fish

Install using brew:

Configure fish by editing ~/.config/fish/config.fish:

Open your terminal. You now have fish.

starship

Install using brew:

Configure starship by editing ~/.config/starship.toml:

Configure fish by adding to your ~/.config/fish/config.fish:

Restart your shell.

asdf

Install using brew:

Configure fish by adding to your ~/.config/fish/config.fish:

IMPORTANT: The above snippet should also be provided after the brew installation succeeds. Be sure to check the output of the command with what you are adding to your fish configuration.

direnv

Install using asdf:

You can now add plugins to asdf based on which languages/tools you use:

And then have them loaded via direnv based on the project you are currently in. The following examples assume you are in a project.

Create a .tool-versions file in your project:

Create a .envrc file in your project:

Make sure the .envrc file is allowed:

The tools you want should be available iff you are in the project directory:

jump

Install using brew:

Configure fish by adding to your ~/.config/fish/config.fish:

You can now immediately go to any of your projects via j:

--

--