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
yaml
files in thegroup-vars
andhost-vars
folders.
- Variables used by Ansible can be overridden with a
config.yml
file in the root of the repository. Optionally, another configurationyaml
file specified in a repository that contains vars files such asdotfiles-overlay
defined 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.setup
settingsAnsible_distribution
for conditionals on Fedora and Ubuntu playbook
- Build on
default_config.yaml
and 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