mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2024-11-24 13:41:03 +01:00
Compare commits
No commits in common. "57f4c8f71279f2f185d8974c82e513548de913fc" and "5a7a6e5d2b9783cc5cd0e0a7225499a7c2d4705c" have entirely different histories.
57f4c8f712
...
5a7a6e5d2b
246
README.md
246
README.md
@ -1,209 +1,83 @@
|
||||
# CyMaIS - Cyber Master Infrastructure Solution
|
||||
# Computer Playbook
|
||||
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
|
||||
|
||||
## Solution Overview
|
||||
<img src="https://cybermaster.space/wp-content/uploads/sites/7/2023/12/logo_cymais.png" width="300" style="float: right; margin-left: 10px;">
|
||||
Ansible software to setup and administrate applications and docker images on Linux computers.
|
||||
|
||||
CyMaIS, powered by Ansible, is designed to streamline the setup and administration of a wide range of applications and Docker images on Linux-based systems.
|
||||
With this tool you can setup all of the following application on bare metal servers and personal computers
|
||||
|
||||
It's a versatile tool for configuring both bare metal servers and personal computers, offering solutions for base system setup, administration tools, backup solutions, system monitoring, updates, driver management, security enhancements, VPN configurations, and more.
|
||||
## Bare Metal Servers
|
||||
|
||||
Whether for desktop computing, development environments, server management, or Docker containerization, this playbook provides comprehensive and customizable Ansible roles for efficient system management.
|
||||
### Included Applications
|
||||
|
||||
It is designed to allow a super fast setup of small, medium and large business IT infrastructure, following the highest security standards.
|
||||
#### Docker Applications
|
||||
|
||||
For detailed information about implementation services and more, visit [CyberMaster.Space](https://cybermaster.space).
|
||||
This software allows to setup the docker following applications:
|
||||
|
||||
## Integrated Solutions
|
||||
- [Nextcloud](./roles/docker-nextcloud/README.md) - Cloud Software
|
||||
- [Akaunting](./roles/docker-akaunting/README.md) - Business Controlling Software
|
||||
- [Big Blue Button](./roles/docker-bigbluebutton/README.md) - Video Conference Software
|
||||
- [Gitea](./roles/docker-gitea/README.md) - Version Controll Software
|
||||
- [Joomla](./roles/docker-joomla/) - CMS Software
|
||||
- [Mailu](./roles/docker-mailu/README.md) - Mailsoftware
|
||||
- [Peertube](./roles/docker-peertube/README.md) - Video Platform Software
|
||||
- [pixelfed](./roles/docker-pixelfed/README.md) - Photo Platform Software
|
||||
- [Wordpress](./roles/docker-wordpress/README.md) - Blog Software
|
||||
- [YOURLS](./roles/docker-yourls/README.md) - URL Shortening Software
|
||||
- [Mastodon](./roles/docker-mastodon/README.md) - Micro Blog Software
|
||||
- [Media Wiki](./roles/docker-mediawiki/README.md) - Wiki Software
|
||||
- [MyBB](./roles/docker-mybb/README.md) - Forum Software
|
||||
|
||||
### Base Setup
|
||||
#### Native Applications
|
||||
|
||||
Provides essential configurations for system initialization, including hostname setting, systemd journal management, locale configurations, and swapfile handling.
|
||||
This software shipts the following tools which are natively setup on the server:
|
||||
- [Backups Cleanup](./roles/cleanup-backups-timer/README.md) - Cleans up old backups
|
||||
- [Btrfs Health Check](./roles/health-btrfs/README.md) - Checks the health of Btrfs file systems
|
||||
- [Docker Health Check](./roles/health-docker-container/) - Checks the health of docker containers
|
||||
- [Docker Reverse Proxy](./roles/nginx-docker-reverse-proxy/README.md) - Docker Reverse Proxy Solution
|
||||
- [Docker Volume Backup](./roles/backup-docker-to-local/) - Backup Solution for Docker Volumes
|
||||
- [Pull Primary Backups](./roles/backup-remote-to-local/README.md) - Pulls the backups from another server and stores them
|
||||
- [Wireguard](./roles/wireguard/README.md) - Integrates the server in an wireguard vpn
|
||||
|
||||
- **[Hostname](./roles/hostname/README.md)**: Sets the system's hostname.
|
||||
- **[Journalctl](./roles/journalctl/README.md)**: Configures systemd journal settings.
|
||||
- **[Locales](./roles/locales/README.md)**: Configures system locales.
|
||||
- **[System-Swapfile](./roles/system-swapfile/README.md)**: Configures swapfile creation and management.
|
||||
## Personal Computers
|
||||
|
||||
### Administration Tools
|
||||
This playbooks offers the setup of Manjaro GNOME clients.
|
||||
|
||||
Includes necessary tools for effective system administration, such as Git setup, Linux admin tools, and sudo configuration.
|
||||
### 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/)
|
||||
- ...
|
||||
|
||||
- **[Git](./roles/git/)**: Basic Git version control system setup.
|
||||
- **[PC-Administrator-Tools](./roles/pc-administrator-tools/README.md)**: Installs basic Linux administration tools.
|
||||
- **[Sudo](./roles/sudo/README.md)**: Installs and configures sudo.
|
||||
### Setup
|
||||
|
||||
### Backup Solutions
|
||||
Focuses on comprehensive backup strategies and cleanup procedures, encompassing data backups, remote server backups, and maintenance of backup storage efficiency.
|
||||
Run:
|
||||
```bash
|
||||
ansible-galaxy collection install -r requirements.yml
|
||||
```
|
||||
|
||||
#### Backups
|
||||
- **[backup-data-to-usb](./roles/backup-data-to-usb/README.md)**: Automates data backup to USB devices.
|
||||
- **[backup-docker-to-local](./roles/backup-docker-to-local/README.md)**: Backs up Docker volumes to local storage.
|
||||
- **[backup-remote-to-local](./roles/backup-remote-to-local/README.md)**: Pulls backups from remote servers for local storage.
|
||||
- **[backups-provider](./roles/backups-provider/README.md)**: Manages backup processes and storage solutions.
|
||||
- **[backups-provider-user](./roles/backups-provider-user/README.md)**: Creates and configures users for backup processes.
|
||||
## Addidional Parameters
|
||||
|
||||
#### Backups Cleanup
|
||||
- **[cleanup-backups-service](./roles/cleanup-backups-service/README.md)**: Service to clean up old backups automatically.
|
||||
- **[cleanup-backups-timer](./roles/cleanup-backups-timer/README.md)**: Timer for scheduling the backup cleanup service.
|
||||
- **[cleanup-disc-space](./roles/cleanup-disc-space/README.md)**: Manages and frees up disk space on the system.
|
||||
- **[cleanup-failed-docker-backups](./roles/cleanup-failed-docker-backups/README.md)**: Cleans up failed Docker backups.
|
||||
- activate_all_timers (bool): Activates matomo tracking on all html pages
|
||||
- nginx_matomo_tracking_active (bool): Activates matomo tracking on all html pages
|
||||
|
||||
### Monitoring
|
||||
The role specific parameters are descriped in the readme.md of the roles
|
||||
|
||||
#### Notifier
|
||||
Introduces roles for setting up system event notifications, with options for email and Telegram alerts.
|
||||
- **[Systemd-Notifier](./roles/systemd-notifier/README.md)**: Notifier service for systemd.
|
||||
- **[Systemd-Notifier-Email](./roles/systemd-notifier-email/README.md)**: Email notifications for systemd services.
|
||||
- **[Systemd-Notifier-Telegram](./roles/systemd-notifier-telegram/README.md)**: Telegram notifications for systemd services.
|
||||
## Author
|
||||
|
||||
#### Server Health
|
||||
Addresses server maintenance and health monitoring, ensuring optimal performance and reliability of the server infrastructure.
|
||||
- **[Health Btrfs](./roles/health-btrfs/)**: Monitors the health of Btrfs filesystems.
|
||||
- **[Health Disc Space](./roles/health-disc-space/)**: Checks for available disk space.
|
||||
- **[Health Docker Container](./roles/health-docker-container/)**: Monitors the health of Docker containers.
|
||||
- **[Health Docker Volumes](./roles/health-docker-volumes/)**: Checks the status of Docker volumes.
|
||||
- **[Health Journalctl](./roles/health-journalctl/)**: Monitors and manages the system journal.
|
||||
- **[Health Nginx](./roles/health-nginx/)**: Ensures the Nginx server is running smoothly.
|
||||
- **[Heal Docker](./roles/heal-docker/)**: Automated healing and maintenance tasks for Docker.
|
||||
|
||||
### Update
|
||||
Covers automated updates and maintenance for the system and its components, including package managers and Docker containers.
|
||||
- **[update](./roles/update/README.md)**: Automates the process of system updates.
|
||||
- **[update-apt](./roles/update-apt/README.md)**: Updates system packages using apt (for Debian-based systems).
|
||||
- **[update-docker](./roles/update-docker/README.md)**: Keeps Docker containers up to date.
|
||||
- **[update-pacman](./roles/update-pacman/README.md)**: Updates system packages using Pacman (for Arch-based systems).
|
||||
|
||||
### Driver
|
||||
Deals with the installation and configuration of various hardware drivers, catering to a range of devices and needs.
|
||||
- **[driver-epson-multiprinter](./roles/driver-epson-multiprinter/README.md)**: Installs drivers for Epson multi-function printers.
|
||||
- **[driver-intel](./roles/driver-intel/README.md)**: Installs Intel drivers, typically for graphics and other hardware.
|
||||
- **[driver-msi-keyboard-color](./roles/driver-msi-keyboard-color/README.md)**: Configures MSI keyboard color settings.
|
||||
- **[driver-non-free](./roles/driver-non-free/README.md)**: Installs non-free drivers, generally for specific hardware needs.
|
||||
|
||||
### Security
|
||||
Enhances system security through roles focused on security measures, swap file management, user configurations, and SSH settings.
|
||||
- **[System Security](./roles/system-security/)**: Enhances overall system security.
|
||||
- **[System Swapfile](./roles/system-swapfile/)**: Manages swap files for system memory.
|
||||
- **[User Administrator](./roles/user-administrator/)**: Setup for system administrator user.
|
||||
- **[User Alarm](./roles/user-alarm/)**: Manages the alarm user.
|
||||
- **[PC SSH](./roles/pc-ssh/)**: Configuration of SSH for secure remote access.
|
||||
- **[SSHD](./roles/sshd/README.md)**: Configures SSH daemon settings.
|
||||
|
||||
### Virtual Private Network (VPN)
|
||||
Centers on VPN configurations, specifically for Wireguard, providing secure and efficient network connectivity.
|
||||
- **[client-wireguard](./roles/client-wireguard/README.md)**: Configures Wireguard VPN client.
|
||||
- **[client-wireguard-behind-firewall](./roles/client-wireguard-behind-firewall/README.md)**: Sets up Wireguard client functionality behind a firewall.
|
||||
- **[wireguard](./roles/wireguard/README.md)**: Installs and configures Wireguard for secure VPN connections.
|
||||
|
||||
|
||||
### Desktop and Personal Computing
|
||||
Offers a range of tools and software to enhance the personal computing experience on desktops and laptops, covering multimedia, productivity, and virtualization.
|
||||
- **[PC Bluray Player Tools](./roles/pc-bluray-player-tools/)**: Software for playing Blu-ray media on personal computers.
|
||||
- **[PC Caffeine](./roles/pc-caffeine/)**: Utility to keep your computer awake.
|
||||
- **[PC Designer Tools](./roles/pc-designer-tools/)**: Graphic design and 3D modeling software.
|
||||
- **[PC Games](./roles/pc-games/)**: Installation of various computer games.
|
||||
- **[PC Gnome](./roles/pc-gnome/)**: Installation and configuration of Gnome desktop environment.
|
||||
- **[PC LibreOffice](./roles/pc-libreoffice/)**: Installation of the LibreOffice suite.
|
||||
- **[PC Network Analyze Tools](./roles/pc-network-analyze-tools/)**: Network analysis and troubleshooting utilities.
|
||||
- **[PC Nextcloud](./roles/pc-nextcloud/)**: Client setup for Nextcloud cloud storage service.
|
||||
- **[PC Office](./roles/pc-office/)**: Various office productivity tools.
|
||||
- **[PC Qbittorrent](./roles/pc-qbittorrent/)**: Installation of qBittorrent for file sharing.
|
||||
- **[PC Spotify](./roles/pc-spotify/)**: Installation of Spotify for music streaming.
|
||||
- **[PC Streaming Tools](./roles/pc-streaming-tools/)**: Software for video streaming and recording.
|
||||
- **[PC Torbrowser](./roles/pc-torbrowser/)**: Installation of Tor Browser for anonymous browsing.
|
||||
- **[PC Video Conference](./roles/pc-video-conference/)**: Video conferencing software setup.
|
||||
- **[PC Virtual Box](./roles/pc-virtual-box/)**: VirtualBox setup for creating virtual machines.
|
||||
|
||||
### Development Environment
|
||||
Targets software developers with tools and environments for various programming languages and development needs.
|
||||
- **[PC Developer Tools](./roles/pc-developer-tools/)**: Basic developer tools setup.
|
||||
- **[PC Developer Tools Arduino](./roles/pc-developer-tools-arduino/)**: Setup for Arduino development.
|
||||
- **[PC Developer Tools Bash](./roles/pc-developer-tools-bash/)**: Tools for Bash scripting.
|
||||
- **[PC Developer Tools Java](./roles/pc-developer-tools-java/)**: Java development environment setup.
|
||||
- **[PC Developer Tools PHP](./roles/pc-developer-tools-php/)**: PHP development environment setup.
|
||||
- **[PC Developer Tools Python](./roles/pc-developer-tools-python/)**: Python development environment setup.
|
||||
|
||||
### Other
|
||||
Encompasses miscellaneous essential tools and systems, including AUR helper, spellchecking, typesetting, and package management.
|
||||
- **[System-Aur-Helper](./roles/system-aur-helper/README.md)**: Installs and configures AUR helper (yay).
|
||||
- **[Hunspell](./roles/hunspell/)**: Installation of Hunspell spellchecker.
|
||||
- **[Latex](./roles/latex/)**: Installation of LaTeX typesetting system.
|
||||
- **[Java](./roles/java/README.md)**: Installs Java Development Kit (JDK).
|
||||
- **[Python Pip](./roles/python-pip/)**: Installation of Python Pip package manager.
|
||||
|
||||
## Server
|
||||
|
||||
### Webserver
|
||||
Focuses on web server roles and applications, covering SSL certificates, Nginx configurations, reverse proxies, and email services.
|
||||
- **[Letsencrypt](./roles/letsencrypt/README.md)**: Configures Let's Encrypt for SSL certificates.
|
||||
- **[Nginx](./roles/nginx/README.md)**: Installs and configures Nginx web server.
|
||||
- **[Nginx-Docker-Reverse-Proxy](./roles/nginx-docker-reverse-proxy/README.md)**: Sets up a reverse proxy for Docker containers.
|
||||
- **[Nginx-Homepage](./roles/nginx-homepage/README.md)**: Configures a homepage for Nginx.
|
||||
- **[Nginx-Https](./roles/nginx-https/README.md)**: Enables HTTPS configuration for Nginx.
|
||||
- **[Nginx-Matomo-Tracking](./roles/nginx-matomo-tracking/README.md)**: Integrates Matomo tracking with Nginx.
|
||||
- **[Nginx-Redirect](./roles/nginx-redirect/README.md)**: Manages URL redirects in Nginx.
|
||||
- **[Certbot Nginx](./roles/certbot-nginx/)**: Integrates Certbot with Nginx for SSL certificates.
|
||||
- **[Postfix](./roles/postfix/)**: Setup for the Postfix mail transfer agent.
|
||||
|
||||
### Docker and Containerization
|
||||
Dedicated to Docker container setups and application management, offering a wide array of software deployment options.
|
||||
- **[Docker](./roles/docker/)**: Basic Docker and Docker Compose setup.
|
||||
- **[Docker Akaunting](./roles/docker-akaunting/)**: Deployment of the Akaunting finance software.
|
||||
- **[Docker Attendize](./roles/docker-attendize/)**: Setup for the Attendize event management tool.
|
||||
- **[Docker Baserow](./roles/docker-baserow/)**: Deployment of Baserow, an open-source no-code database tool.
|
||||
- **[Docker BigBlueButton](./roles/docker-bigbluebutton/)**: Setup for the BigBlueButton video conferencing tool.
|
||||
- **[Docker ELK](./roles/docker-elk/)**: Elasticsearch, Logstash, and Kibana (ELK) stack setup.
|
||||
- **[Docker Funkwhale](./roles/docker-funkwhale/)**: Deployment of Funkwhale, a federated music streaming server.
|
||||
- **[Docker Gitea](./roles/docker-gitea/)**: Setup for the Gitea git server.
|
||||
- **[Docker Jenkins](./roles/docker-jenkins/)**: Jenkins automation server setup.
|
||||
- **[Docker Joomla](./roles/docker-joomla/)**: Joomla content management system setup.
|
||||
- **[Docker Listmonk](./roles/docker-listmonk/)**: Setup for Listmonk, a self-hosted newsletter and mailing list manager.
|
||||
- **[Docker Mailu](./roles/docker-mailu/)**: Complete mail server solution.
|
||||
- **[Docker Mastodon](./roles/docker-mastodon/)**: Deployment of the Mastodon social network server.
|
||||
- **[Docker Matomo](./roles/docker-matomo/)**: Setup for Matomo, an open-source analytics platform.
|
||||
- **[Docker MediaWiki](./roles/docker-mediawiki/)**: MediaWiki setup for creating wikis.
|
||||
- **[Docker MyBB](./roles/docker-mybb/)**: Setup for MyBB forum software.
|
||||
- **[Docker Nextcloud](./roles/docker-nextcloud/)**: Cloud storage solution setup.
|
||||
- **[Docker Peertube](./roles/docker-peertube/)**: Deployment of the PeerTube video platform.
|
||||
- **[Docker Pixelfed](./roles/docker-pixelfed/)**: Pixelfed, a federated image sharing platform, setup.
|
||||
- **[Docker Roulette Wheel](./roles/docker-roulette-wheel/)**: Setup for a custom roulette wheel application.
|
||||
- **[Docker Wordpress](./roles/docker-wordpress/)**: Wordpress blog and website platform setup.
|
||||
- **[Docker YOURLS](./roles/docker-yourls/)**: Setup for YOURLS, a URL shortening service.
|
||||
|
||||
## Key Advantages of CyMaIS
|
||||
**CyMaIS - Cyber Master Infrastructure Solution** is a comprehensive and agile tool designed for efficient IT infrastructure management and deployment. Here are its key advantages and unique selling points (USP):
|
||||
|
||||
1. **Versatile Automation**: Powered by Ansible, CyMaIS offers streamlined setup and administration across a wide range of applications and Docker images, suitable for both Linux-based servers and personal computers.
|
||||
|
||||
2. **Comprehensive Configuration Suite**: The solution includes a full spectrum of IT infrastructure components – from basic system setup and administration tools to advanced features like VPN configurations and Docker containerization.
|
||||
|
||||
3. **Customizable for Varied Needs**: Whether it's for desktop computing, server management, development environments, or personal computing, CyMaIS provides customizable Ansible roles, ensuring flexibility and adaptability to different requirements.
|
||||
|
||||
4. **Efficient System Monitoring and Updates**: Incorporates roles for system event notifications and health monitoring, ensuring optimal performance and reliability. It also covers automated system updates, keeping the infrastructure current and secure.
|
||||
|
||||
5. **Security and Backup Solutions**: With a strong focus on security, CyMaIS includes roles for enhanced system security, driver management, and comprehensive backup solutions, ensuring data integrity and protection against threats.
|
||||
|
||||
6. **Ease of Use**: Its user-friendly approach, combined with detailed documentation, makes system management accessible even for those with limited technical expertise.
|
||||
|
||||
7. **Open Source Advantage**: Licensed under the GNU Affero General Public License v3.0, CyMaIS aligns with the ethos of open-source software, promoting transparency, community-driven development, and security.
|
||||
|
||||
CyMaIS stands out for its all-encompassing approach to IT infrastructure management, offering a one-stop solution for diverse IT needs, particularly catering to small and medium-sized businesses.
|
||||
|
||||
## Professional CyMaIS Implementation
|
||||
<img src="https://cybermaster.space/wp-content/uploads/sites/7/2023/11/FVG_8364BW-scaled.jpg" width="300" style="float: right; margin-left: 30px;">
|
||||
|
||||
My name is Kevin Veen-Birkenbach and I'm glad to assist you in the implementation of your secure and scalable IT infrastrucutre solution with CyMaIS.
|
||||
|
||||
My expertise in server administration, digital corporate infrastructure, custom software, and information security, all underpinned by a commitment to Open Source solutions, guarantees that your IT setup meets the highest industry standards.
|
||||
|
||||
Discover how CyMaIS can transform your IT landscape.
|
||||
|
||||
Contact me for more details:
|
||||
|
||||
🌍 Website: [www.CyberMaster.Space](https://cybermaster.space)<br />
|
||||
📧 Email: [kevin@veen.world](mailto:kevin@veen.world)<br />
|
||||
☎️ Phone: [+ 49 178 179 80 23](tel:00491781798023)
|
||||
Kevin Veen-Birkenbach
|
||||
- 📧 Email: [kevin@veen.world](mailto:kevin@veen.world)
|
||||
- 🌍 Website: [https://www.veen.world/](https://www.veen.world/)
|
||||
|
||||
## License
|
||||
|
||||
|
40
playbook.yml
40
playbook.yml
@ -226,38 +226,38 @@
|
||||
hosts: personal_computers
|
||||
become: true
|
||||
roles:
|
||||
- pc-administrator-tools
|
||||
- collection-administrator-base
|
||||
- driver-non-free
|
||||
|
||||
- name: pc-office
|
||||
- name: collection-office
|
||||
hosts: collection_officetools
|
||||
become: true
|
||||
roles:
|
||||
- pc-office
|
||||
- collection-office
|
||||
|
||||
- name: pc-designer-tools
|
||||
- name: collection-designer
|
||||
hosts: collection_designer
|
||||
become: true
|
||||
roles:
|
||||
- pc-designer-tools
|
||||
- collection-designer
|
||||
|
||||
- name: pc-qbittorrent
|
||||
- name: collection-torrent
|
||||
hosts: collection_torrent
|
||||
become: true
|
||||
roles:
|
||||
- pc-qbittorrent
|
||||
- collection-torrent
|
||||
|
||||
- name: pc-streaming-tools
|
||||
- name: collection-streamer
|
||||
hosts: collection_streamer
|
||||
become: true
|
||||
roles:
|
||||
- pc-streaming-tools
|
||||
- collection-streamer
|
||||
|
||||
- name: pc-bluray-player-tools
|
||||
- name: collection-bluray-player
|
||||
hosts: collection_bluray_player
|
||||
become: true
|
||||
roles:
|
||||
- pc-bluray-player-tools
|
||||
- collection-bluray-player
|
||||
|
||||
- name: driver-intel
|
||||
hosts: intel
|
||||
@ -265,29 +265,29 @@
|
||||
roles:
|
||||
- driver-intel
|
||||
|
||||
- name: latex
|
||||
- name: application-latex
|
||||
hosts: latex
|
||||
become: true
|
||||
roles:
|
||||
- latex
|
||||
- application-latex
|
||||
|
||||
- name: GNOME setup
|
||||
hosts: gnome
|
||||
become: true
|
||||
roles:
|
||||
- pc-gnome
|
||||
- desktop-gnome
|
||||
|
||||
- name: setup msi rgb keyboard
|
||||
hosts: msi_perkeyrgb
|
||||
become: true
|
||||
roles:
|
||||
- driver-msi-keyboard-color
|
||||
- application-msi-keyboard-color
|
||||
|
||||
- name: setup ssh hosts
|
||||
hosts: ssh
|
||||
become: false
|
||||
roles:
|
||||
- pc-ssh
|
||||
- client-ssh
|
||||
|
||||
- name: setup swapfile hosts
|
||||
hosts: swapfile
|
||||
@ -299,13 +299,13 @@
|
||||
hosts: gaming
|
||||
become: true
|
||||
roles:
|
||||
- pc-games
|
||||
- collection-games
|
||||
|
||||
- name: setup entertainment hosts
|
||||
hosts: entertainment
|
||||
become: true
|
||||
roles:
|
||||
- pc-spotify
|
||||
- collection-entertainment
|
||||
|
||||
- name: setup multiprinter hosts
|
||||
hosts: epson_multiprinter
|
||||
@ -317,13 +317,13 @@
|
||||
hosts: torbrowser
|
||||
become: true
|
||||
roles:
|
||||
- pc-torbrowser
|
||||
- desktop-torbrowser
|
||||
|
||||
- name: setup nextcloud
|
||||
hosts: nextcloud_client
|
||||
become: true
|
||||
roles:
|
||||
- pc-nextcloud
|
||||
- client-nextcloud
|
||||
|
||||
- name: setup docker
|
||||
hosts: docker
|
||||
|
3
roles/application-latex/readme.md
Normal file
3
roles/application-latex/readme.md
Normal file
@ -0,0 +1,3 @@
|
||||
# application-latex
|
||||
|
||||
More packages you will find here: https://wiki.archlinux.org/title/TeX_Live
|
@ -1,4 +1,4 @@
|
||||
# Ansible Role: driver-msi-keyboard-color
|
||||
# Ansible Role: keyboard-color
|
||||
|
||||
Ansible role to set up dynamic keyboard color change on MSI laptops.
|
||||
|
2
roles/client-ssh/Readme.md
Normal file
2
roles/client-ssh/Readme.md
Normal file
@ -0,0 +1,2 @@
|
||||
# Client SSH
|
||||
Setups SSH on the client side
|
@ -1,2 +1,2 @@
|
||||
dependencies:
|
||||
- pc-git
|
||||
- client-git
|
@ -1,2 +1,2 @@
|
||||
dependencies:
|
||||
- java
|
||||
- client-git
|
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- collection-administrator-base
|
2
roles/collection-bluray-player/meta/main.yml
Normal file
2
roles/collection-bluray-player/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- application-java
|
2
roles/collection-developer-arduino/meta/main.yml
Normal file
2
roles/collection-developer-arduino/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
2
roles/collection-developer-base/meta/main.yml
Normal file
2
roles/collection-developer-base/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- collection-administrator-base
|
2
roles/collection-developer-bash/meta/main.yml
Normal file
2
roles/collection-developer-bash/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
2
roles/collection-developer-java/meta/main.yml
Normal file
2
roles/collection-developer-java/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- application-java
|
2
roles/collection-developer-php/meta/main.yml
Normal file
2
roles/collection-developer-php/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
2
roles/collection-developer-python/meta/main.yml
Normal file
2
roles/collection-developer-python/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- collection-developer-base
|
3
roles/collection-office/meta/main.yml
Normal file
3
roles/collection-office/meta/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- desktop-libreoffice
|
||||
- collection-video-conference
|
4
roles/collection-video-conference/README.md
Normal file
4
roles/collection-video-conference/README.md
Normal file
@ -0,0 +1,4 @@
|
||||
# collection-video-conference
|
||||
|
||||
## further information
|
||||
It seems like the microsoft client is not supported nativly on linux anymore: https://aur.archlinux.org/packages/teams
|
3
roles/desktop-gnome/Readme.md
Normal file
3
roles/desktop-gnome/Readme.md
Normal file
@ -0,0 +1,3 @@
|
||||
# desktop-gnome
|
||||
## further information
|
||||
- https://askubuntu.com/questions/1029376/how-do-i-enable-and-disable-gnome-extensions-from-the-command-line
|
3
roles/desktop-gnome/meta/main.yml
Normal file
3
roles/desktop-gnome/meta/main.yml
Normal file
@ -0,0 +1,3 @@
|
||||
dependencies:
|
||||
- client-git
|
||||
- desktop-caffeine
|
2
roles/desktop-libreoffice/meta/main.yml
Normal file
2
roles/desktop-libreoffice/meta/main.yml
Normal file
@ -0,0 +1,2 @@
|
||||
dependencies:
|
||||
- application-hunspell
|
@ -1,4 +1,4 @@
|
||||
# pc-virtual-box
|
||||
# desktop-virtual-box
|
||||
|
||||
```bash
|
||||
sudo pacman -S virtualbox "$(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-virtualbox-host-modules"}' ORS=' ')" &&
|
@ -140,6 +140,6 @@ For instructions on updating your Mailu setup, follow the official [Mailu mainte
|
||||
- [Plesk support article on RoundCube connection issue](https://support.plesk.com/hc/en-us/articles/115001264814-Unable-to-log-into-RoundCube-Connection-to-storage-server-failed)
|
||||
- [Gist by marienfressinaud](https://gist.github.com/marienfressinaud/f284a59b18aad395eb0de2d22836ae6b)
|
||||
|
||||
For more information about this role, visit the [GitHub repository](https://github.com/kevinveenbirkenbach/cymais/tree/master/roles/docker-mailu).
|
||||
For more information about this role, visit the [GitHub repository](https://github.com/kevinveenbirkenbach/computer-playbook/tree/master/roles/docker-mailu).
|
||||
|
||||
This README.md was optimized with [Chat-GPT](https://chat.openai.com/share/d1ad5ce7-3aa1-4a14-a959-63393b39374a)
|
@ -1,6 +1,6 @@
|
||||
# Pixelfed Docker Server Role
|
||||
|
||||
This README details the steps to manage your Pixelfed instance running in a Docker container. This setup is part of the docker-pixelfed role within Kevin Veen-Birkenbach's cymais located at [this GitHub repository](https://github.com/kevinveenbirkenbach/cymais/tree/master/roles/docker-pixelfed).
|
||||
This README details the steps to manage your Pixelfed instance running in a Docker container. This setup is part of the docker-pixelfed role within Kevin Veen-Birkenbach's computer-playbook located at [this GitHub repository](https://github.com/kevinveenbirkenbach/computer-playbook/tree/master/roles/docker-pixelfed).
|
||||
|
||||
## Accessing Services
|
||||
|
||||
|
@ -1,30 +0,0 @@
|
||||
# Hunspell
|
||||
|
||||
## Overview
|
||||
This README accompanies the Hunspell Playbook, located within the `cymais` 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 `cymais` 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 `cymais` repository. Contributions, especially those that enhance the playbook's functionality or extend its language support, are highly welcomed.
|
@ -1,28 +0,0 @@
|
||||
# Java
|
||||
|
||||
## Overview
|
||||
This README file is for the Java role, which is part of the `cymais`. 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 `cymais` repository. Contributions that enhance the role or broaden its applicability are greatly appreciated.
|
@ -1,36 +0,0 @@
|
||||
# LaTeX Role
|
||||
|
||||
## Overview
|
||||
Welcome to the LaTeX role within the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that enhance or extend the role's capabilities are always welcome.
|
@ -1,39 +0,0 @@
|
||||
# PC-Bluray-Player-Tools Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-bluray-player-tools` role, a part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that improve Blu-ray playback support or compatibility are highly appreciated.
|
@ -1,36 +0,0 @@
|
||||
# PC-Designer-Tools Role
|
||||
|
||||
## Overview
|
||||
This README is associated with the `pc-designer-tools` 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 `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 `cymais` 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 `cymais` repository. Contributions that enhance the role for designers are greatly appreciated.
|
@ -1,38 +0,0 @@
|
||||
# PC-Developer-Tools-Arduino Role
|
||||
|
||||
## Overview
|
||||
This README file is for the `pc-developer-tools-arduino` role, a specialized component of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that enhance the Arduino development environment setup are highly encouraged.
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
@ -1,34 +0,0 @@
|
||||
# PC-Developer-Tools-Bash Role
|
||||
|
||||
## Overview
|
||||
This README accompanies the `pc-developer-tools-bash` role within the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that improve the Bash development environment are highly appreciated.
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
@ -1,29 +0,0 @@
|
||||
# PC-Developer-Tools-Java Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-developer-tools-java` role, a part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that improve the Java development environment setup are highly encouraged.
|
@ -1,3 +0,0 @@
|
||||
dependencies:
|
||||
- java
|
||||
- pc-developer-tools
|
@ -1,34 +0,0 @@
|
||||
# PC-Developer-Tools-PHP Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-developer-tools-php` role within the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that enhance the PHP development environment are highly welcomed.
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
@ -1,34 +0,0 @@
|
||||
# PC-Developer-Tools-Python Role
|
||||
|
||||
## Overview
|
||||
This README accompanies the `pc-developer-tools-python` role, which is part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that improve the Python development environment are highly encouraged.
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- pc-developer-tools
|
@ -1,34 +0,0 @@
|
||||
# PC-Developer-Tools Role
|
||||
|
||||
## Overview
|
||||
This README document is for the `pc-developer-tools` role within the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that improve the development environment setup are highly welcomed.
|
@ -1,2 +0,0 @@
|
||||
dependencies:
|
||||
- pc-administrator-tools
|
@ -1,7 +1,7 @@
|
||||
# README for PC-Docker Playbook
|
||||
|
||||
## Overview
|
||||
This playbook, `pc-docker`, is part of a larger collection housed within the `cymais` repository. It is specifically tailored for setting up Docker and Docker Compose on personal computers (PCs) used for development purposes. The primary goal is to facilitate a development environment on individual workstations rather than configuring servers for hosting or distributing Docker images.
|
||||
This playbook, `pc-docker`, is part of a larger collection housed within the `computer-playbook` repository. It is specifically tailored for setting up Docker and Docker Compose on personal computers (PCs) used for development purposes. The primary goal is to facilitate a development environment on individual workstations rather than configuring servers for hosting or distributing Docker images.
|
||||
|
||||
## Contents
|
||||
The `main.yml` file in the `pc-docker` role consists of two primary tasks:
|
||||
@ -19,7 +19,7 @@ The playbook is designed for developers who require Docker in their local develo
|
||||
|
||||
## Running the Playbook
|
||||
To run this playbook:
|
||||
1. Clone the `cymais` repository.
|
||||
1. Clone the `computer-playbook` repository.
|
||||
2. Navigate to the `roles/pc-docker` directory.
|
||||
3. Run the playbook using the appropriate Ansible commands, ensuring that you have the necessary privileges.
|
||||
|
||||
@ -29,4 +29,4 @@ To run this playbook:
|
||||
- **Security Considerations**: While adding a user to the Docker group provides ease of use, be aware of the security implications. It grants the user elevated privileges which, if misused, can affect the entire system.
|
||||
|
||||
## Support & Contribution
|
||||
For support, suggestions, or contributions, please raise an issue or a pull request in the `cymais` repository. This project welcomes contributions from the developer community.
|
||||
For support, suggestions, or contributions, please raise an issue or a pull request in the `computer-playbook` repository. This project welcomes contributions from the developer community.
|
@ -1,38 +0,0 @@
|
||||
# PC-Games Role
|
||||
|
||||
## Overview
|
||||
This README is for the `pc-games` role, a part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that expand the gaming options or improve the installation process are highly welcomed.
|
@ -1,33 +0,0 @@
|
||||
# PC-Git Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-git` role documentation, part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that enhance Git setup and configuration are highly encouraged.
|
@ -1,52 +0,0 @@
|
||||
# PC-Gnome Role
|
||||
|
||||
## Overview
|
||||
Welcome to the `pc-gnome` role, a key part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that enhance the GNOME environment setup are highly encouraged.
|
@ -1,3 +0,0 @@
|
||||
dependencies:
|
||||
- pc-git
|
||||
- pc-caffeine
|
@ -1,39 +0,0 @@
|
||||
# PC-LibreOffice Role
|
||||
|
||||
## Overview
|
||||
This README is for the `pc-libreoffice` role, part of the `cymais` 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 `cymais` 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 `cymais` repository. Contributions that improve the LibreOffice setup and user experience are highly welcomed.
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user