This repository contains environment bootstrap scripts, dotfiles, and conventions for building predictable, repeatable development environments across platforms.
It is intentionally conservative, explicit, and automation-light:
- no hidden magic
- no opinionated frameworks forced on projects
- safe to re-run
- easy to audit
Choose your platform:
curl -fsSL https://raw.githubusercontent.com/NickLinney/env/main/Python/Debian/trixie/python_trixie_new_setup.sh | bashAfter completion, open a new shell (or source your rc file) and verify:
python --version
which python
pyenv versions
pyenv globalcd ~/Documents/Workspace
git clone https://github.com/NickLinney/env.git
cd env
.\Python\Windows\python_windows_new_setup.ps1
.\Python\Windows\python_poetry_preferences.ps1Then follow the detailed guide:
Python/Windows/README.md
See:
dotfiles/MacOS/15.6.1/README.md
This repo exists to:
- bootstrap new machines quickly and safely
- provide repeatable baseline conventions (paths, structure, repo hygiene)
- preserve explicit interpreter control across platforms
- avoid coupling projects to “one true workflow”
It is a foundation: scripts and templates you can adopt, adapt, and extend.
.
├─ Python/
│ ├─ Debian/
│ │ └─ trixie/ # Debian 13 Python bootstrap (pyenv)
│ ├─ Windows/ # Windows Python + Poetry setup
│ └─ templates/ # Shared Python templates (.gitignore, cookbooks)
│
├─ dotfiles/
│ └─ MacOS/
│ └─ 15.6.1/ # macOS zsh configuration template
│
├─ docs/
│ ├─ CONVENTIONS.md
│ └─ VERSIONING.md
│
├─ CHANGELOG.md
├─ VERSION.md
└─ LICENSE.md
- Bootstrap script:
Python/Debian/trixie/python_trixie_new_setup.sh - Documentation:
Python/Debian/trixie/README.md
What it does:
- installs build deps via
apt - installs/updates
pyenvunder~/.pyenv - installs multiple CPython versions side-by-side
- sets a single explicit default via
pyenv global - configures shell init idempotently (
~/.bashrc,~/.zshrc)
What it intentionally does not do:
- no Poetry
- no pipx-managed CLIs
- no project scaffolding
-
Setup scripts:
Python/Windows/python_windows_new_setup.ps1Python/Windows/python_poetry_preferences.ps1
-
Documentation:
Python/Windows/README.md
What it provides:
- multiple Python versions via
winget+ thepylauncher - Poetry installed via
pipx - Poetry configured for per-project
.venv/ - explicit Python 3.12 defaults (team baseline)
- Dotfiles:
dotfiles/MacOS/15.6.1/ - Documentation:
dotfiles/MacOS/15.6.1/README.md
Focus:
- minimal zsh setup
- lightweight time tracking utilities
- small, auditable quality-of-life aliases (including
diffsfor git inspection)
docs/CONVENTIONS.mddescribes repo layout rules, naming patterns, and hygiene.docs/VERSIONING.mddescribes SemVer usage and branch/tag discipline.CHANGELOG.mdrecords release history and meaningful changes.VERSION.mddescribes the current release snapshot in narrative form.
MIT License — see LICENSE.md.