From e4ff99e3361bf40ac21e5841339062dd840862ed Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Wed, 9 Jul 2025 03:09:12 +0200 Subject: [PATCH] Deleted personas and replaced by utils --- .../desktop-obs}/tasks/main.yml | 0 .../desktop-retroarch}/README.md | 0 .../desktop-retroarch}/meta/main.yml | 0 .../desktop-retroarch}/tasks/main.yml | 0 .../desktop-retroarch}/vars/main.yml | 0 .../utils-desktop-design}/meta/main.yml | 0 .../utils-desktop-design}/tasks/main.yml | 0 .../utils-desktop-dev-arduino}/README.md | 4 +- .../utils-desktop-dev-arduino}/meta/main.yml | 2 +- .../utils-desktop-dev-arduino}/tasks/main.yml | 0 .../utils-desktop-dev-core}/README.md | 4 +- .../utils-desktop-dev-core}/meta/main.yml | 2 +- .../utils-desktop-dev-core}/tasks/main.yml | 0 .../utils-desktop-dev-java}/README.md | 4 +- .../utils-desktop-dev-java}/meta/main.yml | 2 +- .../utils-desktop-dev-php}/README.md | 6 +- .../utils-desktop-dev-php}/meta/main.yml | 2 +- .../utils-desktop-dev-php}/tasks/main.yml | 0 .../utils-desktop-dev-python}/README.md | 6 +- .../utils-desktop-dev-python}/meta/main.yml | 2 +- .../utils-desktop-dev-shell}/README.md | 4 +- .../utils-desktop-dev-shell}/meta/main.yml | 2 +- .../utils-desktop-dev-shell}/tasks/main.yml | 0 .../utils-desktop-game-compose}/README.md | 6 +- .../utils-desktop-game-compose}/meta/main.yml | 6 +- .../utils-desktop-game-os}/README.md | 0 .../utils-desktop-game-os}/meta/main.yml | 0 .../utils-desktop-game-os}/tasks/main.yml | 0 .../utils-desktop-game-os}/vars/main.yml | 0 .../utils-desktop-game-windows}/README.md | 2 +- .../utils-desktop-game-windows}/meta/main.yml | 0 .../tasks/main.yml | 0 .../utils-desktop-office-tools}/README.md | 8 +- .../utils-desktop-office-tools}/meta/main.yml | 0 .../tasks/main.yml | 0 .../README.md | 2 +- .../meta/main.yml | 2 +- .../tasks/main.yml | 0 .../utils-generic-administrator}/README.md | 0 .../meta/main.yml | 0 .../tasks/main.yml | 0 .../README.md | 2 +- .../meta/main.yml | 0 tasks/plays/02_personal-computer.yml | 16 +-- tasks/plays/02_server.yml | 2 +- templates/inventories/README.md | 5 - templates/inventories/TODO.md | 105 ------------------ .../inventories/persona-designer/README.md | 36 ------ .../inventories/persona-streamer/README.md | 30 ----- 49 files changed, 43 insertions(+), 219 deletions(-) rename {templates/inventories/persona-streamer => roles/desktop-obs}/tasks/main.yml (100%) rename {templates/inventories/persona-gamer-retro => roles/desktop-retroarch}/README.md (100%) rename {templates/inventories/persona-gamer-retro => roles/desktop-retroarch}/meta/main.yml (100%) rename {templates/inventories/persona-gamer-retro => roles/desktop-retroarch}/tasks/main.yml (100%) rename {templates/inventories/persona-gamer-retro => roles/desktop-retroarch}/vars/main.yml (100%) rename {templates/inventories/persona-designer => roles/utils-desktop-design}/meta/main.yml (100%) rename {templates/inventories/persona-designer => roles/utils-desktop-design}/tasks/main.yml (100%) rename {templates/inventories/persona-developer-arduino => roles/utils-desktop-dev-arduino}/README.md (91%) rename {templates/inventories/persona-developer-arduino => roles/utils-desktop-dev-arduino}/meta/main.yml (96%) rename {templates/inventories/persona-developer-arduino => roles/utils-desktop-dev-arduino}/tasks/main.yml (100%) rename {templates/inventories/persona-developer => roles/utils-desktop-dev-core}/README.md (90%) rename {templates/inventories/persona-developer => roles/utils-desktop-dev-core}/meta/main.yml (95%) rename {templates/inventories/persona-developer => roles/utils-desktop-dev-core}/tasks/main.yml (100%) rename {templates/inventories/persona-developer-java => roles/utils-desktop-dev-java}/README.md (92%) rename {templates/inventories/persona-developer-java => roles/utils-desktop-dev-java}/meta/main.yml (96%) rename {templates/inventories/persona-developer-php => roles/utils-desktop-dev-php}/README.md (87%) rename {templates/inventories/persona-developer-php => roles/utils-desktop-dev-php}/meta/main.yml (96%) rename {templates/inventories/persona-developer-php => roles/utils-desktop-dev-php}/tasks/main.yml (100%) rename {templates/inventories/persona-developer-python => roles/utils-desktop-dev-python}/README.md (89%) rename {templates/inventories/persona-developer-python => roles/utils-desktop-dev-python}/meta/main.yml (96%) rename {templates/inventories/persona-developer-shell => roles/utils-desktop-dev-shell}/README.md (82%) rename {templates/inventories/persona-developer-shell => roles/utils-desktop-dev-shell}/meta/main.yml (96%) rename {templates/inventories/persona-developer-shell => roles/utils-desktop-dev-shell}/tasks/main.yml (100%) rename {templates/inventories/persona-gamer => roles/utils-desktop-game-compose}/README.md (86%) rename {templates/inventories/persona-gamer => roles/utils-desktop-game-compose}/meta/main.yml (89%) rename {templates/inventories/persona-gamer-default => roles/utils-desktop-game-os}/README.md (100%) rename {templates/inventories/persona-gamer-default => roles/utils-desktop-game-os}/meta/main.yml (100%) rename {templates/inventories/persona-gamer-default => roles/utils-desktop-game-os}/tasks/main.yml (100%) rename {templates/inventories/persona-gamer-default => roles/utils-desktop-game-os}/vars/main.yml (100%) rename {templates/inventories/persona-gamer-core => roles/utils-desktop-game-windows}/README.md (92%) rename {templates/inventories/persona-gamer-core => roles/utils-desktop-game-windows}/meta/main.yml (100%) rename {templates/inventories/persona-gamer-core => roles/utils-desktop-game-windows}/tasks/main.yml (100%) rename {templates/inventories/persona-employee => roles/utils-desktop-office-tools}/README.md (68%) rename {templates/inventories/persona-employee => roles/utils-desktop-office-tools}/meta/main.yml (100%) rename {templates/inventories/persona-employee => roles/utils-desktop-office-tools}/tasks/main.yml (100%) rename {templates/inventories/persona-administrator-network => roles/utils-generic-administrator-network}/README.md (88%) rename {templates/inventories/persona-administrator-network => roles/utils-generic-administrator-network}/meta/main.yml (95%) rename {templates/inventories/persona-administrator-network => roles/utils-generic-administrator-network}/tasks/main.yml (100%) rename {templates/inventories/persona-administrator => roles/utils-generic-administrator}/README.md (100%) rename {templates/inventories/persona-administrator => roles/utils-generic-administrator}/meta/main.yml (100%) rename {templates/inventories/persona-administrator => roles/utils-generic-administrator}/tasks/main.yml (100%) rename {templates/inventories/persona-corporate => roles/utils-server-corporate-identity}/README.md (98%) rename {templates/inventories/persona-corporate => roles/utils-server-corporate-identity}/meta/main.yml (100%) delete mode 100644 templates/inventories/README.md delete mode 100644 templates/inventories/TODO.md delete mode 100644 templates/inventories/persona-designer/README.md delete mode 100644 templates/inventories/persona-streamer/README.md diff --git a/templates/inventories/persona-streamer/tasks/main.yml b/roles/desktop-obs/tasks/main.yml similarity index 100% rename from templates/inventories/persona-streamer/tasks/main.yml rename to roles/desktop-obs/tasks/main.yml diff --git a/templates/inventories/persona-gamer-retro/README.md b/roles/desktop-retroarch/README.md similarity index 100% rename from templates/inventories/persona-gamer-retro/README.md rename to roles/desktop-retroarch/README.md diff --git a/templates/inventories/persona-gamer-retro/meta/main.yml b/roles/desktop-retroarch/meta/main.yml similarity index 100% rename from templates/inventories/persona-gamer-retro/meta/main.yml rename to roles/desktop-retroarch/meta/main.yml diff --git a/templates/inventories/persona-gamer-retro/tasks/main.yml b/roles/desktop-retroarch/tasks/main.yml similarity index 100% rename from templates/inventories/persona-gamer-retro/tasks/main.yml rename to roles/desktop-retroarch/tasks/main.yml diff --git a/templates/inventories/persona-gamer-retro/vars/main.yml b/roles/desktop-retroarch/vars/main.yml similarity index 100% rename from templates/inventories/persona-gamer-retro/vars/main.yml rename to roles/desktop-retroarch/vars/main.yml diff --git a/templates/inventories/persona-designer/meta/main.yml b/roles/utils-desktop-design/meta/main.yml similarity index 100% rename from templates/inventories/persona-designer/meta/main.yml rename to roles/utils-desktop-design/meta/main.yml diff --git a/templates/inventories/persona-designer/tasks/main.yml b/roles/utils-desktop-design/tasks/main.yml similarity index 100% rename from templates/inventories/persona-designer/tasks/main.yml rename to roles/utils-desktop-design/tasks/main.yml diff --git a/templates/inventories/persona-developer-arduino/README.md b/roles/utils-desktop-dev-arduino/README.md similarity index 91% rename from templates/inventories/persona-developer-arduino/README.md rename to roles/utils-desktop-dev-arduino/README.md index ab8ad7c9..ac141b1a 100644 --- a/templates/inventories/persona-developer-arduino/README.md +++ b/roles/utils-desktop-dev-arduino/README.md @@ -1,4 +1,4 @@ -# Persona: Arduino DeveloperπŸ”Œ +# Arduino Development Utilities πŸ”Œ ## Description @@ -18,7 +18,7 @@ The role enables a ready-to-use Arduino development setup by installing necessar - **Installs Arduino IDE & Docs:** Provides GUI and offline references. - **User Group Configuration:** Adds the developer to `uucp` and `lock` groups for serial communication. -- **Persona Integration:** Extends `persona-developer` with embedded-specific tools. +- **Persona Integration:** Extends `utils-desktop-dev-core` with embedded-specific tools. ## Credits πŸ“ diff --git a/templates/inventories/persona-developer-arduino/meta/main.yml b/roles/utils-desktop-dev-arduino/meta/main.yml similarity index 96% rename from templates/inventories/persona-developer-arduino/meta/main.yml rename to roles/utils-desktop-dev-arduino/meta/main.yml index 8fed3437..7a7f00f7 100644 --- a/templates/inventories/persona-developer-arduino/meta/main.yml +++ b/roles/utils-desktop-dev-arduino/meta/main.yml @@ -24,4 +24,4 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-developer \ No newline at end of file + - utils-desktop-dev-core \ No newline at end of file diff --git a/templates/inventories/persona-developer-arduino/tasks/main.yml b/roles/utils-desktop-dev-arduino/tasks/main.yml similarity index 100% rename from templates/inventories/persona-developer-arduino/tasks/main.yml rename to roles/utils-desktop-dev-arduino/tasks/main.yml diff --git a/templates/inventories/persona-developer/README.md b/roles/utils-desktop-dev-core/README.md similarity index 90% rename from templates/inventories/persona-developer/README.md rename to roles/utils-desktop-dev-core/README.md index ea974ef7..6ef1944f 100644 --- a/templates/inventories/persona-developer/README.md +++ b/roles/utils-desktop-dev-core/README.md @@ -1,4 +1,4 @@ -# Persona: Developer πŸ‘¨β€πŸ’» +# Development Utilities πŸ‘¨β€πŸ’» ## Description @@ -18,7 +18,7 @@ To reduce setup time and ensure consistency across developer workstations, this - **Installs Visual Studio Code:** A powerful code editor with a wide plugin ecosystem. - **Extensible Design:** Acts as a base layer for more specific development stacks (e.g., web, Python, embedded). -- **Persona Integration:** Extends the `persona-administrator` for technical users with a development focus. +- **Persona Integration:** Extends the `utils-generic-administrator` for technical users with a development focus. ## Credits πŸ“ diff --git a/templates/inventories/persona-developer/meta/main.yml b/roles/utils-desktop-dev-core/meta/main.yml similarity index 95% rename from templates/inventories/persona-developer/meta/main.yml rename to roles/utils-desktop-dev-core/meta/main.yml index 274cb41c..89bc9eef 100644 --- a/templates/inventories/persona-developer/meta/main.yml +++ b/roles/utils-desktop-dev-core/meta/main.yml @@ -24,5 +24,5 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-administrator + - utils-generic-administrator - pkgmgr \ No newline at end of file diff --git a/templates/inventories/persona-developer/tasks/main.yml b/roles/utils-desktop-dev-core/tasks/main.yml similarity index 100% rename from templates/inventories/persona-developer/tasks/main.yml rename to roles/utils-desktop-dev-core/tasks/main.yml diff --git a/templates/inventories/persona-developer-java/README.md b/roles/utils-desktop-dev-java/README.md similarity index 92% rename from templates/inventories/persona-developer-java/README.md rename to roles/utils-desktop-dev-java/README.md index 14d0cd1c..a93cb2dc 100644 --- a/templates/inventories/persona-developer-java/README.md +++ b/roles/utils-desktop-dev-java/README.md @@ -1,4 +1,4 @@ -# Persona: Java Developerβ˜•οΈ +# Java Development Utilities β˜•οΈ ## Description @@ -17,7 +17,7 @@ The role is ideal for users who regularly work with Java, whether for backend sy ## Features - **Installs Java Development Kit (JDK):** Ensures the system has Java ready to run and compile applications. -- **Persona Integration:** Extends the `persona-developer` role with Java-specific capabilities. +- **Persona Integration:** Extends the `utils-desktop-dev-core` role with Java-specific capabilities. - **Ready for IDEs & Build Tools:** Prepares the base for tools like Maven, Gradle, or IntelliJ IDEA. ## Customization diff --git a/templates/inventories/persona-developer-java/meta/main.yml b/roles/utils-desktop-dev-java/meta/main.yml similarity index 96% rename from templates/inventories/persona-developer-java/meta/main.yml rename to roles/utils-desktop-dev-java/meta/main.yml index ca28af0c..885599c2 100644 --- a/templates/inventories/persona-developer-java/meta/main.yml +++ b/roles/utils-desktop-dev-java/meta/main.yml @@ -26,4 +26,4 @@ galaxy_info: documentation: https://s.veen.world/cymais dependencies: - generic-java - - persona-developer + - utils-desktop-dev-core diff --git a/templates/inventories/persona-developer-php/README.md b/roles/utils-desktop-dev-php/README.md similarity index 87% rename from templates/inventories/persona-developer-php/README.md rename to roles/utils-desktop-dev-php/README.md index 647fe3a7..9e950637 100644 --- a/templates/inventories/persona-developer-php/README.md +++ b/roles/utils-desktop-dev-php/README.md @@ -1,4 +1,4 @@ -# Persona: PHP Developer🐘 +# PHP Development Utilities 🐘 ## Description @@ -8,7 +8,7 @@ Explore more at the [PHP Official Site](https://www.php.net/), [Arch Wiki - PHP] ## Overview -The `persona-developer-php` role extends the base developer persona by adding support for PHP development. It's ideal for backend developers, web engineers, and students working with PHP-based applications and frameworks. +The `utils-desktop-dev-php` role extends the base developer persona by adding support for PHP development. It's ideal for backend developers, web engineers, and students working with PHP-based applications and frameworks. ## Purpose @@ -18,7 +18,7 @@ To equip developer environments with PHP so that users can begin writing and run - **Installs PHP:** Adds the official PHP interpreter from the Arch package repositories. - **Lightweight & Extensible:** Can be extended with PHP modules, web servers, or frameworks. -- **Persona Integration:** Builds on the `persona-developer` role for consistent tooling and workflow. +- **Persona Integration:** Builds on the `utils-desktop-dev-core` role for consistent tooling and workflow. ## Customization diff --git a/templates/inventories/persona-developer-php/meta/main.yml b/roles/utils-desktop-dev-php/meta/main.yml similarity index 96% rename from templates/inventories/persona-developer-php/meta/main.yml rename to roles/utils-desktop-dev-php/meta/main.yml index aad5ca7b..2964dbba 100644 --- a/templates/inventories/persona-developer-php/meta/main.yml +++ b/roles/utils-desktop-dev-php/meta/main.yml @@ -25,4 +25,4 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-developer \ No newline at end of file + - utils-desktop-dev-core \ No newline at end of file diff --git a/templates/inventories/persona-developer-php/tasks/main.yml b/roles/utils-desktop-dev-php/tasks/main.yml similarity index 100% rename from templates/inventories/persona-developer-php/tasks/main.yml rename to roles/utils-desktop-dev-php/tasks/main.yml diff --git a/templates/inventories/persona-developer-python/README.md b/roles/utils-desktop-dev-python/README.md similarity index 89% rename from templates/inventories/persona-developer-python/README.md rename to roles/utils-desktop-dev-python/README.md index 57ee6fed..991f5d6a 100644 --- a/templates/inventories/persona-developer-python/README.md +++ b/roles/utils-desktop-dev-python/README.md @@ -1,4 +1,4 @@ -# Persona: Developer – Python 🐍 +# Python Development Utilities 🐍 ## Description @@ -17,7 +17,7 @@ To simplify and standardize the provisioning of Python-ready environments for de ## Features - **Installs Python and Pip:** Ensures the interpreter and package manager are available. -- **Persona Integration:** Extends `persona-developer` with Python-specific tools. +- **Persona Integration:** Extends `utils-desktop-dev-core` with Python-specific tools. - **Foundation for Further Stacks:** Ideal starting point for Flask, Django, scientific computing, and automation. ## Customization @@ -25,7 +25,7 @@ To simplify and standardize the provisioning of Python-ready environments for de Easily extend this role with: - Python virtualenv tools (`python-virtualenv`, `pyenv`) - Popular libraries (`numpy`, `requests`, `flask`) -- Framework-specific roles (e.g., `persona-developer-python-django`) +- Framework-specific roles (e.g., `utils-desktop-dev-python-django`) ## Credits πŸ“ diff --git a/templates/inventories/persona-developer-python/meta/main.yml b/roles/utils-desktop-dev-python/meta/main.yml similarity index 96% rename from templates/inventories/persona-developer-python/meta/main.yml rename to roles/utils-desktop-dev-python/meta/main.yml index 58e66f0c..64a798fd 100644 --- a/templates/inventories/persona-developer-python/meta/main.yml +++ b/roles/utils-desktop-dev-python/meta/main.yml @@ -25,5 +25,5 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-developer + - utils-desktop-dev-core - generic-python-pip \ No newline at end of file diff --git a/templates/inventories/persona-developer-shell/README.md b/roles/utils-desktop-dev-shell/README.md similarity index 82% rename from templates/inventories/persona-developer-shell/README.md rename to roles/utils-desktop-dev-shell/README.md index 88c582ba..f60b5880 100644 --- a/templates/inventories/persona-developer-shell/README.md +++ b/roles/utils-desktop-dev-shell/README.md @@ -1,4 +1,4 @@ -# Persona: Developer – Shell 🐚 +# Shell Development Utilities 🐚 ## Description @@ -8,7 +8,7 @@ Learn more about [ShellCheck](https://www.shellcheck.net/), [Bash](https://www.g ## Overview -This role expands the general `persona-developer` by equipping the system with tools specifically aimed at writing and linting shell scripts. It's ideal for DevOps engineers, system administrators, and anyone automating systems with Bash. +This role expands the general `utils-desktop-dev-core` by equipping the system with tools specifically aimed at writing and linting shell scripts. It's ideal for DevOps engineers, system administrators, and anyone automating systems with Bash. ## Purpose diff --git a/templates/inventories/persona-developer-shell/meta/main.yml b/roles/utils-desktop-dev-shell/meta/main.yml similarity index 96% rename from templates/inventories/persona-developer-shell/meta/main.yml rename to roles/utils-desktop-dev-shell/meta/main.yml index 0a6d9714..f33d5769 100644 --- a/templates/inventories/persona-developer-shell/meta/main.yml +++ b/roles/utils-desktop-dev-shell/meta/main.yml @@ -25,4 +25,4 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-developer + - utils-desktop-dev-core diff --git a/templates/inventories/persona-developer-shell/tasks/main.yml b/roles/utils-desktop-dev-shell/tasks/main.yml similarity index 100% rename from templates/inventories/persona-developer-shell/tasks/main.yml rename to roles/utils-desktop-dev-shell/tasks/main.yml diff --git a/templates/inventories/persona-gamer/README.md b/roles/utils-desktop-game-compose/README.md similarity index 86% rename from templates/inventories/persona-gamer/README.md rename to roles/utils-desktop-game-compose/README.md index be883ccc..c7be3f72 100644 --- a/templates/inventories/persona-gamer/README.md +++ b/roles/utils-desktop-game-compose/README.md @@ -24,9 +24,9 @@ To provide a modular and reproducible way to deploy a full-featured Linux gaming | Role | Responsibility | |------|----------------| -| [`persona-gamer-retro`](../persona-gamer-retro) | Installs RetroArch and assets | -| [`persona-gamer-default`](../persona-gamer-default) | Installs open source games | -| [`persona-gamer-core`](../persona-gamer-core) | Installs Steam, Lutris, Wine, GameMode, MangoHUD | +| [`desktop-retroarch`](../desktop-retroarch) | Installs RetroArch and assets | +| [`utils-desktop-game-os`](../utils-desktop-game-os) | Installs open source games | +| [`utils-desktop-game-windows`](../utils-desktop-game-windows) | Installs Steam, Lutris, Wine, GameMode, MangoHUD | ## Credits πŸ“ diff --git a/templates/inventories/persona-gamer/meta/main.yml b/roles/utils-desktop-game-compose/meta/main.yml similarity index 89% rename from templates/inventories/persona-gamer/meta/main.yml rename to roles/utils-desktop-game-compose/meta/main.yml index 9da65c9c..7f7c291f 100644 --- a/templates/inventories/persona-gamer/meta/main.yml +++ b/roles/utils-desktop-game-compose/meta/main.yml @@ -26,6 +26,6 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-gamer-retro - - persona-gamer-default - - persona-gamer-core \ No newline at end of file + - desktop-retroarch + - utils-desktop-game-os + - utils-desktop-game-windows \ No newline at end of file diff --git a/templates/inventories/persona-gamer-default/README.md b/roles/utils-desktop-game-os/README.md similarity index 100% rename from templates/inventories/persona-gamer-default/README.md rename to roles/utils-desktop-game-os/README.md diff --git a/templates/inventories/persona-gamer-default/meta/main.yml b/roles/utils-desktop-game-os/meta/main.yml similarity index 100% rename from templates/inventories/persona-gamer-default/meta/main.yml rename to roles/utils-desktop-game-os/meta/main.yml diff --git a/templates/inventories/persona-gamer-default/tasks/main.yml b/roles/utils-desktop-game-os/tasks/main.yml similarity index 100% rename from templates/inventories/persona-gamer-default/tasks/main.yml rename to roles/utils-desktop-game-os/tasks/main.yml diff --git a/templates/inventories/persona-gamer-default/vars/main.yml b/roles/utils-desktop-game-os/vars/main.yml similarity index 100% rename from templates/inventories/persona-gamer-default/vars/main.yml rename to roles/utils-desktop-game-os/vars/main.yml diff --git a/templates/inventories/persona-gamer-core/README.md b/roles/utils-desktop-game-windows/README.md similarity index 92% rename from templates/inventories/persona-gamer-core/README.md rename to roles/utils-desktop-game-windows/README.md index 230ff42d..7fd0fa7f 100644 --- a/templates/inventories/persona-gamer-core/README.md +++ b/roles/utils-desktop-game-windows/README.md @@ -6,7 +6,7 @@ This Ansible role installs core gaming utilities and performance tools on Arch L ## Overview -Focused on native and Windows-compatible game support, this role equips systems with the necessary runtimes, drivers, and enhancements for high-performance gaming. It complements other persona-gamer roles such as `retro` and `default` to provide a full gaming setup. +Focused on native and Windows-compatible game support, this role equips systems with the necessary runtimes, drivers, and enhancements for high-performance gaming. It complements other utils-desktop-game-compose roles such as `retro` and `default` to provide a full gaming setup. ## Purpose diff --git a/templates/inventories/persona-gamer-core/meta/main.yml b/roles/utils-desktop-game-windows/meta/main.yml similarity index 100% rename from templates/inventories/persona-gamer-core/meta/main.yml rename to roles/utils-desktop-game-windows/meta/main.yml diff --git a/templates/inventories/persona-gamer-core/tasks/main.yml b/roles/utils-desktop-game-windows/tasks/main.yml similarity index 100% rename from templates/inventories/persona-gamer-core/tasks/main.yml rename to roles/utils-desktop-game-windows/tasks/main.yml diff --git a/templates/inventories/persona-employee/README.md b/roles/utils-desktop-office-tools/README.md similarity index 68% rename from templates/inventories/persona-employee/README.md rename to roles/utils-desktop-office-tools/README.md index 8695de29..2ce730c5 100644 --- a/templates/inventories/persona-employee/README.md +++ b/roles/utils-desktop-office-tools/README.md @@ -1,10 +1,10 @@ # Employee ## Overview -This README document is for the `persona-employee` role, a component of the `cymais` repository. This role is designed to install a suite of office-related software on personal computers, providing a comprehensive set of tools for various office tasks. +This README document is for the `utils-desktop-office-tools` role, a component of the `cymais` repository. This role is designed to install a suite of office-related software on personal computers, providing a comprehensive set of tools for various office tasks. ## Role Tasks -The `main.yml` file within the `persona-employee` role comprises tasks for installing a range of office software: +The `main.yml` file within the `utils-desktop-office-tools` role comprises tasks for installing a range of office software: 1. **Install Office Software**: - The role utilizes the `community.general.pacman` module to install the following software packages: @@ -19,7 +19,7 @@ This role depends on: - **desktop-zoom**: Provides tools necessary for video conferencing, supplementing the office setup. ## Purpose and Usage -The `persona-employee` role is ideal for users who require a full-fledged office setup on their personal computers. It encompasses tools for web browsing, email management, e-book organization, and document editing, catering to a wide range of office and productivity needs. +The `utils-desktop-office-tools` role is ideal for users who require a full-fledged office setup on their personal computers. It encompasses tools for web browsing, email management, e-book organization, and document editing, catering to a wide range of office and productivity needs. ## Prerequisites - **Ansible**: Must be installed to use this role. @@ -28,7 +28,7 @@ The `persona-employee` role is ideal for users who require a full-fledged office ## Running the Role To utilize this role: 1. Clone the `cymais` repository. -2. Navigate to the `roles/persona-employee` directory. +2. Navigate to the `roles/utils-desktop-office-tools` directory. 3. Run the role using Ansible, ensuring you have the necessary permissions for software installation. ## Customization diff --git a/templates/inventories/persona-employee/meta/main.yml b/roles/utils-desktop-office-tools/meta/main.yml similarity index 100% rename from templates/inventories/persona-employee/meta/main.yml rename to roles/utils-desktop-office-tools/meta/main.yml diff --git a/templates/inventories/persona-employee/tasks/main.yml b/roles/utils-desktop-office-tools/tasks/main.yml similarity index 100% rename from templates/inventories/persona-employee/tasks/main.yml rename to roles/utils-desktop-office-tools/tasks/main.yml diff --git a/templates/inventories/persona-administrator-network/README.md b/roles/utils-generic-administrator-network/README.md similarity index 88% rename from templates/inventories/persona-administrator-network/README.md rename to roles/utils-generic-administrator-network/README.md index 06b84fb4..1e139a3e 100644 --- a/templates/inventories/persona-administrator-network/README.md +++ b/roles/utils-generic-administrator-network/README.md @@ -8,7 +8,7 @@ Learn more about Linux network tools on the [Arch Wiki - Network Tools](https:// ## Overview -This role enhances the base `persona-administrator` role by adding tools specifically for analyzing, debugging, and monitoring network traffic and connectivity. +This role enhances the base `utils-generic-administrator` role by adding tools specifically for analyzing, debugging, and monitoring network traffic and connectivity. ## Purpose diff --git a/templates/inventories/persona-administrator-network/meta/main.yml b/roles/utils-generic-administrator-network/meta/main.yml similarity index 95% rename from templates/inventories/persona-administrator-network/meta/main.yml rename to roles/utils-generic-administrator-network/meta/main.yml index 8f144a37..4e83f8e4 100644 --- a/templates/inventories/persona-administrator-network/meta/main.yml +++ b/roles/utils-generic-administrator-network/meta/main.yml @@ -23,4 +23,4 @@ galaxy_info: issue_tracker_url: https://s.veen.world/cymaisissues documentation: https://s.veen.world/cymais dependencies: - - persona-administrator \ No newline at end of file + - utils-generic-administrator \ No newline at end of file diff --git a/templates/inventories/persona-administrator-network/tasks/main.yml b/roles/utils-generic-administrator-network/tasks/main.yml similarity index 100% rename from templates/inventories/persona-administrator-network/tasks/main.yml rename to roles/utils-generic-administrator-network/tasks/main.yml diff --git a/templates/inventories/persona-administrator/README.md b/roles/utils-generic-administrator/README.md similarity index 100% rename from templates/inventories/persona-administrator/README.md rename to roles/utils-generic-administrator/README.md diff --git a/templates/inventories/persona-administrator/meta/main.yml b/roles/utils-generic-administrator/meta/main.yml similarity index 100% rename from templates/inventories/persona-administrator/meta/main.yml rename to roles/utils-generic-administrator/meta/main.yml diff --git a/templates/inventories/persona-administrator/tasks/main.yml b/roles/utils-generic-administrator/tasks/main.yml similarity index 100% rename from templates/inventories/persona-administrator/tasks/main.yml rename to roles/utils-generic-administrator/tasks/main.yml diff --git a/templates/inventories/persona-corporate/README.md b/roles/utils-server-corporate-identity/README.md similarity index 98% rename from templates/inventories/persona-corporate/README.md rename to roles/utils-server-corporate-identity/README.md index 24c63d5f..9cce7d66 100644 --- a/templates/inventories/persona-corporate/README.md +++ b/roles/utils-server-corporate-identity/README.md @@ -1,4 +1,4 @@ -# Persona: Corporate 🏒 +# Corporate ## Description diff --git a/templates/inventories/persona-corporate/meta/main.yml b/roles/utils-server-corporate-identity/meta/main.yml similarity index 100% rename from templates/inventories/persona-corporate/meta/main.yml rename to roles/utils-server-corporate-identity/meta/main.yml diff --git a/tasks/plays/02_personal-computer.yml b/tasks/plays/02_personal-computer.yml index 39759050..bcc5b02a 100644 --- a/tasks/plays/02_personal-computer.yml +++ b/tasks/plays/02_personal-computer.yml @@ -5,15 +5,15 @@ include_role: name: "{{ item }}" loop: - - persona-administrator + - utils-generic-administrator - driver-non-free -- name: persona-employee +- name: utils-desktop-office-tools when: ("collection_officetools" in group_names) include_role: name: "{{ item }}" loop: - - persona-employee + - utils-desktop-office-tools - desktop-jrnl @@ -22,20 +22,20 @@ include_role: name: desktop-gnucash -- name: persona-designer +- name: utils-desktop-design when: ("collection_designer" in group_names) include_role: - name: persona-designer + name: utils-desktop-design - name: desktop-qbittorrent when: ("collection_torrent" in group_names) include_role: name: desktop-qbittorrent -- name: persona-streamer +- name: desktop-obs when: ("collection_streamer" in group_names) include_role: - name: persona-streamer + name: desktop-obs - name: desktop-bluray-player when: ("collection_bluray_player" in group_names) @@ -55,7 +55,7 @@ - name: setup gaming hosts when: ("gaming" in group_names) include_role: - name: persona-gamer + name: utils-desktop-game-compose - name: setup entertainment hosts when: ("entertainment" in group_names) diff --git a/tasks/plays/02_server.yml b/tasks/plays/02_server.yml index 6c57a847..5e10e5ba 100644 --- a/tasks/plays/02_server.yml +++ b/tasks/plays/02_server.yml @@ -24,7 +24,7 @@ - name: "setup corporate identity" include_role: - name: persona-corporate + name: utils-server-corporate-identity when: ('corporate_identity' | application_allowed(group_names, allowed_applications)) - name: setup redirect hosts diff --git a/templates/inventories/README.md b/templates/inventories/README.md deleted file mode 100644 index 0cedc8f1..00000000 --- a/templates/inventories/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## Inventory Templates - -This repository provides ready-to-use templates for creating and managing persona inventories. - -[Check out the related task in the project management system Β»](https://project.veen.world/projects/cymais/work_packages/80/activity) diff --git a/templates/inventories/TODO.md b/templates/inventories/TODO.md deleted file mode 100644 index 5ce827fb..00000000 --- a/templates/inventories/TODO.md +++ /dev/null @@ -1,105 +0,0 @@ -# Todo -Implement - -# Inventories Directory - -## Purpose - -The `inventories/` directory defines environment-specific inventory data for Ansible. - -Each subdirectory within `inventories/` represents a dedicated persona or environment (e.g., `enterprise`, `developer`, `gamer`) and contains the necessary templates and variables to generate the final Ansible inventory and variable files. - -This structure allows fully automated and reproducible inventory generation using a Python tool. - ---- - -## Directory Structure - -``` -inventories/ -β”œβ”€β”€ / -β”‚ β”œβ”€β”€ README.md # Description of the persona or environment -β”‚ β”œβ”€β”€ inventory.yml.j2 # Jinja2 template for the dynamic inventory file -β”‚ β”œβ”€β”€ vars.yml.j2 # Jinja2 template for generating group_vars / host_vars -β”‚ └── config.yml # Metadata and settings for this persona (optional) -``` - ---- - -## Purpose of Each File - -| File | Purpose | -|------|---------| -| `README.md` | Documentation of the persona/environment, included roles, and intended use case. | -| `inventory.yml.j2` | Jinja2 template that generates the inventory structure (hosts, groups, variables). | -| `vars.yml.j2` | Jinja2 template generating environment-specific variables (used in group_vars or host_vars). | -| `config.yml` | Optional metadata file containing settings like acquired personas, feature flags, default variables. | - ---- - -## Recommended Workflow with Python Tool - -1. The Python tool scans `inventories/` directories. -2. For each persona: - - Load `config.yml` (optional). - - Render `vars.yml.j2` β†’ Output: `group_vars/all.yml` - - Render `inventory.yml.j2` β†’ Output: `inventory.yml` - - Recursively acquire and merge dependent personas (defined in `config.yml`): - -```yaml -# Example: inventories/enterprise/config.yml -acquire_personas: - - corporate - - administrator - - developer -``` - -3. Combine all output into a deployable inventory directory: -``` -output/ -β”œβ”€β”€ enterprise/ -β”‚ β”œβ”€β”€ inventory.yml -β”‚ └── group_vars/ -β”‚ └── all.yml -``` - -4. The generated inventory is ready for use: -```bash -ansible-playbook -i output/enterprise/inventory.yml site.yml -``` - ---- - -## Benefits of This Approach - -- Personas remain fully modular and reusable. -- No duplication of host/group data. -- Centralized variable generation per persona. -- Automated and consistent inventory generation. -- Easy documentation per persona via `README.md`. -- Optional Feature Flags or Role Toggles in `config.yml`. -- Scalable for multi-environment setups. - ---- - -## Example Python Features - -| Feature | Description | -|---------|-------------| -| Auto Inventory Generation | Render `inventory.yml` and `vars.yml` from Jinja2 templates. | -| Recursive Persona Acquisition | Load dependent personas automatically. | -| Feature Flags | Enable/disable features via `config.yml`. | -| Variable Merging | Combine variables from all acquired personas. | -| Output Directory | Place final inventories in `output/` directory. | - ---- - -## Example Command - -```bash -python generate_inventory.py --persona enterprise --output output/ -``` - -This will render the `enterprise` persona, recursively acquire all dependent personas, and generate a fully deployable inventory with variables. - -``` \ No newline at end of file diff --git a/templates/inventories/persona-designer/README.md b/templates/inventories/persona-designer/README.md deleted file mode 100644 index 946bd25c..00000000 --- a/templates/inventories/persona-designer/README.md +++ /dev/null @@ -1,36 +0,0 @@ -# Designer - -## Overview -This README is associated with the `persona-designer` role, part of the `cymais` repository. This role focuses on setting up a suite of essential design tools on personal computers, catering specifically to the needs of graphic designers, illustrators, and digital artists. - -## Role Contents -The `main.yml` file in the `persona-designer` role encompasses tasks for installing popular design software: - -1. **Install Designer Tools**: This task uses the `community.general.pacman` module to install: - - `gimp`: A free and open-source raster graphics editor, used for image retouching and editing, free-form drawing, converting between different image formats, and more specialized tasks. - - `blender`: A free and open-source 3D creation suite supporting the entirety of the 3D pipelineβ€”modeling, rigging, animation, simulation, rendering, compositing, and motion tracking, even video editing and game creation. - -2. **Install drawio**: A separate task that uses the `kewlfft.aur.aur` module (with `yay` as the helper) to install `drawio-desktop`, a diagram software used for creating a wide range of diagrams and flowcharts. - -## Dependencies -This role depends on: -- **generic-aur-helper**: Ensures that an AUR (Arch User Repository) helper is available, which is necessary for installing packages like `drawio-desktop` that are not in the standard repositories. - -## Purpose and Usage -The `persona-designer` role is intended for users who require a robust set of tools for graphic design, 3D modeling, and diagram creation. It simplifies the process of setting up a comprehensive design environment on Arch Linux-based systems. - -## Prerequisites -- **Ansible**: Required for running this role. -- **Arch Linux-based System**: As the role uses `pacman` and AUR helpers, it is tailored for Arch Linux or similar distributions. - -## Running the Role -To use this role: -1. Clone the `cymais` repository. -2. Navigate to the `roles/persona-designer` directory. -3. Execute the role using Ansible, ensuring you have the necessary permissions for software installation. - -## Customization -This role can be customized by adding or removing software packages in the `main.yml` file to match the specific needs of the user. - -## Support and Contributions -For support, feedback, or contributions, such as adding more tools or improving the existing setup, please open an issue or submit a pull request in the `cymais` repository. Contributions that enhance the role for designers are greatly appreciated. \ No newline at end of file diff --git a/templates/inventories/persona-streamer/README.md b/templates/inventories/persona-streamer/README.md deleted file mode 100644 index e7743c86..00000000 --- a/templates/inventories/persona-streamer/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# PC-Streaming-Tools Role - -## Overview -This README is associated with the `persona-streamer` role, part of the `cymais` repository. This role is focused on setting up essential tools for live streaming and video recording on personal computers. - -## Role Tasks -The `main.yml` file in the `persona-streamer` role includes a task for installing a key streaming software: - -1. **Install Streaming**: - - The role uses the `community.general.pacman` module to install: - - `obs-studio`: Open Broadcaster Software Studio, a free and open-source software for video recording and live streaming. - -## Purpose and Usage -The `persona-streamer` role is designed for content creators, gamers, educators, and anyone who needs to record video or stream live content. OBS Studio provides a versatile platform for video production and live streaming, offering features like high-performance real-time video/audio capturing and mixing. - -## Prerequisites -- **Ansible**: Required for running this role. -- **Arch Linux-based System**: As the role employs the `pacman` package manager, it is tailored for systems based on Arch Linux or similar distributions. - -## Running the Role -To use this role: -1. Clone the `cymais` repository. -2. Navigate to the `roles/persona-streamer` directory. -3. Run the role using Ansible, ensuring you have the necessary permissions for software installation. - -## Customization -This role primarily focuses on installing OBS Studio, but you can customize it by adding additional streaming or video recording tools as per your requirements. - -## Support and Contributions -For support, feedback, or contributions, such as adding more streaming tools or enhancing the existing setup, please open an issue or submit a pull request in the `cymais` repository. Contributions that enhance the streaming capabilities of this role are highly welcome. \ No newline at end of file