--- # Install version of Codium which can use local compilers and SDKs like Flutter # properly. Flatpaks need workarounds to do this. This also lets us remove # CodeOSS and use Codium in 2 ways. # Commands sourced and modified based on: # https://vscodium.com/#install-on-debian-ubuntu-deb-package # This also exists but was not utilized: # https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo ## Facts ## # Paths - name: Workstation | Linux | Software | VS Codium | Facts set_fact: vscodium_source_list: "/etc/apt/sources.list.d/vscodium.list" vscodium_keyfile: "/usr/share/keyrings/vscodium.gpg" when: ansible_pkg_mgr == "apt" # Checks - name: Workstation | Linux | Software | VS Codium | Check PPA stat: path: "{{ vscodium_source_list }}" register: vscodium_source_exists when: ansible_pkg_mgr == "apt" ## Install Repo ## - name: Workstation | Linux | Software | VS Codium | Add Latest Key shell: "wget -qO - https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/raw/master/pub.gpg \ | gpg --dearmor \ | sudo tee {{ vscodium_keyfile }} > /dev/null" when: ansible_pkg_mgr == "apt" and coding == true - name: Workstation | Linux | Software | VS Codium | Add PPA shell: "{{ item }}" loop: - "echo 'deb [arch=amd64,arm64 signed-by={{ vscodium_keyfile }}] https://download.vscodium.com/debs vscodium main' \ | sudo tee {{ vscodium_source_list }}" - "sudo apt update" when: ansible_pkg_mgr == "apt" and coding == true and not vscodium_source_exists.stat.exists ## Install Package ## - name: Workstation | Linux | Software | VS Codium | Install package: name: - codium state: present when: ansible_pkg_mgr == "apt" and coding == true ## Remove Package ## - name: Workstation | Linux | Software | VS Codium | Uninstall package: name: - codium state: absent when: ansible_pkg_mgr == "apt" and coding != true ## Remove Repo ## - name: Workstation | Linux | Software | VS Codium | Remove PPA shell: "{{ item }}" loop: - "mv {{ vscodium_source_list }} ~/TRASH/" - "mv /etc/apt/keyrings/vscodium*.gpg ~/TRASH/" - "sudo apt update" when: ansible_pkg_mgr == "apt" and coding != true and vscodium_source_exists.stat.exists