Install software
Use this page to apply the managed workstation configuration to a new or freshly prepared machine after completing Install OS/Ansible. Installing software through Ansible makes the setup repeatable, reviewable, and easier to share across the team.
ansible-playbook -i inventory -K playbooks/lab-stack.ymlThe command applies the desired state for the first time. Update software reapplies and audits that same state during routine maintenance. Both workflows rely on Ansible and documented package policy rather than manual, undocumented changes.
Ansible playbooks are designed to be idempotent: they describe the desired final state of the workstation. When you rerun the command, Ansible checks what is already installed or configured and only applies missing or changed steps. This makes repeated runs safe after an interrupted installation or after changing documented configuration.
🔧 Manual setup and configuration
After the automated installation, complete only the manual steps for software you use:
- Set up GitHub SSH/GPG identity and workstation basics in Baseline.
- Log out and back in before testing Docker group access; see Docker.
- Configure browsers and extensions in Chrome if needed.
- Configure Thunderbird accounts and extensions in Thunderbird if needed.
- Sign in to editors, extensions, and settings sync in VS Code if needed.
- Start or verify local research services in GROBID and LanguageTool if you use them.
- Configure OCR workflows in OCR and Quarto publishing in Quarto if relevant.
Run only one playbook tag when you need to test or reapply a specific area:
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags baseline
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags ocr
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags virtualbox
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags docker
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags grobid
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags languagetool
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags quarto
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags chrome
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags vscode
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags teams
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags thunderbird
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags desktopYou can also combine tags, for example:
ansible-playbook -i inventory -K playbooks/lab-stack.yml --tags baseline,docker,grobid,vscode