| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -3,7 +3,7 @@
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				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 24.04.4 Live ISO image to a USB stick
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				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).
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -13,6 +13,31 @@ Ubuntu Server OS on your computer (setup the disk however you like).
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				## 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 desk`top`.
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -35,10 +60,19 @@ $ 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
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				### Ansible pull
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				+ https://medium.com/splunkuserdeveloperadministrator/using-ansible-pull-in-ansible-projects-ac04466643e8
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				+ https://medium.com/@emilfabrice/configure-your-linux-machines-with-ansible-pull-4cbca69613fa
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				+ https://www.devopsschool.com/blog/what-is-ansible-pull-and-how-can-we-use-it
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				+ https://stackoverflow.com/questions/10906554/how-do-i-revert-my-changes-to-a-git-submodule
 |