Skip to content

jsatk/dotfiles

Repository files navigation

dotfiles

Table of Contents

Overview

This is how I do computers. If you want to do computers like me this is the repository for you. It assumes an macOS environment. If you run Linux or Windows then this repo may not be for you.

There's two main branches: main and work. work is for my work computer. If you're not me I'd recommend using main.

There's a Makefile that sets everything up. Run make help to see available commands. Running make with no arguments kicks off the default target. It should just work ✨. The biggest manual step is installing Homebrew first. You'll need to do that before you run this.

It's important to note that I use Fish Shell. If this scares you that's okay. But you shouldn't be scared. Fish Shell is amazing.

I use Stow to manage my dotfiles.

I use mise to manage language versions (node, python, ruby, rust). It replaces rbenv, nvm, asdf, and similar tools with a single unified version manager.

Questions? Comments? Open an issue.

Installation

In theory you should only need to run this once on a fresh macOS install. It is possible I may have missed an exact step here, but if so you should get a sensible error message telling you want you need to install or fix. In a perfect world you would be able to copy & paste the following commands into a terminal on a fresh macOS install and be done in a short while.

# Install Homebrew
/bin/bash -c "$(curl -fsSL https://github.com/Homebrew/install/HEAD/install.sh)"

# Clone this repo
git clone git@github.com:jsatk/dotfiles.git ~/.dotfiles

# Install all the things
cd ~/.dotfiles
make

Running make will set up all your dotfiles and install a ton of useful stuff like...

  • Installs all the formulas, casks, and apps (from the macOS App Store) I want.
    • To see what's installed via homebrew view homebrew/.Brewfile.
  • Installs some global npm packages.
    • To see what npm packages are installed checkout the Makefile.
  • Installs some global gems.
    • To see what gems are installed checkout the Makefile.
  • Creates symlinks for all the dotfiles via stow.
  • Updates everything! This was designed so that it can be run repeatedly and be non-harmful. It only installs stuff as needed.

If you plan on using this yourself you'll need to make sure to change all the stuff that's specific to me (like my email address & name) in the dotfiles. Search for "Jesse" or "jsatk" and replace any mention of that with your own name, etc.

Manual setup steps

A few things make doesn't handle yet. One-time per machine.

Compile the tmux-256color-undercurl terminfo entry

tic -x ~/.dotfiles/tmux/tmux-256color-undercurl.terminfo

macOS's ncurses ships tmux-256color (and xterm-256color) without the Smulx (extended underline styles) and Setulc (colored underlines) extended capabilities. Without them, Neovim running inside tmux never emits the undercurl escape sequence at all — so SpellBad squiggles and LSP diagnostic underlines render as nothing. The tic -x command compiles a small derived terminfo entry into ~/.terminfo/ (no sudo needed). tmux/.tmux.conf then points default-terminal at it, and terminal-features ',xterm*:RGB:usstyle' tells tmux to forward the undercurl escapes out to the outer terminal.

References

Here's a list of links to instructions I often find myself needing to reference whenever I set up a new computer.

Attribution

Big thanks to these people for publishing their own dotfiles and allowing me to steal from them.

About

These dotfiles could be your life.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors