Since I re-image my Linux desktop so often, I have given a great deal of thought to preserving and re-creating my configurations.
So I wrote a single bash file to rule them all, sort of.
My script, dot, creates a tiny CLI Ansible installation, and interactively helps write a short Ansible playbook that defines symlinks, install scripts and Python environments.
I download the script and run ./dot --help to get started. Use dot check to review selections, and dot apply to ensure localhost is configured with them.
Because it uses Ansible under the hood, it doesn't do unecessary work, it provides detailed output, and it creates a file with a full definition of the configuration in a well know standard (which can always be re-used later, even without my script.)
If you add dot to your own dotfiles repository, and organize yours like mine (files, installs and reqs) then dot will use find your folders and offer to link your files, run your install scripts, or create your Python environments.
https://codeberg.org/EdTheDev/dotfiles/src/branch/main/bin/dot
#linux #macos #bash #cli #localhost #config #ansible