Add more roles and start adding packages
This commit is contained in:
13
inventory/group_vars/fedora_workstations/main.yml
Normal file
13
inventory/group_vars/fedora_workstations/main.yml
Normal 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
25
inventory/hosts
Normal 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
16
playbook.yml
Normal 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
|
||||
|
||||
|
||||
38
roles/fedora_gnome_workstation/README.md
Normal file
38
roles/fedora_gnome_workstation/README.md
Normal 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
|
||||
2
roles/fedora_gnome_workstation/defaults/main.yml
Normal file
2
roles/fedora_gnome_workstation/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# defaults file for fedora_gnome_workstation
|
||||
2
roles/fedora_gnome_workstation/handlers/main.yml
Normal file
2
roles/fedora_gnome_workstation/handlers/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# handlers file for fedora_gnome_workstation
|
||||
19
roles/fedora_gnome_workstation/meta/main.yml
Normal file
19
roles/fedora_gnome_workstation/meta/main.yml
Normal 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: []
|
||||
31
roles/fedora_gnome_workstation/tasks/main.yml
Normal file
31
roles/fedora_gnome_workstation/tasks/main.yml
Normal 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
|
||||
2
roles/fedora_gnome_workstation/vars/main.yml
Normal file
2
roles/fedora_gnome_workstation/vars/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for fedora_gnome_workstation
|
||||
37
roles/fedora_workstation/README.md
Normal file
37
roles/fedora_workstation/README.md
Normal 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.
|
||||
2
roles/fedora_workstation/defaults/main.yml
Normal file
2
roles/fedora_workstation/defaults/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# defaults file for fedora_workstation
|
||||
2
roles/fedora_workstation/handlers/main.yml
Normal file
2
roles/fedora_workstation/handlers/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# handlers file for fedora_workstation
|
||||
22
roles/fedora_workstation/meta/main.yml
Normal file
22
roles/fedora_workstation/meta/main.yml
Normal 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: []
|
||||
11
roles/fedora_workstation/tasks/main.yml
Normal file
11
roles/fedora_workstation/tasks/main.yml
Normal 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
|
||||
2
roles/fedora_workstation/vars/main.yml
Normal file
2
roles/fedora_workstation/vars/main.yml
Normal file
@@ -0,0 +1,2 @@
|
||||
---
|
||||
# vars file for fedora_workstation
|
||||
Reference in New Issue
Block a user