/ansible-collection-linux_client

Ansible collection to manage Linux-based development clients.

Primary LanguageJinjaGNU General Public License v3.0GPL-3.0

Ansible Collection - karras.linux_client

Ansible collection to manage Linux-based development clients.

Test Release

Compatibility

Currently only supports Arch Linux.

Roles

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.

Usage

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

License

See LICENSE