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).
- 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/11, Monterey/12) using a GitHub Action (currently on Ventura/13 myself)
- Supports both Apple Silicon (M1) and Intel chips
- Homebrew (packages: Brewfile)
- homebrew-cask (packages: Caskfile)
- Node.js + npm LTS (packages: npmfile)
- Latest Git, Bash, Python, GNU coreutils, curl, Ruby
- Hammerspoon (config: keybindings & window management)
- Mackup (sync application settings)
$EDITOR
is GNU nano ($VISUAL
iscode
and Gitcore.editor
iscode --wait
)
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:
- 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
).
- Alternatively, clone manually into the desired location:
git clone https://github.com/webpro/dotfiles.git ~/.dotfiles
Use the Makefile to install the packages listed above, and symlink runcom and config files (using stow):
cd ~/.dotfiles
make
The installation process in the Makefile is tested on every push and every week in this GitHub Action.
dot dock
(set Dock items)dot macos
(set macOS defaults)- Mackup
- Log in to Dropbox (and wait until synced)
cd && ln -s ~/.config/mackup/.mackup.cfg ~
mackup restore
- Start
Hammerspoon
once and set "Launch Hammerspoon at login" touch ~/.dotfiles/system/.exports
and populate this file with tokens (e.g.export GITHUB_TOKEN=abc
)
$ 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)
To customize the dotfiles to your likings, fork it and make sure to modify the locations above to your fork.
Many thanks to the dotfiles community.