These are my dotfiles. Take anything you want, but at your own risk.
It mainly targets macOS systems (should install on 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 Zsh + GNU Utils
- Great Window management (using Hammerspoon)
- Fast and coloured prompt
- Updated macOS defaults
- Well-organised and easy to customise
- 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
- Homebrew (packages: Brewfile)
- homebrew-cask (packages: Caskfile)
- Node.js + npm LTS (packages: npmfile)
- VSCode (packages: Codefile)
- Latest Git, Zsh, Python, GNU coreutils, curl, Ruby
- Hammerspoon (config: keybindings & window management)
- Mackup (sync application settings)
$EDITOR
(and Git editor) is Vim
On a sparkling fresh installation of macOS:
sudo softwareupdate -i -a
sudo softwareupdate --install-rosetta --agree-to-license
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/lekic/dotfiles/main/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/lekic/dotfiles.git ~/.dotfiles
- 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.
- Set your Git credentials:
git config --global user.name "your name"
git config --global user.email "your@email.com"
git config --global github.user "your-github-username"
- Set macOS Dock items and system defaults:
dot dock
dot macos
-
Start Hammerspoon once and set "Launch Hammerspoon at login".
-
For Mackup, login to iCloud and wait for it to sync, the run the following.
cd && ln -s ~/.config/mackup/.mackup.cfg ~
mackup restore
- Populate this file with tokens (example:
export GITHUB_TOKEN=abc
):
touch ~/.dotfiles/system/.exports
$ dot help
Usage: dot <command>
Commands:
clean Clean up caches (brew, npm, gem, rvm)
dock Apply macOS Dock settings
edit Open dotfiles in IDE ($VISUAL)
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)
You can put your custom settings, such as Git credentials in the system/.custom
file which will be sourced from
.profile
automatically. This file is in .gitignore
.
Alternatively, you can have an additional, personal dotfiles repo at ~/.extra
. The runcom .profile
sources all
~/.extra/runcom/*.sh
files.
Many thanks to the dotfiles community, in particular webpro's dotfiles, which heavily influenced my own.