Add more roles and start adding packages

This commit is contained in:
2025-12-28 11:11:10 +01:00
parent 1be3ba7e32
commit 89ef349a04
15 changed files with 224 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
---
# Variables for fedora_workstations group
# Ansible connection settings
ansible_python_interpreter: /usr/bin/python3
# Add group-specific variables here
# Example:
# timezone: Europe/Berlin
# locale: en_US.UTF-8
timezone: Europe/Berlin
locale: de_DE.UTF-8

25
inventory/hosts Normal file
View File

@@ -0,0 +1,25 @@
[fedora_workstation]
localhost ansible_connection=local
# Add additional workstations here:
# workstation1.example.com ansible_host=192.168.1.10 ansible_user=username
# workstation2.example.com ansible_host=192.168.1.11 ansible_user=username
[fedora_gnome_workstation]
localhost ansible_connection=local
[fedora_development_workstation]
localhost ansible_connection=local
[fedora_node_development_workstation]
localhost ansible_connection=local
[fedora_dotnet_development_workstation]
localhost ansible_connection=local
[fedora_corrector_workstation]
localhost ansible_connection=local
[fedora_doctor_workstation]
localhost ansible_connection=local

16
playbook.yml Normal file
View File

@@ -0,0 +1,16 @@
---
- name: Configure Fedora Workstation
hosts: fedora_workstation
gather_facts: true
roles:
- fedora_workstation
#- name: Configure Fedora Development Workstation
# hosts: fedora_development_workstation
# gather_facts: true
# roles:
# - fedora_development_workstation

View File

@@ -0,0 +1,38 @@
# Fedora GNOME Workstation Role
Ansible role for configuring Fedora GNOME workstation with custom extensions and settings.
## Requirements
- Fedora with GNOME desktop environment
- Ansible 2.9 or higher
- `community.general` collection (for flatpak modules)
## Role Variables
No variables currently defined.
## Dependencies
None.
## Example Playbook
```yaml
- hosts: workstations
roles:
- fedora_gnome_workstation
```
## License
MIT
## Installed Packages
### DNF Packages
- gnome-shell-extension-pop-shell - Tiling window management for GNOME
- flatpak - Flatpak application framework
### Flatpak Applications (from Flathub)
- com.mattjakeman.ExtensionManager - Manage GNOME Shell extensions

View File

@@ -0,0 +1,2 @@
---
# defaults file for fedora_gnome_workstation

View File

@@ -0,0 +1,2 @@
---
# handlers file for fedora_gnome_workstation

View File

@@ -0,0 +1,19 @@
---
galaxy_info:
author: your_name
description: Fedora GNOME Workstation configuration
license: MIT
min_ansible_version: '2.9'
platforms:
- name: Fedora
versions:
- all
galaxy_tags:
- fedora
- gnome
- workstation
- desktop
dependencies: []

View File

@@ -0,0 +1,31 @@
---
# tasks file for fedora_gnome_workstation
- name: Ensure GNOME shell extensions are installed
ansible.builtin.dnf:
name:
- gnome-shell-extension-pop-shell
state: present
become: true
- name: Ensure flatpak is installed
ansible.builtin.dnf:
name:
- flatpak
state: present
become: true
- name: Add flathub repository
community.general.flatpak_remote:
name: flathub
state: present
flatpakrepo_url: https://dl.flathub.org/repo/flathub.flatpakrepo
become: true
- name: Install flatpak applications from flathub
community.general.flatpak:
name:
- com.mattjakeman.ExtensionManager
state: present
remote: flathub
become: true

View File

@@ -0,0 +1,2 @@
---
# vars file for fedora_gnome_workstation

View File

@@ -0,0 +1,37 @@
# Fedora Workstation Role
Ansible role for configuring and managing Fedora Workstation installations.
## Requirements
- Fedora Workstation (tested on latest stable release)
- Ansible 2.9 or higher
## Role Variables
Available variables are listed below, along with default values (see `defaults/main.yml`):
```yaml
# Add variables here as they are implemented
```
## Dependencies
None.
## Example Playbook
```yaml
- hosts: workstations
become: true
roles:
- fedora_workstation
```
## License
See repository LICENSE file.
## Author Information
This role was created for managing Fedora Workstation laptops.

View File

@@ -0,0 +1,2 @@
---
# defaults file for fedora_workstation

View File

@@ -0,0 +1,2 @@
---
# handlers file for fedora_workstation

View File

@@ -0,0 +1,22 @@
---
galaxy_info:
author: your_name
description: Fedora Workstation configuration and management
company: your_company (optional)
license: license (GPL-2.0-or-later, MIT, etc)
min_ansible_version: "2.9"
platforms:
- name: Fedora
versions:
- all
galaxy_tags:
- fedora
- workstation
- desktop
- laptop
dependencies: []

View File

@@ -0,0 +1,11 @@
---
# tasks file for fedora_workstation
- name: Ensure essential packages are installed
ansible.builtin.dnf:
name:
- zsh
- curl
- wget
state: present
become: true

View File

@@ -0,0 +1,2 @@
---
# vars file for fedora_workstation