Taha Ahmed
086ade1446
Let's see if this fixes anything |
7 months ago | |
---|---|---|
group_vars | 7 months ago | |
roles | 7 months ago | |
templates | 7 months ago | |
.gitignore | 7 months ago | |
.gitmodules | 7 months ago | |
LICENSE | 7 months ago | |
README.md | 7 months ago | |
ansible.cfg | 7 months ago | |
hosts.yml | 7 months ago | |
playbook.yml | 7 months ago |
README.md
Ansible playbook to provision your academic desktop
At present this playbook supports only Ubuntu. Please help me extend support to other Debian and Linux flavours by contributing issues or pull requests.
Start by flashing Ubuntu Server 22.04.4 Live ISO image to a USB stick (for example, using balenaEtcher) and use the installer to install the default Ubuntu Server OS on your computer (setup the disk however you like).
- https://releases.ubuntu.com/22.04
- https://releases.ubuntu.com/22.04/ubuntu-22.04.4-live-server-amd64.iso
- https://etcher.balena.io
Getting started
You have a freshly installed OS. Now we will install and configure our desktop using Ansible in pull mode from this repo.
First, install Ansible on your machine (to do that we first install pip
, then
use that to install ansible
):
$ sudo apt install python3-pip
$ sudo python3 -m pip install ansible
Note that this installs ansible
and its related binaries in /usr/local/bin/
.
We do it this way to avoid messing with PATH
or virtual environments at this point.
ansible-pull
pulls a playbook from a remote repo and executes it on the host.
$ ansible-pull -U https://codeberg.org/ansible/playbook-workstation
Why zhutop
? The reason is not very creative, it is simply a portmanteau of
the name of my academic advisor (whose desktop was the first host configured
using this playbook), and desktop
.
Links and notes
- https://blog.local-optimum.net/getting-started-with-autoinstall-on-ubuntu-desktop-24-04-lts-147a1defb2de
- https://discourse.ubuntu.com/t/spec-apt-deb822-sources-by-default/29333/7
- https://codeberg.org/D10f/ansible-desktop
Working with roles (git submodules)
Update all the roles from their respective remotes:
$ git submodule foreach git fetch
$ git submodule foreach git pull origin main
- https://stackoverflow.com/a/1032863
- https://stackoverflow.com/questions/10906554/how-do-i-revert-my-changes-to-a-git-submodule
Installing Ansible from pip
- https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#installing-and-upgrading-ansible-with-pip
- https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-ansible-on-ubuntu-22-04