Setup via ansible 🤖 Requires 2.15.5+ and tested on macOS Ventura 13.6
This playbook has known safety issues:
.gitconfigis symlinked — replaces existing git config with no backup on work machines.zshrcis symlinked with no escape hatch — local customisations are awkward.oh-my-zshis symlinked — updates modify the repository, not a local install- No backup of existing dotfiles before overwriting
Status: Refactoring is underway following a TDD strategy. See tests/README.md for the test-driven redesign plan.
For now: Test this carefully in a VM or isolated user account before running on your main machine.
To run the test suite during refactoring:
# Layer 2: Molecule tests (requires Docker)
pip install molecule ansible-core molecule-docker
molecule testFor details, see tests/README.md.
-
Clone this repo and run
make allfrom inside thedotfilesdirectorygit clone git@github.com:ellaqezi/dotfiles.git # remember to set NAME and EMAIL below make -C dotfiles all [NAME=<github-user> EMAIL=<github-email>]The Makefile instructs you on what it requires e.g.
NAME,EMAIL,Password(refers to your SUDO password)
-
Edit the
templates/.gitconfigfile with your ownuser.nameanduser.email, and move it tohome/.gitconfig[user] name = ellaqezi email = ellaqezi@gmail.com -
[OPTIONAL] Install
pip, if not yet installed on the machinesudo easy_install pip -
[OPTIONAL] Install
ansible, if not yet installed on the machinesudo pip install ansible # [Ubuntu] sudo pip install --prefix /usr/local ansible -
Run the playbook to setup dotfiles, provide
becomei.e. SUDO passwordcd ansible/ ansible-playbook setup-dotfiles.yml --ask-become-pass # ... OR when ansible/hosts is not yet symlinked into place ansible-playbook -i hosts setup-dotfiles.yml --ask-become-passNote:
becomei.e. SUDO password is required to ensuredocker-pyis installed
