This is my personal dotfiles repo. Feel free to explore it, copy bits and pieces for your own dotfiles, or fork the whole repo and use them.
! NOTE
It only targets macOS systems for now.
⚠ WARNING
These dotfiles are tailored to my liking to help me manage my macos laptops. If you want to use them, fork the repo, review the code, remove anything you don't want or need, and enjoy.
The installation process is idempotent, which means that running it once or multiple times produce the same end result.
To automatically install these dotfiles on a brand new system, simply run the following shell commands:
# install the command line dev tools
xcode-select --install
# clone this dotfile repository
git clone https://github.com/Amheklerior/dotfiles $HOME/.dotfiles
# move into the .dotfiles directory
cd $HOME/.dotfiles
# run the install script and follow the instructions...
./bootstrap.sh
If you're interested in what the last two commands do, have a look at the makefile
.
After that, you are all set. You might now import system and app related preferences
The pillars are Homebrew
, Ansible
, GNU Stow
, and GNU Make
.
Homebrew is at the core of how I manage all the packages, apps, and vscode extensions. They are all listed in the Brewfile, and installed in bulk during the first steps of the installation process.
GNU Stow is used to to symlink all of my dotfiles from the /system
dir into the $home
dir.
Ansible Vault is used to protect sensitive information contained in this repo, such as apps and services recovery codes and ssh keys.
GNU Make is what I've used to define (1) the automated installation process and (2) the development utilities for managing the dotfiles repo. In the future, I might use Ansible Playbooks as an alternative to the makefile for automating the installation process, and a simple cli for managing the repo.
System and app related preferences are stored in the /prefs
directory.
If you have any suggestion/improvement be my guest!
Special thanks to:
- the github's dotfiles community which has been a great source of ideas and inspiration,
- Michael Paulson (aka The Primeagen) for his developer productivity course,
- Patrick Mcdonald for his dotfiles from start to finish-ish course,
- Mathia's macos sensible default settings, macos-defaults.com, defaults-write.com, and SS64-s macOS defaults, used as reference for automating macos system and apps settings.