Ansible playbooks for Managing my Linux (Ubuntu, Fedora, Arch), Windows, MacOS Machines
Works on Linux (Fedora, Ubuntu, Arch distributions) and Windows Subsystem for Linux (WSL2) Ubuntu.
Run bootstrap.sh.
- When run on a Linux machine, Ansible configures the system it is run on
- When run in WSL, Ansible will configure Windows hosting WSL
- Script will check the Linux distribution and run the appropriate Ansible playbook and install required software and Ansible requirements for the target system.
- Playbook is designed to work with a repository containing dotfiles and
configuration files like my dotfiles
repository. These are configured in the configuration
yamlfiles in thegroup-varsandhost-varsfolders.
- Variables used by Ansible can be overridden with a
config.ymlfile in the root of the repository. Optionally, another configurationyamlfile specified in a repository that contains vars files such asdotfiles-overlaydefined in thedefault-config.yml. - These files can be helpful to override variables for different machines or environments and manage secrets outside of this repository.
- Make Ansible vars and tasks more flexible instead of hardcoding values with:
- Use
ansible.builtin.setupsettingsansible_facts['distribution']for conditionals on Fedora and Ubuntu playbook
- Build on
default_config.yamland override for other Linux distributions
- Use
- Set up Ansible logging to more easily read output outside the terminal
- Improve README to describe repository structure and tasks
Distributed under the MIT License. See LICENSE.txt for more information.
- Ansible
- Inspired by geerlingguy/mac-dev-playbook and dotfiles Ansible role