Ansible-based utility to set up a new Ubuntu Desktop machine with development and deployment tools. Tested with the following LTS Ubuntu distributions:
- 22.04 (Jammy Jellyfish)
To request an additional tool, please raise a new issue.
Version managers are a convenient way of running multiple versions of a runtime or programming language on a single machine. When working on multiple projects, often a specific version of e.g. Python or NodeJS is required per project. Version managers dramatically reduce the effort needed to switch between different runtime/language versions. This deployment includes the following version managers for programming languages:
- nvm - NodeJS version manager
- SDKMAN - Java and Java ecosystem tooling version manager
- pyenv - Python version manager
- rbenv - Ruby version manager
- goenv - Golang version manager
- phpenv - PHP version manager
The following tooling version managers are also installed:
- Virtual machine manager with QEMU/KVM - Run full virtual machines
- Docker and Docker Composer - Run application containers
The following developer tools are installed:
- Microsoft Visual Studio Code (VSCode) -
code
- GitHub CLI -
gh
- Postman - API development utilities
- Google Cloud SDK -
gcloud
CLI tool - AWS CLI (v2) -
aws
CLI tool - aws-vault - AWS credential and role switching manager
- Azure CLI -
az
CLI tool - kubectl - Kubernetes CLI tool
- Terraform (via
tfenv
version manager) - Packer (via
pkenv
version manager) - Remmina - Remote desktop access
The following web browsers are installed:
- Brave browser
- Google Chrome
The following messaging tools are installed:
- Slack
- Discord
- Microsoft Teams
- Signal Messenger
The following database administration (DBA) tools are installed:
- MySQL Workbench
- PostgreSQL pgAdmin
The following security tools are installed:
- Keybase - Secure communications
- Uncomplicated Firewall (
ufw
) - ClamAV - Virus scanner
- Libreoffice - document creation
- Gimp - graphical image manipulation
- Inkscape - vector drawing utilities
- Xournal - PDF management
- OBS Studio - Screen recording
First Download the deploy.sh
script locally:
wget -O deploy.sh https://raw.githubusercontent.com/voquis/ubuntu-desktop-dev-setup/main/deploy.sh
Then make the downloaded script executable:
chmod +x deploy.sh
Finally, execute the deployment script with:
./deploy.sh
Reboot machine for all changes to take effect.