Dotfiles/setup/modules/optional-Modules/apps/python.sh

17 lines
871 B
Bash
Executable File

#!/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."