temp!
This commit is contained in:
		
						commit
						114130d8f4
					
				
							
								
								
									
										48
									
								
								local.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								local.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,48 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
| 
 | ||||
|   vars: | ||||
|     package_become: true | ||||
|     repos: | ||||
|       # - repo: git@code.infektor.net:config/kitty.git | ||||
|       #   path: ~/.config/kitty | ||||
|       - repo: git@code.infektor.net:config/zsh.git | ||||
|         path: ~/.config/zsh | ||||
|       - repo: git@code.infektor.net:config/tmux.git | ||||
|         path: ~/.config/tmux | ||||
|       - repo: git@code.infektor.net:config/vim.git | ||||
|         path: ~/.config/nvim | ||||
|       - repo: git@code.infektor.net:config/git.git | ||||
|         path: ~/.config/git | ||||
|       - repo: git@code.infektor.net:config/python.git | ||||
|         path: ~/.config/python | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Clone config repos | ||||
|       git: | ||||
|         repo: '{{item.repo}}' | ||||
|         dest: '{{item.path}}' | ||||
|         version: master | ||||
|       with_items: '{{repos}}' | ||||
| 
 | ||||
|     - name: Set config repos user.email | ||||
|       git_config: | ||||
|         repo: '{{item.path}}' | ||||
|         scope: local | ||||
|         name: user.email | ||||
|         value: '{{item.email | default("benie@infektor.net")}}' | ||||
|       with_items: '{{repos}}' | ||||
| 
 | ||||
|     - block: | ||||
|         - name: Dynamically include tasks from config repos | ||||
|           include_tasks: | ||||
|             file: '{{config}}/tasks.yaml' | ||||
|           loop_control: | ||||
|             loop_var: config | ||||
|           with_items: '{{repos | map(attribute="path") | list}}' | ||||
|       tags: tasks | ||||
| 
 | ||||
| - import_playbook: local/base-dirs.yaml | ||||
| - import_playbook: local/fonts.yaml | ||||
| - import_playbook: local/ferdi.yaml | ||||
| - import_playbook: local/distrobox.yaml | ||||
							
								
								
									
										22
									
								
								local/base-dirs.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								local/base-dirs.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
| 
 | ||||
|   vars: | ||||
|     base_dirs: | ||||
|       - ~/.cache | ||||
|       - ~/.cache/local | ||||
|       - ~/.config | ||||
|       - ~/.local | ||||
|       - ~/.local/bin | ||||
|       - ~/.local/include | ||||
|       - ~/.local/lib | ||||
|       - ~/.local/share | ||||
|       - ~/.local/src | ||||
|       - ~/.local/state | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Create base directories | ||||
|       file: | ||||
|         state: directory | ||||
|         path: '{{item}}' | ||||
|       with_items: '{{base_dirs}}' | ||||
							
								
								
									
										21
									
								
								local/distrobox.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								local/distrobox.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,21 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
| 
 | ||||
|   handlers: | ||||
|     - name: Install distrobox | ||||
|       command: | ||||
|         creates: ~/.local/bin/distrobox* | ||||
|         cmd: ~/.local/src/distrobox/install -p ~/.local/bin | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Install distrobox dependencies | ||||
|       become: true | ||||
|       apt: | ||||
|         name: podman | ||||
| 
 | ||||
|     - name: Clone distrobox repository | ||||
|       git: | ||||
|         repo: https://github.com/89luca89/distrobox.git | ||||
|         dest: ~/.local/src/distrobox | ||||
|         version: main | ||||
|       notify: Install distrobox | ||||
							
								
								
									
										20
									
								
								local/ferdi.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								local/ferdi.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
| 
 | ||||
|   handlers: | ||||
|     - name: Install Ferdi | ||||
|       become: true | ||||
|       apt: | ||||
|         deb: '~/.cache/local/ferdi_{{latest.json.name}}_amd64.deb' | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Get latest Ferdi release | ||||
|       uri: | ||||
|         url: https://api.github.com/repos/getferdi/ferdi/releases/latest | ||||
|       register: latest | ||||
| 
 | ||||
|     - name: Download latest Ferdi deb package | ||||
|       get_url: | ||||
|         url: 'https://github.com/getferdi/ferdi/releases/download/{{latest.json.tag_name}}/ferdi_{{latest.json.name}}_amd64.deb' | ||||
|         dest: '~/.cache/local/ferdi_{{latest.json.name}}_amd64.deb' | ||||
|       notify: Install Ferdi | ||||
							
								
								
									
										58
									
								
								local/fonts.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								local/fonts.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| --- | ||||
| - hosts: localhost | ||||
| 
 | ||||
|   vars: | ||||
|     # jq: From all the items in the assets list, select the item | ||||
|     # with the name that starts with "OTF" and return that name. | ||||
|     otf_query: >- | ||||
|       .assets[] | select(.name | test("OTF.*")) | .name | ||||
|     # jq: As above but instead of returning the name return the browser | ||||
|     # download URL. | ||||
|     otf_url_query: >- | ||||
|       .assets[] | select(.name | test("OTF.*")) | | ||||
|       .browser_download_url | ||||
| 
 | ||||
|   handlers: | ||||
|     - name: Rebuild font cache | ||||
|       command: fc-cache -f | ||||
| 
 | ||||
|   tasks: | ||||
|     - name: Get latest Source Code Pro font release | ||||
|       uri: | ||||
|         url: https://api.github.com/repos/adobe-fonts/source-code-pro/releases/latest | ||||
|       register: latest | ||||
| 
 | ||||
|     - name: Set Source Code Pro font zip path | ||||
|       set_fact: | ||||
|         zip_path: '~/.cache/local/{{latest.json | moreati.jq.jq(otf_query)}}' | ||||
| 
 | ||||
|     - name: Download latest Source Code Pro zip | ||||
|       get_url: | ||||
|         url: '{{latest.json | moreati.jq.jq(otf_url_query)}}' | ||||
|         dest: '{{zip_path}}' | ||||
| 
 | ||||
|     - name: Extract Source Code Pro font zip | ||||
|       unarchive: | ||||
|         src: '{{zip_path}}' | ||||
|         dest: ~/.local/share/fonts | ||||
|       notify: Rebuild font cache | ||||
| 
 | ||||
|     - name: Get latest Source Sans font release | ||||
|       uri: | ||||
|         url: https://api.github.com/repos/adobe-fonts/source-sans-pro/releases/latest | ||||
|       register: latest | ||||
| 
 | ||||
|     - name: Set Source Sans font zip path | ||||
|       set_fact: | ||||
|         zip_path: '~/.cache/local/{{latest.json | moreati.jq.jq(otf_query)}}' | ||||
| 
 | ||||
|     - name: Download latest Source Sans font zip | ||||
|       get_url: | ||||
|         url: '{{latest.json | moreati.jq.jq(otf_url_query)}}' | ||||
|         dest: '{{zip_path}}' | ||||
| 
 | ||||
|     - name: Extract Source Sans font zip | ||||
|       unarchive: | ||||
|         src: '{{zip_path}}' | ||||
|         dest: ~/.local/share/fonts | ||||
|       notify: Rebuild font cache | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user