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

35
pyproject.toml Normal file
View File

@@ -0,0 +1,35 @@
[build-system]
# This tells pip/build how to build your project (PEP 517).
requires = ["setuptools>=77", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "package-manager"
version = "0.1.0"
description = "Kevin's Package Manager is a configurable Python tool to manage multiple repositories via Bash."
readme = "README.md"
requires-python = ">=3.10"
# Use a simple SPDX license string to avoid the deprecation warning.
license = "MIT"
authors = [
{ name = "Kevin Veen-Birkenbach", email = "info@veen.world" }
]
# Python runtime dependencies.
dependencies = [
"PyYAML"
]
[project.urls]
Homepage = "https://www.veen.world"
Repository = "https://github.com/kevinveenbirkenbach/package-manager"
Funding-GitHub-Sponsors = "https://github.com/sponsors/kevinveenbirkenbach"
Funding-Patreon = "https://www.patreon.com/c/kevinveenbirkenbach"
Funding-BuyMeACoffee = "https://buymeacoffee.com/kevinveenbirkenbach"
Funding-PayPal = "https://s.veen.world/paypaldonate"
[tool.setuptools]
packages = ["pkgmgr"]