https://github.com/64bit/developer-setup-ansible
Setup Ubuntu for Development using Ansible
https://github.com/64bit/developer-setup-ansible
ansible ubuntu
Last synced: about 1 month ago
JSON representation
Setup Ubuntu for Development using Ansible
- Host: GitHub
- URL: https://github.com/64bit/developer-setup-ansible
- Owner: 64bit
- License: mit
- Created: 2019-10-22T03:51:13.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2020-05-06T17:07:58.000Z (about 6 years ago)
- Last Synced: 2025-05-31T03:39:11.535Z (about 1 year ago)
- Topics: ansible, ubuntu
- Language: Shell
- Homepage:
- Size: 41 KB
- Stars: 1
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# developer-setup-ansible
Setup Ubuntu 18.04.03 for Development using Ansible
## Setup
To play `desktop-playbook.yml` playbook run:
```
./setup.sh
```
## List of Ansible roles
| Role | Description | Configuration |
| --- | --- | --- |
| common-packages | Installes packages which doesn't require much configurations like `curl`, `tig` etc. | see [main.yml](./roles/common-packages/tasks/main.yml) |
| docker | Installs `docker`, `docker-compose`. Adds current user to `docker` group | |
| git | Installs `git`, and creates global `~/.gitconfig` file | `gitconfig` see [desktop-playbook.yml](./desktop-playbook.yml) |
| nvidia | Installs NVIDIA driver. Needs reboot. Also installs [nvidia-container-toolkit](https://github.com/NVIDIA/nvidia-docker/blob/master/README.md#nvidia-container-toolkit) | `driver_version` |
| ssh | Generates keypair in `~/.ssh` directory. Installs `openssh-server` and `/etc/ssh/ssh_config` only allowing public key login and prevents password logins.| see [sshd_config.j2](./roles/ssh/templates/sshd_config.j2) |
| vim | Installs `vim` and creates `~/.vimrc` | Configure [.vimrc](roles/vim/files/vimrc) |
| visual-studio-code | Installs lastest version | |
| zsh | Installs `zsh` and `oh-my-zsh` | `ohmyzsh_theme` (string) and `ohmyzsh_plugins` (list) |
| pip | Installs `pip` (`pip2`) and `pip3`. Also sets `PATH=$PATH:~/.local/bin` for pip packages in shell startup files (if present) `~/.zshrc` and `~/.bashrc`, hence restart shell as needed to load new `PATH` | `pip3_packages` (list) |
| virtual-machine-software | Installs `multipass`. Installs KVM + virt-manager as described on https://help.ubuntu.com/community/KVM/Installation | |
| golang | Installs `go` in `/usr/local/go` as described in [golang install doc](https://golang.org/doc/install#install). Adds `GOPATH=$HOME/go` in `~/.zshrc` and `~/.bashrc` | `version` (default = 1.13.4) |
| tmux | Installs `tmux` along tmux configuration | [See gpakosz/.tmux on Github](https://github.com/gpakosz/.tmux) |
## Running specific Role
Individual roles can be played by using tags with same name, for example to run only `nvidia`:
```
ansible-playbook --ask-become-pass desktop-playbook.yml --tags nvidia
```