#!/bin/bash # set -euo pipefail: abort on errors, unset vars, and pipeline failures. set -euo pipefail # Path climbs one level (/../) because this optional module lives in a # subdirectory; logging.sh is in modules/lib/ relative to modules/. source "$(dirname "${BASH_SOURCE[0]}")/../../lib/logging.sh" # Install the Python ecosystem needed for neovim LSP support and scripting: # python — base interpreter (3.x) # pyright — Microsoft's Python LSP; used by nvim-lspconfig # python-pynvim — Python client library that lets neovim plugins call Python RPCs # python-pipx — tool to install Python apps in isolated venvs (replaces pipsi) # Note: --noconfirm and --needed are not passed here; add them to make this idempotent. log "Installing Python tools..." sudo pacman -Syu python pyright python-pynvim python-pipx log "Python tools installed."