Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/justunsix/dotfiles-playbook
Ansible playbooks for Managing my Linux (Ubuntu, Fedora, Arch), Windows, MacOS Machines
https://github.com/justunsix/dotfiles-playbook
ansible dotfiles dotfiles-linux dotfiles-macos dotfiles-windows playbook
Last synced: 3 days ago
JSON representation
Ansible playbooks for Managing my Linux (Ubuntu, Fedora, Arch), Windows, MacOS Machines
- Host: GitHub
- URL: https://github.com/justunsix/dotfiles-playbook
- Owner: justunsix
- License: mit
- Created: 2023-03-25T16:30:02.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-21T03:31:27.000Z (3 months ago)
- Last Synced: 2024-10-22T18:53:02.315Z (3 months ago)
- Topics: ansible, dotfiles, dotfiles-linux, dotfiles-macos, dotfiles-windows, playbook
- Language: Shell
- Homepage:
- Size: 239 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Dotfiles-Playbook
Ansible playbooks for Managing my Linux (Ubuntu, Fedora, Arch), Windows, MacOS Machines
## Prerequisites
Works on Linux (Fedora, Ubuntu, Arch distributions) and Windows Subsystem for Linux (WSL2) Ubuntu.
## Usage
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### What the Script Does
- 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](https://github.com/justunsix/dotfiles) repository. These are configured in the configuration `yaml` files in the `group-vars` and `host-vars` folders.### Overriding Defaults
- Variables used by Ansible can be overridden with a `config.yml` file in the root of the repository. Optionally, another configuration `yaml` file specified in a repository that contains vars files such as `dotfiles-overlay` defined in the `default-config.yml`.
- These files can be helpful to override variables for different machines or environments and manage secrets outside of this repository.## Roadmap
- Make Ansible vars and tasks more flexible instead of hardcoding values with:
- Use [`ansible.builtin.setup`](https://docs.ansible.com/ansible/latest/collections/ansible/builtin/setup_module.html) settings
- `Ansible_distribution` for conditionals on Fedora and Ubuntu playbook
- Build on `default_config.yaml` and override for other Linux distributions
- Set up [Ansible logging](https://docs.ansible.com/automation-controller/latest/html/administration/logging.html) to more easily read output outside the terminal
- Improve README to describe repository structure and tasks## License
Distributed under the MIT License. See `LICENSE.txt` for more information.
### Built With
- [Ansible](https://www.ansible.com/)
- Inspired by [geerlingguy/mac-dev-playbook](https://github.com/geerlingguy/mac-dev-playbook) and [dotfiles Ansible role](https://github.com/geerlingguy/ansible-role-dotfiles)