Cleaning up and documenting.
This commit is contained in:
		
							parent
							
								
									5668cd163d
								
							
						
					
					
						commit
						25cdd54e26
					
				
							
								
								
									
										24
									
								
								README.org
								
								
								
								
							
							
						
						
									
										24
									
								
								README.org
								
								
								
								
							| 
						 | 
					@ -39,3 +39,27 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    desktop installs the heavier and GUI things that I'd want on a
 | 
					    desktop installs the heavier and GUI things that I'd want on a
 | 
				
			||||||
    desktop (or realistically, a laptop).
 | 
					    desktop (or realistically, a laptop).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*** development
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    This installs a baseline of development tools; it also has
 | 
				
			||||||
 | 
					    variables to control what else gets installed:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    + dev_full installs everything
 | 
				
			||||||
 | 
					    + dev_virt installs virtualisation stuff, including docker
 | 
				
			||||||
 | 
					    + dev_embedded installs various embedded toolchains.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*** dotfiles
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Ye olde dotfiles, managed in Ansible. Was this a mistake? Nothing
 | 
				
			||||||
 | 
					    I do is a mistake.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*** heavy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    This is where stuff that takes a while to install goes. It's all
 | 
				
			||||||
 | 
					    desktop stuff, so it really only makes sense with the ~desktop~
 | 
				
			||||||
 | 
					    role.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*** tailscale
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Almost everything is going to get this; it installs tailscale.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -61,16 +61,19 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## virtualization and containerization
 | 
					## virtualization and containerization
 | 
				
			||||||
- name: ensure repository key is installed
 | 
					- name: ensure repository key is installed
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt_key:
 | 
					  ansible.builtin.apt_key:
 | 
				
			||||||
    url: https://download.docker.com/linux/ubuntu/gpg
 | 
					    url: https://download.docker.com/linux/ubuntu/gpg
 | 
				
			||||||
    state: present
 | 
					    state: present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: ensure docker registry is available
 | 
					- name: ensure docker registry is available
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt_repository: repo='deb https://download.docker.com/linux/ubuntu bionic stable' state=present
 | 
					  ansible.builtin.apt_repository: repo='deb https://download.docker.com/linux/ubuntu bionic stable' state=present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: rootfs building tools
 | 
					- name: rootfs building tools
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  ansible.builtin.apt: name={{ item }} state=present
 | 
					  ansible.builtin.apt: name={{ item }} state=present
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  with_items:
 | 
					  with_items:
 | 
				
			||||||
| 
						 | 
					@ -88,6 +91,7 @@
 | 
				
			||||||
    - syslinux-utils
 | 
					    - syslinux-utils
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: install container and virtualisation management
 | 
					- name: install container and virtualisation management
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt: name={{ item }} state=present
 | 
					  ansible.builtin.apt: name={{ item }} state=present
 | 
				
			||||||
  with_items:
 | 
					  with_items:
 | 
				
			||||||
| 
						 | 
					@ -114,18 +118,21 @@
 | 
				
			||||||
  notify: "restart docker service"
 | 
					  notify: "restart docker service"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Ensure kvm group exists
 | 
					- name: Ensure kvm group exists
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.group:
 | 
					  ansible.builtin.group:
 | 
				
			||||||
    name: kvm
 | 
					    name: kvm
 | 
				
			||||||
    state: present
 | 
					    state: present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Ensure docker group exists
 | 
					- name: Ensure docker group exists
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.group:
 | 
					  ansible.builtin.group:
 | 
				
			||||||
    name: docker
 | 
					    name: docker
 | 
				
			||||||
    state: present
 | 
					    state: present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: add laptop user {{ laptop_user }} to docker group
 | 
					- name: add laptop user {{ laptop_user }} to docker group
 | 
				
			||||||
 | 
					  when: dev_virt | dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.user:
 | 
					  ansible.builtin.user:
 | 
				
			||||||
    name: "{{ laptop_user }}"
 | 
					    name: "{{ laptop_user }}"
 | 
				
			||||||
| 
						 | 
					@ -135,6 +142,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## embedded dev stuff
 | 
					## embedded dev stuff
 | 
				
			||||||
- name: installed embedded dev tools
 | 
					- name: installed embedded dev tools
 | 
				
			||||||
 | 
					  when: dev_embedded | dev_full
 | 
				
			||||||
  ansible.builtin.apt: name={{ item }} state=present
 | 
					  ansible.builtin.apt: name={{ item }} state=present
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  with_items:
 | 
					  with_items:
 | 
				
			||||||
| 
						 | 
					@ -168,6 +176,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## vscode
 | 
					## vscode
 | 
				
			||||||
- name: add VS Code repo key
 | 
					- name: add VS Code repo key
 | 
				
			||||||
 | 
					  when: dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt_key:
 | 
					  ansible.builtin.apt_key:
 | 
				
			||||||
    url: https://packages.microsoft.com/keys/microsoft.asc
 | 
					    url: https://packages.microsoft.com/keys/microsoft.asc
 | 
				
			||||||
