Skip to content

Feature: Debian 13 (“trixie”) Python Setup Scripts #1

@NickLinney

Description

@NickLinney

Feature: Debian 13 (“trixie”) Python Setup Scripts

Branch: feature/python-trixie-setup-script
Base branch: release/0.3.0
Target release: v0.3.0 (MINOR feature addition)


Summary

Add Debian 13 (trixie)–specific Python setup scripts to the env repository, providing a minimal, repeatable way to install multiple Python versions and establish a default interpreter on fresh Debian systems.

This feature intentionally de-emphasizes Poetry and focuses on a venv-first, interpreter-explicit workflow, consistent with current real-world usage (python -m venv venv) and existing Windows/macOS conventions.


Motivation

  • Linux support is explicitly listed on the roadmap but not yet implemented.

  • Debian is a primary server and workstation platform in current usage.

  • Current workflows successfully rely on:

    • multiple Python versions (≈ 3.9 → 3.14)
    • explicit interpreter selection
    • standard venv, not Poetry
  • Adding Debian scripts now establishes parity with Windows/macOS without introducing unnecessary tooling.


Scope (Minimal by Design)

This feature will add only what is required to:

  • install multiple Python versions
  • set and document a default
  • enable clean venv creation

No dependency managers, project generators, or opinionated tooling will be introduced.


Deliverables

1. Directory Structure

env/
└─ Python/
   └─ Debian/
      └─ trixie/
         ├─ README.md
         └─ python_trixie_new_setup.sh

Path follows established repo conventions:

  • OS → distro → version-codename
  • version-scoped to avoid future collisions

2. python_trixie_new_setup.sh

Primary bootstrap script.

Responsibilities:

  • Install baseline system dependencies for building/running Python
  • Install a multi-version Python manager (recommended: pyenv)
  • Install a configured list of Python versions (e.g. 3.9 → 3.14)
  • Set a user-level default Python version
  • Configure shell initialization idempotently
  • Provide clear verification output at completion

Configurable values at top of script:

  • Python versions to install
  • Default Python version
  • Shells to configure (bash, zsh)

Non-Goals:

  • No Poetry
  • No pipx-managed project tooling
  • No project scaffolding

3. README.md (Debian 13 / trixie)

Concise operator documentation covering:

  • Purpose and scope

  • Quick start (one-command bootstrap)

  • What “default Python” means on Debian

  • How to:

    • verify installed versions
    • create a venv with a chosen interpreter
  • Assumptions and limitations

Style should match existing OS-specific READMEs:

  • practical
  • minimal
  • human-oriented

Behavioral Acceptance Criteria

On a fresh Debian 13 system:

  • Running the setup script completes without manual intervention

  • Multiple Python versions are available side-by-side

  • A default Python version is clearly defined and active

  • A user can successfully run:

    python3.12 -m venv venv
    source venv/bin/activate
  • No Poetry or project tooling is required or configured


Versioning Impact

  • MINOR version bump (adds a new OS feature without breaking existing paths)
  • No changes to existing Windows/macOS behavior

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions