Package pkgmgr with multi-format manifests

- Add pyproject.toml and setuptools config for pkgmgr packaging
- Add Nix flake (devShell + pkgmgr package output)
- Add Arch PKGBUILD for system packaging
- Introduce pkgmgr.yml manifest for repo-level dependencies
- Refactor CLI into pkgmgr/cli.py and make main.py a thin entrypoint
- Extend install_repos to handle pkgmgr.yml, PKGBUILD, flake.nix, Ansible and Python manifests
- Enhance status/update to show Nix/yay system status and upgrades
- Improve .gitignore and document requirements.yml

Created with AI (ChatGPT) – see conversation: https://chatgpt.com/share/6932f2ca-f560-800f-8bb0-52cb82f27e88
This commit is contained in:
Kevin Veen-Birkenbach
2025-12-05 15:57:45 +01:00
parent c4395a4764
commit 41084234c7
13 changed files with 956 additions and 546 deletions

39
PKGBUILD Normal file
View File

@@ -0,0 +1,39 @@
# Maintainer: Kevin Veen-Birkenbach <info@veen.world>
pkgname=package-manager
pkgver=0.1.0
pkgrel=1
pkgdesc="A configurable Python tool to manage multiple repositories via Bash and automate common Git operations."
arch=('any')
url="https://github.com/kevinveenbirkenbach/package-manager"
license=('MIT')
depends=(
'python'
'python-yaml'
'git'
'bash'
)
makedepends=(
'python-build'
'python-installer'
'python-wheel'
'python-setuptools'
)
source=("$pkgname-$pkgver.tar.gz::$url/archive/refs/tags/v$pkgver.tar.gz")
sha256sums=('SKIP')
build() {
cd "$srcdir/$pkgname-$pkgver"
python -m build --wheel --no-isolation
}
package() {
cd "$srcdir/$pkgname-$pkgver"
python -m installer --destdir="$pkgdir" dist/*.whl
# Optional: add pkgmgr executable symlink
install -Dm755 main.py "$pkgdir/usr/bin/pkgmgr"
}