Welcome aboard fellow developer, this git project was borned after I have to change the notebook to a new one with diferent OS, so a create this repository to execute the ansible and install all the applications I need to work and do my personal stuffs at once to save time and cognitive overhelming (something a lot of things is going on and I need to preserve my low energy). This project became I source of knowledge to do many thing I've learned and/or inspire new ideas into software/infrastructure project likewise my software/infrastructure personal endeavors.
This repository is organized into roles folder to each application installation. An application can have dependencies and I try to reuse roles to ensure everything application needs is installed. Most of application have Linux and MacOS installation, sometimes they are common for both OSs, sometimes not, but I use tags to group those installation by application and the installation is conditional according to OS the application and calls a specif role. The play book running is for local installation, so you have to clone this project in the machine we're gonna run the playbook. If you want to run remote installation, you can change it in the hosts file.
You're gonna need this tools to use this project:
- PyEnv 2.3.x or greater (Optional)
- Python 3.8.x or greater
- Ansible 2.18.x or greater (recommended to use a virtualenv, e.g.
$HOME/dev/ansible-2.18)
To run all the playbook roles, you can perform:
$ ansible-playbook main.yml -i hosts
PLAY [localhost] ******************************************************************************************************************************************
TASK [Gathering Facts] ************************************************************************************************************************************
ok: [localhost]
TASK [microk8s_macos : MicroK8S MacOS installation] *******************************************************************************************************
skipping: [localhost]
TASK [microk8s_macos : Gettting version installed] ********************************************************************************************************
skipping: [localhost]
TASK [microk8s_macos : debug] *****************************************************************************************************************************
ok: [localhost] => {
"msg": "..."
}
PLAY RECAP ************************************************************************************************************************************************
localhost : ok=2 changed=0 unreachable=0 failed=0 skipped=4 rescued=0 ignored=0To run a specific playbook role, you can perform with it declared in the command line:
$ ansible-playbook main.yml -i hosts --tags gnupg_role -K
.To list all the roles, you can perform:
$ ansible-playbook main.yml -i hosts --list-tags
.| Application | Version | SOs |
|---|---|---|
| AWS Azure Login | Latest (npm) | MacOS |
| AWS Cli | Latest v2 (AWSCLIV2.pkg) | MacOS |
| AWS SAM CLI | Latest (GitHub release) | MacOS |
| AWS VPN Cl | N/A (role not implemented yet) | MacOS |
| Azure Cli | Latest (Homebrew) | MacOS |
| Bruno API Client | Latest (GitHub release) | MacOS |
| CodeLite | Latest (Homebrew cask) | MacOS |
| Colima | Latest (binary, via GitHub) | MacOS |
| Discord | Latest (vendor macOS dmg) | MacOS |
| Docker CLI | 24.0.7 | MacOS |
| Docker Compose | v2.29.7 | MacOS |
| Docker Machine | v0.16.2 | MacOS |
| Exercism CLI | 3.0.13 | Linux (x86_64) |
| Firefox | 95.0 | MacOS |
| GIMP | 2.10.28 | MacOS |
| GNUPG (GPG Suite) | 2022.2 | MacOS |
| Go (Golang) | 1.14.3 | MacOS, Debian/Ubuntu |
| GoEnv | Latest (GitHub goenv) | MacOS, Debian/Ubuntu |
| Google Chrome | Latest (stable universal) | MacOS |
| GVM - Golang Version Manager | Latest (installer script) | MacOS |
| Insomnia | Latest (Insomnia mac dmg) | MacOS |
| iTerm2 | 3.4.15 | MacOS |
| Java Runtime | 11.0.14 | MacOS |
| JVM - OpenJDK | 21.0.5+11 (Eclipse Temurin) | MacOS |
| Kiro Dev | 202510142329 | MacOS |
| Lima | 1.2.1 (installed via Colima role) | MacOS |
| MicroK8S | Latest (Homebrew ubuntu/microk8s) | MacOS |
| Minikube | Latest (minikube-darwin-amd64) | MacOS |
| Multipass | Latest (vendor macOS package) | MacOS |
| NGrok | v3 (darwin-amd64) | MacOS |
| Node.js (via NVM) | v14.18.2 | MacOS |
| Notion | Latest (Notion mac-universal) | MacOS |
| NVM | v0.40.3 | MacOS |
| Podman | Latest (Homebrew) | MacOS |
| Postman | Latest (osx_arm64) | MacOS |
| RVM - Ruby Version Manager | Latest (installer script) | MacOS |
| Slack | 4.45.64 | MacOS |
| Spotify | Latest (SpotifyInstaller.zip) | MacOS |
| Talisman | Latest (installer script) | MacOS |
| Telegram Desktop | 3.3.0 | MacOS |
| Terraform | 0.12.31 | MacOS |
| Terragrunt | v0.43.0 | MacOS |
| TFEnv | Latest (GitHub tfenv) | MacOS |
| TFSec | Latest (GitHub release) | MacOS |
| Vagrant | Latest (Homebrew hashicorp/tap) | MacOS |
| VirtualBox | 7.0.18 | MacOS |
| Visual Studio Code | Latest (stable darwin-universal) | MacOS |
| VNC Viewer | 6.20.113 | MacOS |
| ZSH Oh My | Latest (ohmyzsh install.sh) | MacOS |
| Zoom | Latest (Zoom.pkg) | MacOS |