mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-29 23:08:06 +02:00
Refactored pc roles and added README.md's with help of ChatGPT. See https://chat.openai.com/share/df22ba6a-76d0-47c2-a8c7-daec3f42b4e5
This commit is contained in:
52
roles/pc-gnome/Readme.md
Normal file
52
roles/pc-gnome/Readme.md
Normal file
@@ -0,0 +1,52 @@
|
||||
# PC-Gnome Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-gnome` role, a key part of the `computer-playbook` repository. This role is dedicated to setting up and configuring the GNOME desktop environment on personal computers.
|
||||
|
||||
## Role Details
|
||||
The `pc-gnome` role includes several tasks for installing GNOME software, managing GNOME extensions, and customizing the GNOME desktop experience:
|
||||
|
||||
1. **Install Gnome Software**:
|
||||
- Installs essential GNOME packages such as `gnome-shell-extensions`, `gnome-shell-extension-desktop-icons-ng`, and `gnome-terminal` using the `community.general.pacman` module.
|
||||
|
||||
2. **GNOME Activate Extensions**:
|
||||
- Enables user extensions in GNOME using the `gsettings` command.
|
||||
|
||||
3. **GNOME Set Favorite Apps**:
|
||||
- Customizes the favorite applications on the GNOME shell using the `gsettings` command and the `{{favorite_apps}}` variable.
|
||||
|
||||
4. **Pull CLI GNOME Extension Manager Script**:
|
||||
- Clones or updates the CLI GNOME Extension Manager script from a Git repository.
|
||||
|
||||
5. **Warn if Repo is Not Reachable**:
|
||||
- Displays a warning message if the repository for the CLI GNOME Extension Manager script is not reachable.
|
||||
|
||||
6. **Execute CLI GNOME Extension Manager Script**:
|
||||
- Runs the CLI GNOME Extension Manager script to manage GNOME extensions based on the `{{gnome_extensions}}` variable.
|
||||
|
||||
## Further Information
|
||||
For additional details on managing GNOME extensions via command line, visit [Ask Ubuntu](https://askubuntu.com/questions/1029376/how-do-i-enable-and-disable-gnome-extensions-from-the-command-line).
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **pc-git**: Ensures Git is installed for cloning repositories.
|
||||
- **pc-caffeine**: A supplementary role that may include tools or configurations complementing the GNOME setup.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-gnome` role is ideal for users who prefer the GNOME desktop environment and wish to automate its setup and customization. It's especially useful for setting up a new system or reconfiguring GNOME after a system update.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Must be installed to use this role.
|
||||
- **Arch Linux-based System**: The role uses the `pacman` package manager, indicating it's designed for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To use this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-gnome` directory.
|
||||
3. Run the role using Ansible, ensuring you have the necessary permissions for installations and configurations.
|
||||
|
||||
## Customization
|
||||
You can customize this role by modifying the GNOME software packages, favorite apps, and GNOME extensions in the respective tasks.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more GNOME-related configurations or tools, open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the GNOME environment setup are highly encouraged.
|
3
roles/pc-gnome/meta/main.yml
Normal file
3
roles/pc-gnome/meta/main.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- pc-git
|
||||
- pc-caffeine
|
34
roles/pc-gnome/tasks/main.yml
Normal file
34
roles/pc-gnome/tasks/main.yml
Normal file
@@ -0,0 +1,34 @@
|
||||
- name: Install Gnome Software
|
||||
community.general.pacman:
|
||||
name:
|
||||
- gnome-shell-extensions
|
||||
- gnome-shell-extension-desktop-icons-ng
|
||||
- gnome-terminal
|
||||
state: present
|
||||
|
||||
- name: GNOME Activate Extensions
|
||||
ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false
|
||||
become: false
|
||||
|
||||
- name: GNOME Set favorite apps
|
||||
ansible.builtin.shell: gsettings set org.gnome.shell favorite-apps "{{favorite_apps}}"
|
||||
become: false
|
||||
|
||||
- name: pull CLI GNOME Extension manager script
|
||||
git:
|
||||
repo: "git@github.com:kevinveenbirkenbach/cli-gnome-extension-manager.git"
|
||||
dest: "$HOME/Repositories/github.com/kevinveenbirkenbach/cli-gnome-extension-manager"
|
||||
update: yes
|
||||
register: git_result
|
||||
ignore_errors: true
|
||||
become: false
|
||||
|
||||
- name: Warn if repo is not reachable
|
||||
debug:
|
||||
msg: "Warning: Repository is not reachable."
|
||||
when: git_result.failed
|
||||
|
||||
- name: Execute CLI GNOME Extension manager script
|
||||
ansible.builtin.shell: bash "/home/{{client_username}}/Repositories/github.com/kevinveenbirkenbach/cli-gnome-extension-manager/gnome-extension-manager.sh" "{{ item[0] }}" "{{ item[1] }}" "{{ item[2] }}"
|
||||
loop: "{{gnome_extensions}}"
|
||||
become: false
|
Reference in New Issue
Block a user