# Package Manager Installation 📦 ## Description This Ansible role installs and updates packages using `pkgmgr` on Arch Linux systems. It provides a unified interface for package installation and update management, ensuring consistent deployment across environments. ## Overview The role abstracts package management operations using `pkgmgr`. It ensures the package manager itself is updated once per run and provides idempotent installation and update routines for specified packages. ## Purpose The purpose of this role is to automate the installation and update process for CyMaIS-related applications or other managed packages using `pkgmgr`. It simplifies package handling and enforces best practices for package deployment in automated environments. ## Features - **Automatic pkgmgr Update:** Ensures the package manager is always up-to-date. - **Idempotent Package Installation:** Only installs packages when necessary. - **Flexible Notification:** Supports handler notification for post-install actions (e.g., Docker Compose builds). - **Optional Privilege Escalation:** Controlled via the `pkgmgr_become` variable (default: `true`). ## Role Variables | Name | Description | Default | |-----------------|-----------------------------------------------------------------|---------| | `package_name` | Name of the package to install/update | (required) | | `package_notify` | Handler to notify on package installation/update | "" | | `pkgmgr_become` | Execute all tasks with elevated privileges (become: true/false) | true | ## Example Usage ```yaml - name: Install cymais-presentation include_role: name: pkgmgr-install vars: package_name: cymais-presentation package_notify: docker compose project build and setup ``` ## Credits 📝 Developed and maintained by **Kevin Veen-Birkenbach**. Learn more at [www.veen.world](https://www.veen.world) Part of the [CyMaIS Project](https://github.com/kevinveenbirkenbach/cymais) License: [CyMaIS NonCommercial License (CNCL)](https://s.veen.world/cncl)