This project uses Ansible to automate the installation and configuration of a laptop running Debian or Ubuntu. It includes essential software installation, system configuration, and the management of development and containerization tools.
ansible.cfg: Global Ansible configurationinventory.yml: Defines hosts and groups for Ansibleplaybook.yml: Main playbook orchestrating the role executionroles/: Contains various Ansible roleslocal_laptop/: Laptop installation and configurationdocker/: Docker and Docker Compose installationgit/: Git configurationkubectl/:kubectlinstallationdevtools/: Development tools installation (e.g., Postman)asdf/:asdfversion manager setuphashicorp_software/: Terraform and Vagrant installationstartship/: Starship installation
.
├── ansible.cfg
├── check_ansible_vault.sh
├── group_vars
│ └── all
├── img
│ └── local_laptop.png
├── local_laptop.sh
├── playbook.yml
├── pyvenv.cfg
├── README.md
├── remove_asdf_setup.yml
├── remove_packages.yml
├── requirement.txt
├── revert_kubernetes_setup.yml
├── roles
│ ├── asdf
│ ├── devtools
│ ├── docker
│ ├── git
│ ├── hashicorp_software
│ ├── homebrew
│ ├── kubectl
│ ├── local_laptop
│ └── startship
├── terraform
│ ├── main.tf
│ ├── terraform.tfstate
│ └── variables.tf
└── venv
- Debian-based system (Debian 12, Ubuntu...)
- Python 3.8 or higher
- Ansible installed on the local machine
git clone <REPO_URL>
cd <REPO_NAME>python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip
pip install -r requirement.txtIf files are encrypted with ansible-vault, ensure you have the password file:
export ANSIBLE_VAULT_PASSWORD_FILE=~/Workspace/.vault/.vault_passwordansible-playbook playbook.ymlOr with a specific tag:
ansible-playbook playbook.yml --tags installinstall: Base installationupdate: Package updatesconfigure: System configurationremove_packages: Uninstall specific softwareasdf: Manage plugins withasdfkubernetes: Setupkubectldocker: Install and configure Docker
The project uses pre-commit to ensure files containing secrets are properly encrypted with ansible-vault.
pre-commit install
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
