Kevin Veen-Birkenbach 5ca1adda7b Refactor CI distro handling and container build scripts
- Introduce a GitHub Actions matrix for `test-container` and `test-e2e`
  to run against arch, debian, ubuntu, fedora, and centos
- Run unit and integration tests only in the Arch container by passing
  `distro="arch"` via make in the corresponding workflows
- Replace the global DISTROS loop with a single `distro` variable in
  the Makefile, defaulting to `arch`, and export it for all scripts
- Update build scripts (build-image, build-image-no-cache, build-image-missing)
  to build images for the selected distro only
- Simplify test-container script to validate a single distro image using
  the `distro` environment variable
- Simplify E2E, unit, and integration test scripts to run against a
  single distro container instead of iterating over all distros

https://chatgpt.com/share/693acbba-9e30-800f-94fb-fea4489e9078
2025-12-11 14:48:36 +01:00
2025-12-10 22:56:04 +01:00
2025-03-04 13:17:09 +01:00

Package Manager🤖📦

GitHub Sponsors Patreon Buy Me a Coffee PayPal GitHub license GitHub repo size

Kevins's Package Manager is a configurable Python tool designed to manage multiple repositories via Bash. It automates common Git operations such as clone, pull, push, status, and more. Additionally, it handles the creation of executable wrappers and alias links for your repositories.

Features 🚀

  • Installation & Setup:
    Create executable wrappers with auto-detected commands (e.g. main.sh or main.py).

  • Git Operations:
    Easily perform git pull, push, status, commit, diff, add, show, and checkout with extra parameters passed through.

  • Configuration Management:
    Manage repository configurations via a default file (config/defaults.yaml) and a user-specific file (config/config.yaml). Initialize, add, delete, or ignore entries using subcommands.

  • Path & Listing:
    Display repository paths or list all configured packages with their details.

  • Custom Aliases:
    Generate and manage custom aliases for easy command invocation.

Architecture & Setup Map 🗺️

The following diagram provides a full overview of PKGMGRs package structure, installation layers, and setup controller flow:

PKGMGR Architecture

Diagram status: Stand: 11. Dezember 2025
Always-up-to-date version: https://s.veen.world/pkgmgrmp

Installation ⚙️

Clone the repository and ensure your ~/.local/bin is in your system PATH:

git clone https://github.com/kevinveenbirkenbach/package-manager.git
cd package-manager

Install make and pip if not installed yet:

pacman -S make python-pip

Then, run the following command to set up the project:

make setup

The make setup command will:

  • Make main.py executable.
  • Install required packages from requirements.txt.
  • Execute python main.py install to complete the installation.

License 📄

This project is licensed under the MIT License.

Author 👤

Kevin Veen-Birkenbach
https://www.veen.world

Description
No description provided
Readme MIT 9.1 MiB
Languages
Python 91.5%
Shell 7.1%
Makefile 0.7%
Nix 0.4%
Dockerfile 0.2%