- Replace hardcoded python311 references with generic python3 to avoid minor version pinning and ensure consistent interpreter selection across systems. - Use python.pkgs instead of python311Packages in the build pipeline. - Update devShell to use python3.withPackages, including pip and pyyaml. - Add Python version echo in shellHook for improved debugging. - Remove cli re-export from src/pkgmgr/__init__.py to eliminate heavy side-effects during import and prevent premature config loading in tests.
Package Manager🤖📦
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.shormain.py). -
Git Operations:
Easily performgit pull,push,status,commit,diff,add,show, andcheckoutwith 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 PKGMGR’s package structure, installation layers, and setup controller flow:
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.pyexecutable. - Install required packages from
requirements.txt. - Execute
python main.py installto complete the installation.
License 📄
This project is licensed under the MIT License.
Author 👤
Kevin Veen-Birkenbach
https://www.veen.world
