#!/bin/bash # Install Python and common development tools # This script runs once before other chezmoi operations set -e echo "==> Setting up Python environment..." {{ if eq .pkgManager "pacman" -}} # Arch Linux - Python is usually already installed sudo pacman -S --noconfirm --needed python python-pip python-pipx {{ else if eq .pkgManager "apt" -}} # Debian/Ubuntu sudo apt-get install -y python3 python3-pip python3-venv pipx # Create python symlink if needed if ! command -v python &> /dev/null && command -v python3 &> /dev/null; then sudo ln -sf $(which python3) /usr/local/bin/python fi {{ else if eq .pkgManager "brew" -}} # macOS brew install python pipx {{ end -}} # Ensure pipx path pipx ensurepath # Install useful Python CLI tools via pipx echo "==> Installing Python CLI tools via pipx..." pipx install ruff 2>/dev/null || true pipx install black 2>/dev/null || true pipx install mypy 2>/dev/null || true pipx install httpie 2>/dev/null || true echo "==> Python setup complete!" echo " python: $(python3 --version)" echo " pip: $(pip3 --version)"