flake.nix: switch to generic python3 and remove side-effects from pkgmgr package root
- 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.
This commit is contained in:
12
flake.nix
12
flake.nix
@@ -26,7 +26,10 @@
|
||||
packages = forAllSystems (system:
|
||||
let
|
||||
pkgs = nixpkgs.legacyPackages.${system};
|
||||
pyPkgs = pkgs.python311Packages;
|
||||
|
||||
# Single source of truth: "python3" from this nixpkgs revision
|
||||
python = pkgs.python3;
|
||||
pyPkgs = python.pkgs;
|
||||
in
|
||||
rec {
|
||||
pkgmgr = pyPkgs.buildPythonApplication {
|
||||
@@ -71,8 +74,9 @@
|
||||
if pkgs ? ansible-core then pkgs.ansible-core
|
||||
else pkgs.ansible;
|
||||
|
||||
# Python 3.11 + pip + PyYAML direkt aus Nix
|
||||
pythonWithDeps = pkgs.python311.withPackages (ps: [
|
||||
python = pkgs.python3;
|
||||
|
||||
pythonWithDeps = python.withPackages (ps: [
|
||||
ps.pip
|
||||
ps.pyyaml
|
||||
]);
|
||||
@@ -93,6 +97,8 @@
|
||||
export PYTHONPATH="$PWD:$PYTHONPATH"
|
||||
|
||||
echo "Entered pkgmgr development shell for ${system}"
|
||||
echo "Python used in this shell:"
|
||||
python --version
|
||||
echo "pkgmgr CLI (from source) is available via:"
|
||||
echo " python -m pkgmgr.cli --help"
|
||||
'';
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
from __future__ import annotations
|
||||
|
||||
"""
|
||||
Top-level package for Kevin's package manager (pkgmgr).
|
||||
|
||||
We re-export the CLI subpackage as the attribute ``cli`` so that
|
||||
``pkgutil.resolve_name("pkgmgr.cli.commands.release")`` and similar
|
||||
lookups work reliably under Python 3.13+.
|
||||
"""
|
||||
|
||||
# Re-export the CLI subpackage as an attribute on the package.
|
||||
from . import cli as cli # type: ignore[F401]
|
||||
|
||||
__all__ = ["cli"]
|
||||
|
||||
Reference in New Issue
Block a user