Ansible collection to manage Linux-based development clients.
Currently only supports Arch Linux.
The following roles are part of this collection:
Role | Purpose | Dependencies |
---|---|---|
cis_baseline | CIS baseline configuration | n/a |
desktop_baseline | Desktop baseline configuration | n/a |
firewalld | Firewalld setup | n/a |
greetd | Login manager greetd setup | n/a |
hardware | Hardware related settings | n/a |
networkmanager | NetworkManager setup | n/a |
os_baseline | OS baseline configuration | n/a |
users | User and group management | n/a |
wayfire | Wayfire compositor setup | n/a |
Whenever possible only Ansible builtin modules are leveraged, which can lead to some more complex tasks structures though.
Follow the below steps to start using the collection:
- Install the latest collection version:
ansible-galaxy collection install karras.linux_client
- Create a new playbook (e.g.
client.yml
) which includes the desired roles:
---
- name: deploy and manage linux clients
hosts: all
become: yes
roles:
- karras.linux_client.os_baseline
- karras.linux_client.hardware
- karras.linux_client.users
- karras.linux_client.greetd
- karras.linux_client.wayfire
- karras.linux_client.desktop_baseline
- karras.linux_client.networkmanager
- karras.linux_client.firewalld
- karras.linux_client.cis_baseline
- Define an inventory, in this case Ansible is executed against localhost:
[dev]
testclient ansible_connection=local
- Finally run the playbook:
ansible-playbook client.yml -i inventory -K
See LICENSE