This repo is an Ansible monorepo for my self-hosted Linux environment.
First, install Python 3.13 and uv.
Then, install repo dependencies, including Ansible, Ansible collections, ansible-lint, pre-commit hooks, and other Python packages:
source ./activate -uAfter initial setup, simply activate the virtualenv when working in this repo:
source ./activateRe-running the repo setup will update Python packages and Ansible collections:
source ./activate -uDependencies are declared in various places:
- Python dependencies are pinned by minor versions, declared in
requirements.txt- Re-run setup after updating dependency pins
- Pre-commit hooks are pinned by exact versions, declared in
.pre-commit-config.yaml- Update by running
pre-commit autoupdate
- Update by running
- Ansible collections are unpinned, declared in
requirements.yml
Copyright (c) 2021-2024 Chris Xiao