My dotfiles
My personal machine configuration, powered by the dotfilespro.roles Ansible collection. The installer bootstraps a fresh machine and dotpro apply provisions it — the same command on the first run and every one after. The collection ships the roles (git, docker, kubernetes, starship, and more); this repo holds my identity, the repositories to clone, and which roles run.
First machine
Bootstrap with the installer. It provisions Ansible, clones this repo, and installs the collection. On a fresh keyless machine it also handles the SSH key (HTTPS fallback, or it generates a key and pauses for you to register it):
curl -LsSf https://dotfiles.pro/install.sh | sh -s -- <this-repo-url>Already have the repo? Run the vendored installer from inside the clone:
git clone <this-repo-url> ~/.dotfiles && cd ~/.dotfiles && ./installThen review and apply the host:
dotpro apply # or add DOTPRO_APPLY=1 to the installer to apply during bootstrapMake it yours
Edit playbook.yaml: set your git identity, the repositories to clone, and the roles to run. The configuration guide covers vars, per-machine overrides, and running different roles per machine.
Day-2 updates
dotpro apply is idempotent, so re-running only touches what drifted:
dotpro applyKeep it applied automatically (optional)
Enable the bundled user timer to apply on a schedule (daily, with catch-up after downtime):
mkdir -p ~/.config/systemd/user
cp systemd/dotfilespro-updater.* ~/.config/systemd/user/
systemctl --user enable --now dotfilespro-updater.timerThe timer runs with no password prompt, so privileged tasks need passwordless sudo. Grant it (scope it down as you prefer):
echo "$USER ALL=(ALL) NOPASSWD: ALL" | sudo tee /etc/sudoers.d/dotfiles-proIf this repo does not live at ~/.dotfiles, update WorkingDirectory in systemd/dotfilespro-updater.service. Check on it with systemctl --user list-timers and journalctl --user -u dotfilespro-updater.
Powered by Dotfiles Pro
- dotfiles.pro the docs, guides, and role reference
- Ansible Galaxy the published collection