| 
						 | 
					@ -175,6 +184,7 @@
 | 
				
			||||||
    validate_certs: yes
 | 
					    validate_certs: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: add VS Code repo
 | 
					- name: add VS Code repo
 | 
				
			||||||
 | 
					  when: dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt_repository:
 | 
					  ansible.builtin.apt_repository:
 | 
				
			||||||
    repo: deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main
 | 
					    repo: deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main
 | 
				
			||||||
| 
						 | 
					@ -182,18 +192,20 @@
 | 
				
			||||||
    validate_certs: yes
 | 
					    validate_certs: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: install VS Code
 | 
					- name: install VS Code
 | 
				
			||||||
 | 
					  when: dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt: name=code state=present
 | 
					  ansible.builtin.apt: name=code state=present
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## rust
 | 
					## rust
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: check if cargo is installed
 | 
					- name: check if cargo is installed
 | 
				
			||||||
 | 
					  when: dev_full
 | 
				
			||||||
  shell: command -v cargo
 | 
					  shell: command -v cargo
 | 
				
			||||||
  register: cargo_exists
 | 
					  register: cargo_exists
 | 
				
			||||||
  ignore_errors: yes
 | 
					  ignore_errors: yes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: Download Installer
 | 
					- name: Download Installer
 | 
				
			||||||
  when: cargo_exists is failed
 | 
					  when: dev_full and cargo_exists is failed
 | 
				
			||||||
  get_url:
 | 
					  get_url:
 | 
				
			||||||
    url: https://sh.rustup.rs
 | 
					    url: https://sh.rustup.rs
 | 
				
			||||||
    dest: /tmp/sh.rustup.rs
 | 
					    dest: /tmp/sh.rustup.rs
 | 
				
			||||||
| 
						 | 
					@ -201,13 +213,14 @@
 | 
				
			||||||
    force: 'yes'
 | 
					    force: 'yes'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: install rust/cargo
 | 
					- name: install rust/cargo
 | 
				
			||||||
  when: cargo_exists is failed
 | 
					  when: dev_full and cargo_exists is failed
 | 
				
			||||||
  shell: /tmp/sh.rustup.rs -y
 | 
					  shell: /tmp/sh.rustup.rs -y
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## AI/ML stuff
 | 
					## AI/ML stuff
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: install machine learning and AI tools
 | 
					- name: install machine learning and AI tools
 | 
				
			||||||
 | 
					  when: dev_full
 | 
				
			||||||
  become: true
 | 
					  become: true
 | 
				
			||||||
  ansible.builtin.apt:
 | 
					  ansible.builtin.apt:
 | 
				
			||||||
    name: "{{item}}"
 | 
					    name: "{{item}}"
 | 
				
			||||||
| 
						 | 
					@ -216,6 +229,7 @@
 | 
				
			||||||
    - jupyter-notebook
 | 
					    - jupyter-notebook
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- name: install machine learning and AI python packages
 | 
					- name: install machine learning and AI python packages
 | 
				
			||||||
 | 
					  when: dev_full
 | 
				
			||||||
  ansible.builtin.pip:
 | 
					  ansible.builtin.pip:
 | 
				
			||||||
    executable: pip3
 | 
					    executable: pip3
 | 
				
			||||||
    name: "{{item}}"
 | 
					    name: "{{item}}"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										4
									
								
								site.yml
								
								
								
								
							
							
						
						
									
										4
									
								
								site.yml
								
								
								
								
							| 
						 | 
					@ -2,18 +2,22 @@
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - base
 | 
					    - base
 | 
				
			||||||
    - dotfiles
 | 
					    - dotfiles
 | 
				
			||||||
 | 
					    - desktop
 | 
				
			||||||
    - development
 | 
					    - development
 | 
				
			||||||
    - tailscale
 | 
					    - tailscale
 | 
				
			||||||
    - heavy
 | 
					    - heavy
 | 
				
			||||||
  vars:
 | 
					  vars:
 | 
				
			||||||
    laptop_user: kyle
 | 
					    laptop_user: kyle
 | 
				
			||||||
 | 
					    dev_full: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- hosts: work-laptop
 | 
					- hosts: work-laptop
 | 
				
			||||||
  roles:
 | 
					  roles:
 | 
				
			||||||
    - base
 | 
					    - base
 | 
				
			||||||
    - dotfiles
 | 
					    - dotfiles
 | 
				
			||||||
 | 
					    - desktop
 | 
				
			||||||
    - development
 | 
					    - development
 | 
				
			||||||
    - tailscale
 | 
					    - tailscale
 | 
				
			||||||
    - heavy
 | 
					    - heavy
 | 
				
			||||||
  vars:
 | 
					  vars:
 | 
				
			||||||
    laptop_user: k.isom
 | 
					    laptop_user: k.isom
 | 
				
			||||||
 | 
					    dev_virt: true
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue