71 lines
2.2 KiB
YAML

---
# 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