Skip to content

webpro/dotfiles

Repository files navigation

.files

These are my dotfiles. Take anything you want, but at your own risk.

It mainly targets macOS systems (should install on e.g. Ubuntu as well for many tools, config and aliases etc).

Highlights

  • Minimal efforts to install everything, using a Makefile
  • Mostly based around Homebrew, Caskroom and Node.js, latest Bash + GNU Utils
  • Great Window management (using Hammerspoon)
  • Fast and colored prompt
  • Updated macOS defaults
  • Well-organized and easy to customize
  • The installation and runcom setup is tested weekly on real Ubuntu and macOS machines (Monterey/12 and Ventura/13) using a GitHub Action
  • Supports both Apple Silicon (M1) and Intel chips

Packages Overview

Installation

On a sparkling fresh installation of macOS:

sudo softwareupdate -i -a
xcode-select --install

The Xcode Command Line Tools includes git and make (not available on stock macOS). Now there are two options:

  1. Install this repo with curl available:
bash -c "`curl -fsSL https://raw.githubusercontent.com/webpro/dotfiles/master/remote-install.sh`"

This will clone or download this repo to ~/.dotfiles (depending on the availability of git, curl or wget).

  1. Alternatively, clone manually into the desired location:
git clone https://github.com/webpro/dotfiles.git ~/.dotfiles
  1. Use the Makefile to install the packages listed above, and symlink runcom and config files (using stow):
cd ~/.dotfiles
make

Running make with the Makefile is idempotent. The installation process in the Makefile is tested on every push and every week in this GitHub Action. Please file an issue in this repo if there are errors.

Post-Installation

  1. Set your Git credentials:
git config --global user.name "your name"
git config --global user.email "[email protected]"
git config --global github.user "your-github-username"
  1. Set macOS Dock items and system defaults:
dot dock
dot macos
  1. Start Hammerspoon once and set "Launch Hammerspoon at login".

  2. Populate this file with tokens (example: export GITHUB_TOKEN=abc):

touch ~/.dotfiles/system/.exports

The dot command

$ dot help
Usage: dot <command>

Commands:
   clean            Clean up caches (brew, cargo, gem, pip)
   dock             Apply macOS Dock settings
   edit             Open dotfiles in IDE ($VISUAL) and Git GUI ($VISUAL_GIT)
   help             This help message
   macos            Apply macOS system defaults
   test             Run tests
   update           Update packages and pkg managers (brew, casks, cargo, pip3, npm, gems, macOS)

Customize

To customize the dotfiles to your likings, fork it and be the king of your castle!

Credits

Many thanks to the dotfiles community.