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