This directory contains things I'd like to keep in sync across my workstations.
It uses Ansible running locally. This was chosen because Ansible does not run a peristent agent on the machine.
cd ~
git clone https://github.com/asacamano-linux-setup/sync.git ;
cs sync
git submodule add -f https://github.com/asacamano-linux-setup/gui.git modules/gui
sudo sync.sh
First, make a new SSH key and add it to your SSH agent and your GitHub account following the instructions on that GitHib page.
Then
cd ~
git clone git@github.com:asacamano-linux-setup/sync.git ;
cs sync
git submodule add -f git@github.com:asacamano-linux-setup/gui.git modules/gui
sudo sync.sh
By itself this code does basic setup, but can be extended by adding "modules" to the modules directory.
Use the git submodule command to add them, e.g.
git submodule add -f https://github.com/asacamano-linux-setup/gui.git modules/gui
Each module must contain a tasks file with the same name as the modue, e.g.
modules/gui/gui.yml
Once the modules are installed, run
sudo ./setup.sh
All modules playbooks are executed first, so that they can populate variables used in the public playboks. Modules are executed in alphabetical sort order.