https://github.com/karras/ansible-collection-linux_client
Ansible collection to manage Linux-based development clients.
https://github.com/karras/ansible-collection-linux_client
ansible ansible-collection archlinux desktop greetd laptop linux-client wayfire workstation
Last synced: 11 months ago
JSON representation
Ansible collection to manage Linux-based development clients.
- Host: GitHub
- URL: https://github.com/karras/ansible-collection-linux_client
- Owner: karras
- License: gpl-3.0
- Created: 2021-11-22T22:11:10.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-02-22T12:17:31.000Z (about 1 year ago)
- Last Synced: 2025-03-28T06:44:26.000Z (12 months ago)
- Topics: ansible, ansible-collection, archlinux, desktop, greetd, laptop, linux-client, wayfire, workstation
- Language: Jinja
- Homepage:
- Size: 325 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: changelogs/changelog.yaml
- License: LICENSE
Awesome Lists containing this project
README
# Ansible Collection - karras.linux\_client
Ansible collection to manage Linux-based development clients.
[](https://github.com/karras/ansible-collection-linux_client/actions/workflows/test.yml) [](https://github.com/karras/ansible-collection-linux_client/actions/workflows/release.yml)
## Compatibility
Currently only supports Arch Linux.
## Roles
The following roles are part of this collection:
| Role | Purpose | Dependencies |
| --------------------------------------------- | ------------------------------ | ------------ |
| [cis\_baseline](./roles/cis_baseline) | CIS baseline configuration | n/a |
| [desktop\_baseline](./roles/desktop_baseline) | Desktop baseline configuration | n/a |
| [firewalld](./roles/firewalld) | Firewalld setup | n/a |
| [greetd](./roles/greetd) | Login manager greetd setup | n/a |
| [hardware](./roles/hardware) | Hardware related settings | n/a |
| [networkmanager](./roles/networkmanager) | NetworkManager setup | n/a |
| [os\_baseline](./roles/os_baseline) | OS baseline configuration | n/a |
| [users](./roles/users) | User and group management | n/a |
| [wayfire](./roles/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:
```sh
ansible-galaxy collection install karras.linux_client
```
* Create a new playbook (e.g. `client.yml`) which includes the desired roles:
```yaml
---
- 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:
```ini
[dev]
testclient ansible_connection=local
```
* Finally run the playbook:
```sh
ansible-playbook client.yml -i inventory -K
```
## License
See [LICENSE](./LICENSE)