mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-12-22 18:35:03 +01: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:
parent
0b21168a78
commit
29ea125179
28
README.md
28
README.md
@ -43,20 +43,20 @@ This software shipts the following tools which are natively setup on the server:
|
||||
This playbooks offers the setup of Manjaro GNOME clients.
|
||||
|
||||
### Included Applications
|
||||
- [Basic Linux Administration Tools](./roles/collection-administrator-base/)
|
||||
- [Network Analyzes Tools](./roles/collection-administrator-network-analyze/)
|
||||
- [Designer Tools](./roles/collection-designer/)
|
||||
- [Arduino Developer Tools](./roles/collection-developer-arduino/)
|
||||
- [Basic Developer Tools](./roles/collection-developer-base/)
|
||||
- [Bash Developer Tools](./roles/collection-developer-bash/)
|
||||
- [Java Developer Tools](./roles/collection-developer-java/)
|
||||
- [PHP Developer Tools](./roles/collection-developer-php/)
|
||||
- [Python Developer Tools](./roles/collection-developer-python/)
|
||||
- [Entertainment Software](./roles/collection-entertainment/)
|
||||
- [Games](./roles/collection-games/)
|
||||
- [Office Tools](./roles/collection-office/)
|
||||
- [Streaming Tools](./roles/collection-streamer/)
|
||||
- [Torrent Software](./roles/collection-torrent/)
|
||||
- [Basic Linux Administration Tools](./roles/pc-administrator-tools/)
|
||||
- [Network Analyzes Tools](./roles/pc-network-analyze-tools/)
|
||||
- [Designer Tools](./roles/pc-designer-tools/)
|
||||
- [Arduino Developer Tools](./roles/pc-developer-tools-arduino/)
|
||||
- [Basic Developer Tools](./roles/pc-developer-tools/)
|
||||
- [Bash Developer Tools](./roles/pc-developer-tools-bash/)
|
||||
- [Java Developer Tools](./roles/pc-developer-tools-java/)
|
||||
- [PHP Developer Tools](./roles/pc-developer-tools-php/)
|
||||
- [Python Developer Tools](./roles/pc-developer-tools-python/)
|
||||
- [Entertainment Software](./roles/pc-spotify/)
|
||||
- [Games](./roles/pc-games/)
|
||||
- [Office Tools](./roles/pc-office/)
|
||||
- [Streaming Tools](./roles/pc-streaming-tools/)
|
||||
- [Torrent Software](./roles/pc-qbittorrent/)
|
||||
- ...
|
||||
|
||||
### Setup
|
||||
|
40
playbook.yml
40
playbook.yml
@ -226,38 +226,38 @@
|
||||
hosts: personal_computers
|
||||
become: true
|
||||
roles:
|
||||
- collection-administrator-base
|
||||
- pc-administrator-tools
|
||||
- driver-non-free
|
||||
|
||||
- name: collection-office
|
||||
- name: pc-office
|
||||
hosts: collection_officetools
|
||||
become: true
|
||||
roles:
|
||||
- collection-office
|
||||
- pc-office
|
||||
|
||||
- name: collection-designer
|
||||
- name: pc-designer-tools
|
||||
hosts: collection_designer
|
||||
become: true
|
||||
roles:
|
||||
- collection-designer
|
||||
- pc-designer-tools
|
||||
|
||||
- name: collection-torrent
|
||||
- name: pc-qbittorrent
|
||||
hosts: collection_torrent
|
||||
become: true
|
||||
roles:
|
||||
- collection-torrent
|
||||
- pc-qbittorrent
|
||||
|
||||
- name: collection-streamer
|
||||
- name: pc-streaming-tools
|
||||
hosts: collection_streamer
|
||||
become: true
|
||||
roles:
|
||||
- collection-streamer
|
||||
- pc-streaming-tools
|
||||
|
||||
- name: collection-bluray-player
|
||||
- name: pc-bluray-player-tools
|
||||
hosts: collection_bluray_player
|
||||
become: true
|
||||
roles:
|
||||
- collection-bluray-player
|
||||
- pc-bluray-player-tools
|
||||
|
||||
- name: driver-intel
|
||||
hosts: intel
|
||||
@ -265,29 +265,29 @@
|
||||
roles:
|
||||
- driver-intel
|
||||
|
||||
- name: application-latex
|
||||
- name: latex
|
||||
hosts: latex
|
||||
become: true
|
||||
roles:
|
||||
- application-latex
|
||||
- latex
|
||||
|
||||
- name: GNOME setup
|
||||
hosts: gnome
|
||||
become: true
|
||||
roles:
|
||||
- desktop-gnome
|
||||
- pc-gnome
|
||||
|
||||
- name: setup msi rgb keyboard
|
||||
hosts: msi_perkeyrgb
|
||||
become: true
|
||||
roles:
|
||||
- application-msi-keyboard-color
|
||||
- driver-msi-keyboard-color
|
||||
|
||||
- name: setup ssh hosts
|
||||
hosts: ssh
|
||||
become: false
|
||||
roles:
|
||||
- client-ssh
|
||||
- pc-ssh
|
||||
|
||||
- name: setup swapfile hosts
|
||||
hosts: swapfile
|
||||
@ -299,13 +299,13 @@
|
||||
hosts: gaming
|
||||
become: true
|
||||
roles:
|
||||
- collection-games
|
||||
- pc-games
|
||||
|
||||
- name: setup entertainment hosts
|
||||
hosts: entertainment
|
||||
become: true
|
||||
roles:
|
||||
- collection-entertainment
|
||||
- pc-spotify
|
||||
|
||||
- name: setup multiprinter hosts
|
||||
hosts: epson_multiprinter
|
||||
@ -317,13 +317,13 @@
|
||||
hosts: torbrowser
|
||||
become: true
|
||||
roles:
|
||||
- desktop-torbrowser
|
||||
- pc-torbrowser
|
||||
|
||||
- name: setup nextcloud
|
||||
hosts: nextcloud_client
|
||||
become: true
|
||||
roles:
|
||||
- client-nextcloud
|
||||
- pc-nextcloud
|
||||
|
||||
- name: setup docker
|
||||
hosts: docker
|
||||
|
@ -1,3 +0,0 @@
|
||||
# application-latex
|
||||
|
||||
More packages you will find here: https://wiki.archlinux.org/title/TeX_Live
|
@ -1,2 +0,0 @@
|
||||
# Client SSH
|
||||
Setups SSH on the client side
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- collection-administrator-base
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- application-java
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- collection-administrator-base
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- application-java
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
@ -1,3 +0,0 @@
|
||||
dependencies:
|
||||
- desktop-libreoffice
|
||||
- collection-video-conference
|
@ -1,4 +0,0 @@
|
||||
# collection-video-conference
|
||||
|
||||
## further information
|
||||
It seems like the microsoft client is not supported nativly on linux anymore: https://aur.archlinux.org/packages/teams
|
@ -1,3 +0,0 @@
|
||||
# desktop-gnome
|
||||
## further information
|
||||
- https://askubuntu.com/questions/1029376/how-do-i-enable-and-disable-gnome-extensions-from-the-command-line
|
@ -1,3 +0,0 @@
|
||||
dependencies:
|
||||
- client-git
|
||||
- desktop-caffeine
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- application-hunspell
|
@ -1,4 +1,4 @@
|
||||
# Ansible Role: keyboard-color
|
||||
# Ansible Role: driver-msi-keyboard-color
|
||||
|
||||
Ansible role to set up dynamic keyboard color change on MSI laptops.
|
||||
|
30
roles/hunspell/tasks/README.md
Normal file
30
roles/hunspell/tasks/README.md
Normal file
@ -0,0 +1,30 @@
|
||||
# Hunspell
|
||||
|
||||
## Overview
|
||||
This README accompanies the Hunspell Playbook, located within the `computer-playbook` repository. The playbook is focused on installing Hunspell, a widely-used spell checker, along with various language packages to enhance its functionality.
|
||||
|
||||
## Playbook Contents
|
||||
The `main.yml` file in the `hunspell` role includes two primary tasks:
|
||||
|
||||
1. **Install Hunspell**: Utilizes the `community.general.pacman` module to ensure that the `hunspell` package is installed on the system.
|
||||
|
||||
2. **Install Hunspell Language Packages**: Again using the `community.general.pacman` module, this task installs multiple Hunspell language packages. The specific languages to be installed are determined by the `{{hunspell_languages}}` variable, which should be defined as a list of language codes.
|
||||
|
||||
## Purpose and Usage
|
||||
This playbook is tailored for users who need a powerful and flexible spell-checking tool on their systems. Hunspell is particularly popular among writers, editors, and developers who work with text in various languages. By automating the installation of Hunspell and its language-specific packages, this playbook simplifies the setup process, allowing users to quickly get up and running with an advanced spell-checking tool.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: This playbook requires Ansible to be installed on your system.
|
||||
- **Arch Linux or Similar**: Given the use of the `pacman` package manager, this playbook is designed for systems based on Arch Linux or similar distributions.
|
||||
|
||||
## How to Run the Playbook
|
||||
To utilize this playbook:
|
||||
1. Ensure you have cloned the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/hunspell` directory within the repository.
|
||||
3. Execute the playbook using Ansible, ensuring you provide a list of language codes to the `{{hunspell_languages}}` variable.
|
||||
|
||||
## Customization
|
||||
Users are encouraged to customize the `{{hunspell_languages}}` variable based on their specific language requirements. This variable accepts a list of language codes (e.g., 'en_US', 'de_DE').
|
||||
|
||||
## Support and Contributions
|
||||
For any support requests, suggestions, or contributions, please open an issue or a pull request in the `computer-playbook` repository. Contributions, especially those that enhance the playbook's functionality or extend its language support, are highly welcomed.
|
28
roles/java/README.md
Normal file
28
roles/java/README.md
Normal file
@ -0,0 +1,28 @@
|
||||
# Java
|
||||
|
||||
## Overview
|
||||
This README file is for the Java role, which is part of the `computer-playbook`. The role is specifically designed to automate the installation of Java on a system, focusing on the OpenJDK 11 version.
|
||||
|
||||
## Contents of the role
|
||||
The `main.yml` file within the `java` role consists of a single, but crucial task:
|
||||
|
||||
1. **Install Java**: This task uses the `community.general.pacman` module to install the `jdk11-openjdk` package. It ensures that Java Development Kit 11 (OpenJDK 11) is present on the system.
|
||||
|
||||
## Purpose
|
||||
The primary objective of this role is to provide a straightforward and efficient method for setting up Java, specifically JDK 11, on personal computers or development environments. This setup is essential for developers who work with Java or run applications that require the Java runtime environment.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: You need to have Ansible installed on your system to use this role.
|
||||
- **Arch Linux-based System**: The role uses the `pacman` package manager, indicating that it is intended for use on systems based on Arch Linux or its derivatives.
|
||||
|
||||
## Running the role
|
||||
To run this role:
|
||||
1. Clone the `computer-role` repository to your system.
|
||||
2. Navigate to the `roles/java` directory within the repository.
|
||||
3. Execute the role using Ansible. Make sure you have the necessary permissions to install packages on your system.
|
||||
|
||||
## Customization
|
||||
This role is focused on installing JDK 11, but it can be easily modified to install different versions of the JDK or additional Java-related tools as per your requirements.
|
||||
|
||||
## Support and Contribution
|
||||
For support, feedback, or contributions to the role, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the role or broaden its applicability are greatly appreciated.
|
36
roles/latex/readme.md
Normal file
36
roles/latex/readme.md
Normal file
@ -0,0 +1,36 @@
|
||||
# LaTeX Role
|
||||
|
||||
## Overview
|
||||
Welcome to the LaTeX role within the `computer-playbook` repository. It focuses on setting up a comprehensive LaTeX environment on Arch Linux-based systems, catering to the needs of users who require an advanced document preparation system.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file in this role automates the installation of key LaTeX packages:
|
||||
|
||||
1. **Install LaTeX Software**: This task uses the `community.general.pacman` module to install a range of LaTeX packages, ensuring a robust setup for LaTeX users. The packages include:
|
||||
- `texlive-latexextra`: Offers additional LaTeX packages.
|
||||
- `texlive-lang`: Provides language support.
|
||||
- `texlive-langextra`: Includes extra language packs.
|
||||
- `texlive-fontsextra`: Adds a comprehensive collection of fonts.
|
||||
- `texlive-most`: Ensures a broad coverage of LaTeX components.
|
||||
|
||||
## Purpose and Usage
|
||||
The LaTeX role is designed to streamline the installation of LaTeX on personal computers, particularly for users engaged in producing academic, scientific, or technical documentation. It is an essential tool for anyone who requires a full-fledged LaTeX environment for their documentation needs.
|
||||
|
||||
## Additional Information
|
||||
For an extensive list of available LaTeX packages and customization options, you can refer to the [TeX Live on ArchWiki](https://wiki.archlinux.org/title/TeX_Live).
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: You must have Ansible installed on your system to utilize this role.
|
||||
- **Arch Linux-based Systems**: Since this role uses the `pacman` package manager, it is tailored for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To execute this role:
|
||||
1. Ensure the `computer-playbook` repository is cloned to your system.
|
||||
2. Navigate to the `roles/latex` directory within the repository.
|
||||
3. Run the role using the appropriate Ansible commands.
|
||||
|
||||
## Customization
|
||||
You can customize this role by adjusting the list of LaTeX packages in `main.yml` to meet your specific needs.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, feel free to open an issue or a pull request in the `computer-playbook` repository. Contributions that enhance or extend the role's capabilities are always welcome.
|
39
roles/pc-administrator-tools/README.md
Normal file
39
roles/pc-administrator-tools/README.md
Normal file
@ -0,0 +1,39 @@
|
||||
# PC-Bluray-Player-Tools Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-bluray-player-tools` role, a part of the `computer-playbook` repository. This role is dedicated to setting up software required for Blu-ray playback on personal computers. It focuses on installing necessary packages to enable the use of Blu-ray media with VLC player and other compatible software.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file in this role consists of tasks that automate the installation of the following packages:
|
||||
1. **Install VLC and Blu-ray Software**:
|
||||
- `vlc`: A versatile media player that supports Blu-ray playback.
|
||||
- `libaacs`: A library for Blu-ray disc encryption handling.
|
||||
- `libbluray`: A library for Blu-ray disc playback support.
|
||||
|
||||
There are commented-out tasks for installing additional AUR packages, such as `aacskeys` and `libbdplus`, which can be enabled as per the user's requirements.
|
||||
|
||||
## Further Information and Resources
|
||||
For more in-depth information and guidance on Blu-ray playback and software configuration, the following resources can be consulted:
|
||||
- [Arch Linux Wiki on Blu-ray](https://wiki.archlinux.org/title/Blu-ray#Using_aacskeys)
|
||||
- [Guide to Play Blu-ray with VLC](https://videobyte.de/play-blu-ray-with-vlc)
|
||||
- [Manjaro Forum Discussion on Blu-ray UHD Playback](https://archived.forum.manjaro.org/t/wie-kann-ich-bluray-uhd-abspielen/127396/12)
|
||||
- [FV Online DB](http://fvonline-db.bplaced.net/)
|
||||
|
||||
## Dependencies
|
||||
This role depends on the `java` role, which ensures the Java runtime is available – a requirement for certain Blu-ray playback tools and functionalities.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Ansible must be installed on your system to use this role.
|
||||
- **Arch Linux-based System**: Designed for Arch Linux distributions, using the `pacman` package manager.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-bluray-player-tools` directory.
|
||||
3. Execute the role using Ansible, with appropriate permissions for installing packages.
|
||||
|
||||
## Customization
|
||||
You can customize this role by enabling or adding additional tasks for other AUR packages related to Blu-ray playback as needed.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions to enhance the role's capabilities, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve Blu-ray playback support or compatibility are highly appreciated.
|
@ -1,2 +1,2 @@
|
||||
dependencies:
|
||||
- client-git
|
||||
- pc-git
|
@ -1,2 +1,2 @@
|
||||
dependencies:
|
||||
- client-git
|
||||
- java
|
36
roles/pc-designer-tools/README.md
Normal file
36
roles/pc-designer-tools/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# PC-Designer-Tools Role
|
||||
|
||||
## Overview
|
||||
This README is associated with the `pc-designer-tools` role, part of the `computer-playbook` 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 `pc-designer-tools` 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:
|
||||
- **system-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 `pc-designer-tools` 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 `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-designer-tools` 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 `computer-playbook` repository. Contributions that enhance the role for designers are greatly appreciated.
|
38
roles/pc-developer-tools-arduino/README.md
Normal file
38
roles/pc-developer-tools-arduino/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
# PC-Developer-Tools-Arduino Role
|
||||
|
||||
## Overview
|
||||
This README file is for the `pc-developer-tools-arduino` role, a specialized component of the `computer-playbook` repository. This role is specifically crafted for setting up Arduino development tools on personal computers.
|
||||
|
||||
## Role Details
|
||||
The `main.yml` file in the `pc-developer-tools-arduino` role encompasses tasks crucial for Arduino developers:
|
||||
|
||||
1. **Install Arduino Developer Tools**:
|
||||
- This task employs the `community.general.pacman` module to install:
|
||||
- `arduino`: The Arduino IDE, which is an open-source electronics platform based on easy-to-use hardware and software.
|
||||
- `arduino-docs`: Documentation for Arduino, providing essential information for development.
|
||||
|
||||
2. **Adding User to Relevant Arduino Usergroups**:
|
||||
- This task modifies the user (specified by `{{client_username}}`) to be added to the `uucp` and `lock` groups, which is necessary for accessing serial ports on Linux systems.
|
||||
|
||||
## Dependencies
|
||||
The role depends on:
|
||||
- **pc-developer-tools**: Ensures that base developer tools, including code editors and related software, are installed and configured.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-developer-tools-arduino` role is tailored for developers and hobbyists who work with Arduino boards and need a reliable and efficient setup for their development environment. This role simplifies the process of installing and configuring the Arduino IDE and associated documentation, along with setting up necessary user permissions.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required for executing this role.
|
||||
- **Arch Linux-based System**: The role uses `pacman`, indicating it is designed for Arch Linux-based distributions.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-developer-tools-arduino` directory.
|
||||
3. Execute the role using Ansible, ensuring you replace `{{client_username}}` with the actual username and have the necessary system permissions.
|
||||
|
||||
## Customization
|
||||
This role can be customized to include additional Arduino-related packages or tools, depending on the user's requirements.
|
||||
|
||||
## Support and Contributions
|
||||
For support, suggestions, or contributions (like adding more Arduino-related tools or improving the setup), please raise an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the Arduino development environment setup are highly encouraged.
|
2
roles/pc-developer-tools-arduino/meta/main.yml
Normal file
2
roles/pc-developer-tools-arduino/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
34
roles/pc-developer-tools-bash/README.md
Normal file
34
roles/pc-developer-tools-bash/README.md
Normal file
@ -0,0 +1,34 @@
|
||||
# PC-Developer-Tools-Bash Role
|
||||
|
||||
## Overview
|
||||
This README accompanies the `pc-developer-tools-bash` role within the `computer-playbook` repository. This role is dedicated to equipping personal computers with essential tools for Bash scripting and development.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file under the `pc-developer-tools-bash` role includes tasks focused on installing Bash development tools:
|
||||
|
||||
1. **Install Bash Developer Tools**:
|
||||
- This task leverages the `community.general.pacman` module to install:
|
||||
- `shellcheck`: A static analysis tool for shell scripts, which helps in identifying and correcting common errors or issues in Bash scripts.
|
||||
|
||||
## Dependencies
|
||||
This role is dependent on:
|
||||
- **pc-developer-tools**: Ensures that foundational developer tools are in place, providing a base environment for further specialized toolsets like Bash development tools.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-developer-tools-bash` role is specifically tailored for developers who frequently work with Bash scripting. ShellCheck, the main tool installed by this role, is invaluable for writing robust, error-free shell scripts. This role is ideal for system administrators, DevOps professionals, and anyone involved in script-based automation or Linux-based development.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: You need to have Ansible installed on your system to use this role.
|
||||
- **Arch Linux-based System**: The role utilizes `pacman`, thus it is best suited for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To execute this role:
|
||||
1. Clone the `computer-playbook` repository to your machine.
|
||||
2. Navigate to the `roles/pc-developer-tools-bash` directory within the repository.
|
||||
3. Run the role using Ansible, ensuring you have the necessary permissions to install software packages.
|
||||
|
||||
## Customization
|
||||
The role can be customized by adding additional Bash development tools or utilities as per the user's requirements in the `main.yml` file.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions (like adding more tools relevant to Bash development or enhancing the setup), please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the Bash development environment are highly appreciated.
|
2
roles/pc-developer-tools-bash/meta/main.yml
Normal file
2
roles/pc-developer-tools-bash/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
29
roles/pc-developer-tools-java/README.md
Normal file
29
roles/pc-developer-tools-java/README.md
Normal file
@ -0,0 +1,29 @@
|
||||
# PC-Developer-Tools-Java Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-developer-tools-java` role, a part of the `computer-playbook` repository. This role is specifically designed for setting up Java development tools on personal computers. It is an essential component for Java developers, providing the necessary tools and dependencies for efficient Java development.
|
||||
|
||||
## Role Dependencies
|
||||
This role has dependencies on two other roles within the playbook:
|
||||
1. **Java**: Ensures that Java, specifically the JDK (Java Development Kit), is installed and configured on the system. This is a critical prerequisite for running and developing Java applications.
|
||||
2. **PC-Developer-Tools**: Establishes a base environment of developer tools which might include code editors, version control systems, and other utilities beneficial for a broad range of development activities.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-developer-tools-java` role is tailored to meet the needs of Java developers by ensuring that their systems are equipped with all necessary Java-specific tools. This role is particularly useful for software engineers, application developers, and students working with Java.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: You must have Ansible installed on your system to use this role.
|
||||
- **Appropriate Operating System**: While the role itself doesn't specify system requirements, the dependencies, especially the Java role, may be tailored for specific distributions like Arch Linux. Ensure your system is compatible with these requirements.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Ensure the `computer-playbook` repository is cloned to your machine.
|
||||
2. Verify that the dependencies (`java` and `pc-developer-tools`) are correctly set up and configured in your playbook.
|
||||
3. Navigate to the directory containing the `pc-developer-tools-java` role.
|
||||
4. Execute the role using Ansible. Ensure that you have the appropriate permissions and environment for installing and configuring the development tools.
|
||||
|
||||
## Customization
|
||||
You may customize this role by adding additional Java development tools or adjusting configurations to better suit your specific development needs.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions to this role, such as adding more Java-related tools or enhancing the setup process, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the Java development environment setup are highly encouraged.
|
3
roles/pc-developer-tools-java/meta/main.yml
Normal file
3
roles/pc-developer-tools-java/meta/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- java
|
||||
- pc-developer-tools
|
34
roles/pc-developer-tools-php/README.md
Normal file
34
roles/pc-developer-tools-php/README.md
Normal file
@ -0,0 +1,34 @@
|
||||
# PC-Developer-Tools-PHP Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-developer-tools-php` role within the `computer-playbook` repository. This role is specifically designed to facilitate the setup of PHP development tools on personal computing environments.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file under the `pc-developer-tools-php` role is centered around the installation of essential PHP development tools:
|
||||
|
||||
1. **Install PHP Developer Tools**:
|
||||
- The task uses the `community.general.pacman` module to install:
|
||||
- `php`: The PHP language package, which is a popular general-purpose scripting language especially suited to web development.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **pc-developer-tools**: Ensures that basic developer tools, which may include code editors, version control systems, and other common development utilities, are installed and available.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-developer-tools-php` role is tailored for web developers and programmers who work with PHP. By automating the installation of PHP, this role streamlines the setup process, making it easier for developers to start working on PHP-based projects or running PHP applications.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required for running this role.
|
||||
- **Arch Linux-based System**: Given that the role uses the `pacman` package manager, it is most suitable for systems based on Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To use this role:
|
||||
1. Clone the `computer-playbook` repository to your system.
|
||||
2. Navigate to the `roles/pc-developer-tools-php` directory within the repository.
|
||||
3. Run the role using Ansible, ensuring you have the necessary permissions for installing packages.
|
||||
|
||||
## Customization
|
||||
This role can be customized by adding more PHP-related packages or tools, depending on the specific needs of the user or the project.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding additional tools for PHP development or enhancing the existing setup, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the PHP development environment are highly welcomed.
|
2
roles/pc-developer-tools-php/meta/main.yml
Normal file
2
roles/pc-developer-tools-php/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
34
roles/pc-developer-tools-python/README.md
Normal file
34
roles/pc-developer-tools-python/README.md
Normal file
@ -0,0 +1,34 @@
|
||||
# PC-Developer-Tools-Python Role
|
||||
|
||||
## Overview
|
||||
This README accompanies the `pc-developer-tools-python` role, which is part of the `computer-playbook` repository. The role is dedicated to setting up Python development tools on personal computers.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file under the `pc-developer-tools-python` role includes the following task:
|
||||
|
||||
1. **Install Python Developer Tools**:
|
||||
- The task employs the `community.general.pacman` module to install:
|
||||
- `python`: The Python programming language package, essential for development in Python, one of the most popular and widely used programming languages today.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **pc-developer-tools**: This ensures that basic developer tools, potentially including code editors, version control systems, and other utilities common in development environments, are already installed.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-developer-tools-python` role is specifically designed for developers who work with Python. Whether you are a beginner learning Python, a data scientist using Python for analysis, or a web developer creating applications in Python, this role provides the foundational Python package necessary for such activities.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Ansible must be installed on your system to run this role.
|
||||
- **Arch Linux-based System**: Since the role utilizes the `pacman` package manager, it is tailored for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To use this role:
|
||||
1. Clone the `computer-playbook` repository to your machine.
|
||||
2. Navigate to the `roles/pc-developer-tools-python` directory within the repository.
|
||||
3. Execute the role using Ansible, ensuring you have the appropriate permissions to install software packages.
|
||||
|
||||
## Customization
|
||||
You can customize this role by adding more Python-related tools, libraries, or frameworks to suit your specific development needs.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding additional Python development tools or enhancing the existing setup, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the Python development environment are highly encouraged.
|
2
roles/pc-developer-tools-python/meta/main.yml
Normal file
2
roles/pc-developer-tools-python/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
34
roles/pc-developer-tools/README.md
Normal file
34
roles/pc-developer-tools/README.md
Normal file
@ -0,0 +1,34 @@
|
||||
# PC-Developer-Tools Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-developer-tools` role within the `computer-playbook` repository. The role is designed to streamline the setup of essential development tools on personal computers, particularly for software development environments.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file under the `pc-developer-tools` role includes tasks focused on the installation of key development tools:
|
||||
|
||||
1. **Install Base Developer Tools**:
|
||||
- This task uses the `community.general.pacman` module to install:
|
||||
- `code`: Visual Studio Code (VS Code), a powerful and popular open-source code editor that is highly customizable and supports a wide range of programming languages.
|
||||
|
||||
## Dependencies
|
||||
This role relies on:
|
||||
- **pc-administrator-tools**: Ensures that core administrative tools are installed, which can be essential for various development tasks.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-developer-tools` role is tailored for developers who need a quick and efficient setup of a development environment on their personal computer. It is particularly useful for programmers, software engineers, and anyone involved in software development who prefers a streamlined and efficient workflow.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required to run this role.
|
||||
- **Arch Linux-based System**: The role is designed with the `pacman` package manager in mind, thus it is best suited for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-developer-tools` directory.
|
||||
3. Run the role using Ansible, making sure you have the necessary privileges for package installation.
|
||||
|
||||
## Customization
|
||||
Users can customize this role by adding more development tools or editors according to their specific needs in the `main.yml` file.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions (such as adding more developer tools or enhancing the existing setup), please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the development environment setup are highly welcomed.
|
2
roles/pc-developer-tools/meta/main.yml
Normal file
2
roles/pc-developer-tools/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-administrator-tools
|
38
roles/pc-games/README.md
Normal file
38
roles/pc-games/README.md
Normal file
@ -0,0 +1,38 @@
|
||||
# PC-Games Role
|
||||
|
||||
## Overview
|
||||
This README is for the `pc-games` role, a part of the `computer-playbook` repository. This role is designed to install a variety of popular open-source and freely available games on personal computers.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file within the `pc-games` role automates the installation of several gaming titles using the `community.general.pacman` module. The games included are:
|
||||
|
||||
1. **Install Gaming Software**:
|
||||
- `0ad`: A free, open-source, historical real-time strategy (RTS) game.
|
||||
- `warzone2100`: A 3D RTS game set in a post-apocalyptic future.
|
||||
- `supertuxkart`: A free 3D kart racing game.
|
||||
- `gnuchess`: The GNU chess program.
|
||||
- `sauerbraten`: A first-person shooter game.
|
||||
- `minetest`: An open-source voxel game engine with easy modding and game creation.
|
||||
- `mari0`: A crossover between Super Mario and Portal.
|
||||
- `retroarch`: A frontend for emulators, game engines, and media players.
|
||||
- `retroarch-assets-xmb`: XMB menu assets for RetroArch.
|
||||
- `retroarch-assets-ozone`: Ozone menu assets for RetroArch.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-games` role is perfect for gamers who wish to have a variety of gaming experiences on their personal computer. It includes a range of games from different genres, providing options for players with diverse interests. The role is also suitable for setting up a gaming environment on new systems or restoring a collection of games after a system refresh.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: You must have Ansible installed on your system to use this role.
|
||||
- **Arch Linux-based System**: This role uses the `pacman` package manager, indicating it is designed for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-games` directory.
|
||||
3. Execute the role using Ansible, ensuring you have the necessary permissions for software installation.
|
||||
|
||||
## Customization
|
||||
You can customize this role by adding or removing games in the `main.yml` file based on your preferences or the requirements of your system.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more games or enhancing the setup process, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that expand the gaming options or improve the installation process are highly welcomed.
|
33
roles/pc-git/README.md
Normal file
33
roles/pc-git/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# PC-Git Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-git` role documentation, part of the `computer-playbook` repository. This role is focused on setting up Git, a widely-used version control system, on personal computers. The role includes tasks for installing Git and configuring global user details.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file in the `pc-git` role consists of the following key tasks:
|
||||
|
||||
1. **Set Git User Email**: Uses the `ansible.builtin.shell` module to set the global Git user email to a specified value (`{{user_email}}`).
|
||||
|
||||
2. **Set Git User Name**: Similar to the above, this task sets the global Git user name (`{{user_full_name}}`) using the `ansible.builtin.shell` module.
|
||||
|
||||
3. **Install Git**: Employs the `community.general.pacman` module to install the Git package, ensuring it's present on the system.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-git` role is essential for developers, IT professionals, and anyone who needs to utilize version control for their projects. It automates the installation of Git and the initial configuration of user identity, which is crucial for committing changes and collaborating on projects using Git.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Must be installed on your system to use this role.
|
||||
- **Arch Linux-based System**: This role uses the `pacman` package manager, making it suitable 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-git` directory.
|
||||
3. Make sure to define the `user_email` and `user_full_name` variables before running the role.
|
||||
4. Execute the role using Ansible, ensuring you have the required permissions for software installation and configuration.
|
||||
|
||||
## Customization
|
||||
You can customize this role by modifying the variables for user email and name or by adding additional Git configuration tasks as needed.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions to this role, such as adding more Git-related configurations or tools, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance Git setup and configuration are highly encouraged.
|
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
|
39
roles/pc-libreoffice/README.md
Normal file
39
roles/pc-libreoffice/README.md
Normal file
@ -0,0 +1,39 @@
|
||||
# PC-LibreOffice Role
|
||||
|
||||
## Overview
|
||||
This README is for the `pc-libreoffice` role, part of the `computer-playbook` repository. This role focuses on installing LibreOffice, a powerful and free office suite, along with necessary fonts and language packages.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file under the `pc-libreoffice` role includes tasks for installing LibreOffice and its components:
|
||||
|
||||
1. **Install LibreOffice**:
|
||||
- Uses the `community.general.pacman` module to install:
|
||||
- `ttf-liberation`: A font package that includes Liberation fonts, often used in LibreOffice documents.
|
||||
- `libreoffice-still`: The stable version of the LibreOffice suite.
|
||||
|
||||
2. **Install LibreOffice Language Packages**:
|
||||
- Installs various language packs for LibreOffice, allowing for multi-language support. The languages to be installed are determined by the `{{libreoffice_languages}}` variable.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **hunspell**: Ensures that Hunspell, a spell checker used by LibreOffice for many languages, is installed.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-libreoffice` role is ideal for users who need a comprehensive, free office suite for personal or professional use. It's particularly useful for setting up a new system or ensuring that all necessary office software is present and properly configured.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Must be installed to use this role.
|
||||
- **Arch Linux-based System**: The role uses the `pacman` package manager, making it suitable 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-libreoffice` directory.
|
||||
3. Define the `libreoffice_languages` variable with the desired language codes.
|
||||
4. Run the role using Ansible, ensuring you have the necessary permissions for software installation.
|
||||
|
||||
## Customization
|
||||
You can customize this role by adjusting the `libreoffice_languages` variable to include the language packs you need, or by adding additional LibreOffice-related packages as required.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more functionality or enhancing the existing setup, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the LibreOffice setup and user experience are highly welcomed.
|
2
roles/pc-libreoffice/meta/main.yml
Normal file
2
roles/pc-libreoffice/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- hunspell
|
36
roles/pc-network-analyze-tools/README.md
Normal file
36
roles/pc-network-analyze-tools/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# PC-Network-Analyze-Tools Role
|
||||
|
||||
## Overview
|
||||
This README accompanies the `pc-network-analyze-tools` role within the `computer-playbook` repository. This role is dedicated to installing key network analysis tools on personal computers.
|
||||
|
||||
## Role Contents
|
||||
The `main.yml` file in the `pc-network-analyze-tools` role includes tasks for installing essential network analysis tools:
|
||||
|
||||
1. **Install Administrator Network Analyze Tools**:
|
||||
- Utilizes the `community.general.pacman` module to install:
|
||||
- `traceroute`: A network diagnostic tool for tracing the path that an IP packet follows to reach its destination.
|
||||
- `wireshark-qt`: The Qt-based graphical interface for Wireshark, a network protocol analyzer.
|
||||
- `wireshark-cli`: The command-line interface for Wireshark.
|
||||
|
||||
## Dependencies
|
||||
This role relies on:
|
||||
- **pc-administrator-tools**: Ensures that essential administrative tools, likely needed alongside network analysis tools, are installed.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-network-analyze-tools` role is tailored for network administrators, IT professionals, security analysts, and anyone who needs to analyze or troubleshoot network issues. These tools provide capabilities for detailed network packet inspection, route tracing, and understanding network performance issues.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required to run this role.
|
||||
- **Arch Linux-based System**: The role uses the `pacman` package manager, indicating it is designed for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-network-analyze-tools` directory.
|
||||
3. Run the role using Ansible, making sure you have the necessary permissions for software installation.
|
||||
|
||||
## Customization
|
||||
You can customize this role by adding or removing network analysis tools in the `main.yml` file, based on your specific needs or preferences.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more tools or enhancing the current setup, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the network analysis capabilities of this role are highly encouraged.
|
2
roles/pc-network-analyze-tools/meta/main.yml
Normal file
2
roles/pc-network-analyze-tools/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-administrator-tools
|
41
roles/pc-nextcloud/README.md
Normal file
41
roles/pc-nextcloud/README.md
Normal file
@ -0,0 +1,41 @@
|
||||
# PC-Nextcloud Role
|
||||
|
||||
## Overview
|
||||
This README details the `pc-nextcloud` role, part of the `computer-playbook` repository. This role focuses on setting up the Nextcloud client on personal computers and configuring directory synchronization.
|
||||
|
||||
## Role Variables
|
||||
The `vars/main.yml` file defines key variables used in this role:
|
||||
- `user_home_directory`: The home directory of the user, typically `/home/{{client_username}}/`.
|
||||
- `cloud_directory`: The directory path for Nextcloud cloud storage, structured as `{{user_home_directory}}Clouds/{{cloud_fqdn}}/{{client_username}}/`.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file in the `pc-nextcloud` role comprises the following tasks:
|
||||
|
||||
1. **Install Nextcloud-Client**:
|
||||
- Installs the Nextcloud desktop client using the `community.general.pacman` module.
|
||||
|
||||
2. **Link Homefolders to Cloud**:
|
||||
- Creates symbolic links from various user directories (like Templates, Documents, Videos, etc.) to corresponding folders in the Nextcloud cloud directory. This ensures synchronization of these folders with the user's Nextcloud account.
|
||||
|
||||
3. **Link Dump Folder**:
|
||||
- Specifically links a `Dump` folder in the user's home directory to the `InstantUpload` folder in the Nextcloud cloud directory for easy file dumping and syncing.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-nextcloud` role is designed for users who want to integrate Nextcloud, a cloud storage service, into their daily workflow. This role automates the installation of the Nextcloud client and the setup of directory synchronization, making files and documents easily accessible and syncable across devices.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required for running this role.
|
||||
- **Arch Linux-based System**: Since the role uses the `pacman` package manager, it's tailored 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-nextcloud` directory.
|
||||
3. Ensure that the `client_username` and `cloud_fqdn` variables are correctly set to match your Nextcloud account details.
|
||||
4. Execute the role using Ansible, ensuring appropriate permissions are available for installations and configurations.
|
||||
|
||||
## Customization
|
||||
You can customize this role by modifying the variables in `vars/main.yml` and adjusting the directories in the linking tasks to suit your specific Nextcloud setup and preferences.
|
||||
|
||||
## Support and Contributions
|
||||
For support, suggestions, or contributions, such as adding additional features or improving the setup, open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the integration and usability of Nextcloud on personal computers are highly welcome.
|
39
roles/pc-office/README.md
Normal file
39
roles/pc-office/README.md
Normal file
@ -0,0 +1,39 @@
|
||||
# PC-Office Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-office` role, a component of the `computer-playbook` 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 `pc-office` 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:
|
||||
- `chromium`: A free and open-source web browser.
|
||||
- `shutter`: A feature-rich screenshot tool.
|
||||
- `thunderbird`: A free and open-source email client, news client, RSS, and chat client.
|
||||
- `calibre`: An e-book management software.
|
||||
- `retext`: A simple but powerful editor for Markdown and reStructuredText.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **pc-libreoffice**: Ensures that the LibreOffice suite, a comprehensive office package, is installed.
|
||||
- **pc-video-conference**: Provides tools necessary for video conferencing, supplementing the office setup.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-office` 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.
|
||||
- **Arch Linux-based System**: As the role uses the `pacman` package manager, it's intended for systems based on Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-office` directory.
|
||||
3. Run 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, depending on your specific office and productivity needs.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more office tools or enhancing the current setup, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the office and productivity environment are highly welcomed.
|
3
roles/pc-office/meta/main.yml
Normal file
3
roles/pc-office/meta/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- pc-libreoffice
|
||||
- pc-video-conference
|
33
roles/pc-qbittorrent/README.md
Normal file
33
roles/pc-qbittorrent/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# PC-QBittorrent Role
|
||||
|
||||
## Overview
|
||||
This README is for the `pc-qbittorrent` role within the `computer-playbook` repository. This role is specifically crafted for installing qBittorrent, a popular open-source torrent client, on personal computers.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file in the `pc-qbittorrent` role includes the following task:
|
||||
|
||||
1. **Install Torrent Software**:
|
||||
- This task uses the `kewlfft.aur.aur` module with `yay` as the AUR helper to install `qbittorrent`, a widely-used, free, and easy-to-use torrent client.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **system-aur-helper**: Ensures that an Arch User Repository (AUR) helper is installed, which is necessary for installing packages like `qbittorrent` that are not available in the standard repositories.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-qbittorrent` role is tailored for users who require a reliable and user-friendly torrent client for downloading and sharing files via the BitTorrent protocol. qBittorrent is known for its balance of features, simplicity, and minimal impact on system resources.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required for running this role.
|
||||
- **Arch Linux-based System**: The role is designed with Arch Linux distributions in mind, leveraging AUR helpers for package installation.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-qbittorrent` directory.
|
||||
3. Execute the role using Ansible, ensuring you have the required system permissions for package installation.
|
||||
|
||||
## Customization
|
||||
This role is primarily focused on installing qBittorrent, but it can be customized to include additional configurations or related software packages as needed.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as enhancing the role or adding additional torrent-related functionality, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the usability or features of qBittorrent within this role are highly appreciated.
|
32
roles/pc-security-tools/README.md
Normal file
32
roles/pc-security-tools/README.md
Normal file
@ -0,0 +1,32 @@
|
||||
# PC-Security-Tools Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-security-tools` role, a part of the `computer-playbook` repository. This role is designed to equip personal computers with essential tools for enhancing data security and privacy.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file within the `pc-security-tools` role encompasses tasks for installing key security software:
|
||||
|
||||
1. **Install Security Tools**:
|
||||
- Utilizes the `community.general.pacman` module to install a range of security tools, including:
|
||||
- `ecryptfs-utils`: Utilities for the enterprise cryptographic filesystem for Linux.
|
||||
- `encfs`: An encrypted filesystem that runs in userspace.
|
||||
- `keepassxc`: A free and open-source password manager that securely stores passwords and other sensitive data.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-security-tools` role is crucial for users who prioritize data security and privacy. It provides tools for encrypting files and directories, ensuring that sensitive data is protected. KeePassXC is particularly useful for managing passwords securely, an essential aspect of personal cybersecurity.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Must be installed on your system to run this role.
|
||||
- **Arch Linux-based System**: Since the role uses the `pacman` package manager, it's best suited 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-security-tools` directory.
|
||||
3. Run the role using Ansible, making sure you have the necessary permissions for software installation.
|
||||
|
||||
## Customization
|
||||
This role can be customized by adding or removing security-related software packages in the `main.yml` file, depending on your specific security needs or preferences.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more security tools or enhancing the existing setup, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the security tools setup and user experience are highly encouraged.
|
33
roles/pc-spotify/README.md
Normal file
33
roles/pc-spotify/README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# PC-Spotify Role
|
||||
|
||||
## Overview
|
||||
This README is for the `pc-spotify` role, part of the `computer-playbook` repository. This role is dedicated to installing Spotify, a popular digital music streaming service, on personal computers.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file in the `pc-spotify` role includes the following task:
|
||||
|
||||
1. **Install Entertainment Software**:
|
||||
- Utilizes the `kewlfft.aur.aur` module with `yay` as the AUR helper to install `spotify`. Spotify offers streaming of millions of songs, podcasts, and videos from artists all around the world.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **system-aur-helper**: Ensures that an Arch User Repository (AUR) helper is available, which is necessary for installing packages like `spotify` that are not available in the standard repositories.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-spotify` role is tailored for users who enjoy streaming music and wish to have Spotify readily available on their personal computer. This role simplifies the process of installing Spotify, making it accessible for listening to music, podcasts, and more.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required for running this role.
|
||||
- **Arch Linux-based System**: The role is designed for systems that use the `pacman` package manager and AUR helpers, typically found in Arch Linux distributions.
|
||||
|
||||
## Running the Role
|
||||
To use this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-spotify` directory.
|
||||
3. Execute the role using Ansible, ensuring you have the necessary system permissions for package installation.
|
||||
|
||||
## Customization
|
||||
While this role is primarily focused on installing Spotify, it can be customized to include additional entertainment or media software as per user requirements.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding more features or enhancing the role, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve the entertainment software setup, including Spotify, are highly welcomed.
|
38
roles/pc-ssh/Readme.md
Normal file
38
roles/pc-ssh/Readme.md
Normal file
@ -0,0 +1,38 @@
|
||||
# PC-SSH Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-ssh` role, a critical component of the `computer-playbook` repository. This role is dedicated to setting up SSH (Secure Shell) on the client side, facilitating secure access to remote servers.
|
||||
|
||||
## Role Description
|
||||
The `pc-ssh` role includes tasks to pull and update SSH configuration from a specified repository and handle potential errors:
|
||||
|
||||
1. **Pull SSH Repository**:
|
||||
- Clones or updates the SSH configuration from a given repository (`{{ssh_configuration_repository}}`) into the `$HOME/.ssh` directory. This task ensures that your SSH configuration is synchronized with the specified repository.
|
||||
|
||||
2. **Warn if Repo is Not Reachable**:
|
||||
- Displays a warning message if the SSH configuration repository is not reachable, indicating potential issues with the repository's availability or the network connection.
|
||||
|
||||
## Dependencies
|
||||
This role depends on:
|
||||
- **pc-git**: Ensures that Git is installed, which is necessary for cloning and updating the SSH configuration repository.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-ssh` role is designed for users who require SSH access to remote servers, such as developers, system administrators, or IT professionals. By automating the SSH configuration process, this role streamlines the setup and ensures a consistent and secure SSH environment.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Must be installed to run this role.
|
||||
- **Git**: Required for cloning and updating the SSH configuration repository.
|
||||
- **Arch Linux-based System**: While not explicitly stated, the role's compatibility with specific systems depends on the dependencies and the overall playbook configuration.
|
||||
|
||||
## Running the Role
|
||||
To use this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-ssh` directory.
|
||||
3. Define the `ssh_configuration_repository` variable with the URL of your SSH configuration repository.
|
||||
4. Run the role using Ansible, ensuring you have the necessary permissions for executing the tasks.
|
||||
|
||||
## Customization
|
||||
You can customize this role by modifying the SSH configuration repository URL or by adding additional SSH-related tasks as needed.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as enhancing the SSH setup or adding more features, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that improve SSH configuration and usage are highly encouraged.
|
2
roles/pc-ssh/meta/main.yml
Normal file
2
roles/pc-ssh/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- pc-git
|
30
roles/pc-streaming-tools/Readme.md
Normal file
30
roles/pc-streaming-tools/Readme.md
Normal file
@ -0,0 +1,30 @@
|
||||
# PC-Streaming-Tools Role
|
||||
|
||||
## Overview
|
||||
This README is associated with the `pc-streaming-tools` role, part of the `computer-playbook` 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 `pc-streaming-tools` 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 `pc-streaming-tools` 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 `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-streaming-tools` 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 `computer-playbook` repository. Contributions that enhance the streaming capabilities of this role are highly welcome.
|
31
roles/pc-torbrowser/README.md
Normal file
31
roles/pc-torbrowser/README.md
Normal file
@ -0,0 +1,31 @@
|
||||
# PC-TorBrowser Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-torbrowser` role, a crucial component of the `computer-playbook` repository. This role is specifically designed for the installation and setup of Tor Browser on personal computers.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file under the `pc-torbrowser` role encompasses tasks for installing the Tor Browser:
|
||||
|
||||
1. **Install TorBrowser**:
|
||||
- Utilizes the `community.general.pacman` module to install:
|
||||
- `tor`: The core Tor service which facilitates anonymous communication.
|
||||
- `torbrowser-launcher`: A package for securely and easily launching the Tor Browser.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-torbrowser` role is tailored for users who value privacy and anonymity online. The Tor Browser is a specialized web browser that provides enhanced privacy features, making it an essential tool for secure browsing and accessing the deep web.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Must be installed on your system to run this role.
|
||||
- **Arch Linux-based System**: As the role uses the `pacman` package manager, it's best suited 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-torbrowser` directory.
|
||||
3. Run the role using Ansible, ensuring you have the necessary permissions for software installation.
|
||||
|
||||
## Customization
|
||||
While this role primarily focuses on installing Tor and the Tor Browser Launcher, you can customize it to include additional privacy-focused tools or configurations based on your needs.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as enhancing the role with more privacy tools or improving the installation process, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the privacy and security aspects of this role are highly encouraged.
|
36
roles/pc-video-conference/README.md
Normal file
36
roles/pc-video-conference/README.md
Normal file
@ -0,0 +1,36 @@
|
||||
# PC-Video-Conference Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-video-conference` role documentation, a part of the `computer-playbook` repository. This role is focused on installing video conferencing software on Linux systems, specifically tailored for personal use and remote work requirements.
|
||||
|
||||
## Role Tasks
|
||||
The `main.yml` file in the `pc-video-conference` role includes tasks for setting up video conferencing tools:
|
||||
|
||||
1. **Install Video Conference Software**:
|
||||
- Utilizes the `kewlfft.aur.aur` module with `yay` as the helper to install `zoom`, a popular video conferencing application.
|
||||
|
||||
## Further Information
|
||||
- As noted, the Microsoft Teams client is no longer natively supported on Linux. For more information and potential workarounds, you can visit the [AUR package page for Teams](https://aur.archlinux.org/packages/teams).
|
||||
|
||||
## Dependencies
|
||||
This role relies on:
|
||||
- **system-aur-helper**: Ensures that an Arch User Repository (AUR) helper is installed, necessary for installing software like Zoom which may not be available in standard repositories.
|
||||
|
||||
## Purpose and Usage
|
||||
The `pc-video-conference` role is particularly useful for professionals, educators, and anyone who needs reliable video conferencing capabilities on their Linux system. With the increasing demand for remote communication, this role provides an efficient way to set up key video conferencing tools.
|
||||
|
||||
## Prerequisites
|
||||
- **Ansible**: Required to run this role.
|
||||
- **Arch Linux-based System**: Given the use of `yay` and AUR, this role is designed for Arch Linux or similar distributions.
|
||||
|
||||
## Running the Role
|
||||
To utilize this role:
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-video-conference` directory.
|
||||
3. Run the role using Ansible, ensuring you have appropriate system permissions for software installation.
|
||||
|
||||
## Customization
|
||||
You can customize this role by adding or modifying the video conferencing tools installed. For example, if there's a need for other applications like Skype or Google Meet, these can be included in the task list.
|
||||
|
||||
## Support and Contributions
|
||||
For support, feedback, or contributions, such as adding support for additional video conferencing tools or improving existing configurations, please open an issue or submit a pull request in the `computer-playbook` repository. Contributions that enhance the role's functionality are highly welcome.
|
@ -1,4 +1,4 @@
|
||||
# desktop-virtual-box
|
||||
# pc-virtual-box
|
||||
|
||||
```bash
|
||||
sudo pacman -S virtualbox "$(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-virtualbox-host-modules"}' ORS=' ')" &&
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user