Skip to content
 
 

Latest commit

 

History

1,156 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dotfiles

Note

I'm currently migrating this repository from Chezmoi-based to GNU Stow. The instructions below may be temporarily inconsistent with the new setup.

I've used Chezmoi for this repo for three years, which has been a sufficient trial. It's a powerful tool but I found myself learning and/or fighting with its patterns no less than I had with Bash and Make before switching.

Its run_onchange_* and related scripts encouraged me to make the whole repo a one-button machine setup/upgrade, but I haven't been setting up machines frequently enough to get any pay off. And when I do set up machines it's usually an ephemeral remote devbox, meaning I don't need 90% of my dotfiles and setup scripts (e.g. App Store, casks, rbenv, etc.).

This has made Stow, which is simpler and focused on piecemeal installation, feel like a better fit.

This repository holds my configuration files for macOS and Linux. bootstraps a new machine to be configured how I like it. It sets up dotfiles, installs programs and development tools I use, and does several miscellaneous things I've automated out of my new machine setup process.

It will work for anyone, but it is very opinionated and custom built for my own needs.

Installation

Prerequisites

If coming from a new machine, you only need:

Copy-paste Install Of Prerequisites

This will install Homebrew and GNU Stow:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
/opt/homebrew/bin/brew install stow

This will generate an SSH key and add it to your GitHub account:

ssh-keygen -N ""
gh auth login --git-protocol ssh --hostname github.com --web

Clone & Stow

mkdir -p ~/pj
git clone git@github.com:glacials/dotfiles ~/pj/dotfiles
stow --dotfiles --dir ~/pj/dotfiles --target ~

Start a new shell. After this step, future invocations of stow do not need the --dir and --target options.

Troubleshooting

If the first run fails for some reason and later runs refuse to clone, try rm ~/.gitconfig, as it forces git@github.com over https://github.com, which will fail if the installation didn't yet set up SSH keys for you.

Updates

To make updates to dotfiles, use chezmoi edit --apply $FILE. Updates will be automatically committed and pushed.

Caveats

This project aims to be compatible with macOS and Linux; however it gets far more real-world testing on macOS, so Linux support may trip over a thing or two.

History

This started as a series of dotfiles, then a Makefile to link them, then an install script to manage installation of common tools and differences between operating systems. Today, dotfile management is outsourced to chezmoi.

About

my dotfiles (.vimrc, .bashrc, etc.)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages