Repository navigation
Conversation
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
Resolves srinivasr#1 Signed-off-by: srinivasr <sriniv4sreddy@gmail.com>
- Fix crash when niri returns null logical for disabled outputs - Add canvas refresh and in-memory data supply from KDL config - Refresh outputs page after save so canvas updates with live data
* fix(outputs): round fractional snaps outward * fix(outputs): ignore distant snap candidates * test(outputs): skip without gtk bindings
* fix(config): preserve symlinks when saving * fix(config): preserve file permissions
- show exclude nodes in rule summary (fixes srinivasr#45) - fixed missing short labels for symbol keys
When users have a user-level Python version manager active (e.g. mise, pyenv, asdf, conda), python3 in PATH is an isolated build without system PyGObject (gi) bindings, which are installed via the OS package manager into system Python (e.g. /usr/bin/python3). This change: 1. Adds find_host_python_with_gi to inspect ambient python3 first, falling back to standard system paths (/usr/bin/python3, /usr/bin/python) if ambient python lacks gi. 2. Uses the detected Python when creating the virtualenv with --system-site-packages. 3. Points the generated launcher directly to $INSTALL_DIR/.venv/bin/python to prevent ambient PATH shims from hijacking the runtime when launched from user shells or desktop sessions.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
When users have a user-level Python version manager active (e.g., Mise, pyenv, asdf, conda),
python3in$PATHresolves to a user-managed Python build that lacks system PyGObject (gi) bindings. Host package managers (pacman -S python-gobject,apt install python3-gi,dnf install python3-gobject, etc.) install those bindings into the system Python (e.g.,/usr/bin/python3).This currently leads to two failure modes when running
install.sh:install.shuses ambientpython3to test forgiand creates the venv. When a version manager is active,python3 -c "import gi"fails, causing the installer to abort withPyGObject is NOT installed on your host systemeven after the system package was successfully installed.uv run python3 -m nirimod "$@". In shells or desktop sessions where a Python manager is active, ambientpython3is invoked again, failing withNo module named nirimodor missinggi.Proposed Changes
find_host_python_with_giwhich checks ambientpython3first, then falls back to standard system paths (/usr/bin/python3,/usr/bin/python,/usr/local/bin/python3) to find the interpreter wheregiis actually available.run_uv venv --system-site-packages --python "$target_python"."$INSTALL_DIR/.venv/bin/python" -m nirimod "$@", ensuring it runs within the configured virtual environment regardless of ambient$PATHshims.