- Introduce explicit CLI layer model (os-packages, nix, python, makefile) and central InstallationPipeline to orchestrate installers. - Move installer orchestration out of install_repos() into pkgmgr.actions.repository.install.pipeline, using layer precedence and capability tracking. - Add pkgmgr.actions.repository.install.layers to classify commands into layers and compare priorities. - Rework PythonInstaller to always use isolated environments: PKGMGR_PIP override → active venv → per-repo venv under ~/.venvs/<identifier>, avoiding system Python and PEP 668 conflicts. - Adjust NixFlakeInstaller to install flake outputs based on repository identity: pkgmgr/package-manager → pkgmgr (mandatory) + default (optional), all other repos → default (mandatory). - Tighten MakefileInstaller behaviour, add global PKGMGR_DISABLE_MAKEFILE_INSTALLER switch, and simplify install target detection. - Rewrite resolve_command_for_repo() with explicit Repository typing, better Python package detection, Nix/PATH resolution, and a library-only fallback instead of raising on missing CLI. - Update flake.nix devShell to provide python3 with pip and add pip as a propagated build input. - Remove deprecated/wip repository entries from config defaults and drop the unused config/wip.yml. https://chatgpt.com/share/69399157-86d8-800f-9935-1a820893e908
3.0 KiB
3.0 KiB