/dotfiles

Dotfiles for macOS

Primary LanguageShell

.files

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

It mainly targets macOS systems, but it works on at least Ubuntu as well.

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 (Big Sur and Monterey; Catalina should still be fine too) using a GitHub Action
  • Supports both Apple Silicon (M1) and Intel chips

Package Overview

Installation

On a sparkling fresh installation of macOS:

sudo softwareupdate -i -a --install-rosetta
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/martin-christensen/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 git@github.com:martin-christensen/dotfiles.git ~/.dotfiles

Use the Makefile to install everything listed above, and symlink runcom and config (using stow):

cd ~/.dotfiles
make

The installation process in the Makefile is tested on every push and every week in this GitHub Action.

Post-Installation

  • dot dock (set Dock items)
  • dot macos (set macOS defaults)
  • Dory
    • ln -s ~/.dotfiles/config/dory/.dory.yml ~
    • ln -s ~/.dotfiles/config/dory/cert ~/.dory_cert
    • dory up
    • docker update --restart=always $CONTAINER_IDS for the dory containers, so its ensured that they will start up on a machine restart
  • Mackup
    • Log in to Dropbox (and wait until synced)
    • ln -s ~/.config/mackup/.mackup.cfg ~ (until #632 is fixed)
    • mackup restore
  • Want to custimize the vscode terminal theme? Checkout Base16 Terminal Colors Generator

The dotfiles command

$ dot help
Usage: dot <command>

Commands:
    clean            Clean up caches (brew, npm, gem, rvm)
    dock             Apply macOS Dock settings
    edit             Open dotfiles in IDE (codium) and Git GUI (stree)
    help             This help message
    macos            Apply macOS system defaults
    test             Run tests
    update           Alias for topgrade

Customize

To customize the dotfiles to your likings, fork it and make sure to modify the locations above to your fork.

Credits

Many thanks to the dotfiles community.