| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -15,24 +15,29 @@ Ubuntu Server OS on your computer (setup the disk however you like).
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					## Getting started
 | 
					 | 
					 | 
					 | 
					## Getting started
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					You have a freshly installed OS. Now we will install and configure our desktop
 | 
					 | 
					 | 
					 | 
					You have a freshly installed OS. Now we will install and configure your workstation
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					using Ansible *in pull mode* from this repo.
 | 
					 | 
					 | 
					 | 
					using Ansible *in pull mode* from this repo.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					First, install Ansible on your machine (to do that we first install `pip`, then
 | 
					 | 
					 | 
					 | 
					First, install Ansible on your machine (to do that we first install `pip`, then
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					use that to install `ansible`):
 | 
					 | 
					 | 
					 | 
					use that to install `ansible`):
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					```
 | 
					 | 
					 | 
					 | 
					```
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					$ sudo apt install python3-pip
 | 
					 | 
					 | 
					 | 
					$ sudo apt install python3-pip
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					$ sudo python3 -m pip install ansible
 | 
					 | 
					 | 
					 | 
					$ sudo python3 -m pip install ansible jmespath
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					```
 | 
					 | 
					 | 
					 | 
					```
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					Note that this installs `ansible` and its related binaries in `/usr/local/bin/`.
 | 
					 | 
					 | 
					 | 
					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.
 | 
					 | 
					 | 
					 | 
					We do it this way to avoid messing with `PATH` or virtual environments at this point.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					We also installed `jmespath` which is required by the `json_query` filter which
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					is used in some tasks of this playbook.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					`ansible-pull` pulls a playbook from a remote repo and executes it on the host.
 | 
					 | 
					 | 
					 | 
					`ansible-pull` pulls a playbook from a remote repo and executes it on the host.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					```
 | 
					 | 
					 | 
					 | 
					```
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					$ ansible-pull -U https://codeberg.org/ansible/playbook-workstation
 | 
					 | 
					 | 
					 | 
					$ ansible-pull -U https://codeberg.org/ansible/playbook-workstation --ask-become-pass
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					```
 | 
					 | 
					 | 
					 | 
					```
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					The warning about `Could not match supplied host pattern` can [safely be disregarded](https://stackoverflow.com/a/55821135/1198249).
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -71,8 +76,15 @@ $ git submodule foreach git pull origin main
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					### Ansible pull
 | 
					 | 
					 | 
					 | 
					### Ansible pull
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					+ https://docs.ansible.com/ansible/latest/cli/ansible-pull.html
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					+ https://medium.com/splunkuserdeveloperadministrator/using-ansible-pull-in-ansible-projects-ac04466643e8
 | 
					 | 
					 | 
					 | 
					+ https://medium.com/splunkuserdeveloperadministrator/using-ansible-pull-in-ansible-projects-ac04466643e8
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					+ https://medium.com/@emilfabrice/configure-your-linux-machines-with-ansible-pull-4cbca69613fa
 | 
					 | 
					 | 
					 | 
					+ 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://www.devopsschool.com/blog/what-is-ansible-pull-and-how-can-we-use-it
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					+ https://stackoverflow.com/questions/55820887/how-to-resolve-warning-could-not-match-supplied-host-pattern-ignoring-machin
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					### Ansible inventory
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					+ https://evrard.me/convert-ansible-inventories-with-ansible-inventory-cli
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  (the `ansible-inventory` CLI can convert `hosts` files from `INI` to `YAML`, among other tricks)
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  via https://stackoverflow.com/a/51596307/1198249
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
					 | 
					 | 
					
 
 |