diff options
| author | Ahmed Abdelhalim <[email protected]> | 2026-02-19 14:33:05 +0100 |
|---|---|---|
| committer | Ahmed Abdelhalim <[email protected]> | 2026-02-19 16:21:10 +0100 |
| commit | 221ca9d12199dfe6ed73ce8724d31833a63675dd (patch) | |
| tree | 809c28c6c2369eeb69a174ab7d87a18acfb08ca3 /roles | |
| parent | 664604376476fa686265b0e60069e8e127467183 (diff) | |
Refactor steam to install on ubuntu as well
Diffstat (limited to 'roles')
| -rw-r--r-- | roles/multiverse/meta/argument_specs.yml | 6 | ||||
| -rw-r--r-- | roles/multiverse/meta/main.yml | 11 | ||||
| -rw-r--r-- | roles/multiverse/tasks/main.yml | 15 | ||||
| -rw-r--r-- | roles/steam/meta/main.yml | 7 | ||||
| -rw-r--r-- | roles/steam/tasks/install-archlinux.yml | 6 | ||||
| -rw-r--r-- | roles/steam/tasks/install-ubuntu.yml | 23 | ||||
| -rw-r--r-- | roles/steam/tasks/main.yml | 7 |
7 files changed, 66 insertions, 9 deletions
diff --git a/roles/multiverse/meta/argument_specs.yml b/roles/multiverse/meta/argument_specs.yml new file mode 100644 index 00000000..7ad25185 --- /dev/null +++ b/roles/multiverse/meta/argument_specs.yml @@ -0,0 +1,6 @@ +--- +argument_specs: + main: + short_description: "Enable multiverse repo" + description: "Enable multiverse repo" + options: {} diff --git a/roles/multiverse/meta/main.yml b/roles/multiverse/meta/main.yml new file mode 100644 index 00000000..d521e075 --- /dev/null +++ b/roles/multiverse/meta/main.yml @@ -0,0 +1,11 @@ +--- +dependencies: [] +galaxy_info: + author: "a14m" + description: "Enable multiverse repo" + license: "MIT" + min_ansible_version: "2.18" + platforms: + - name: "Ubuntu" + versions: + - "noble" diff --git a/roles/multiverse/tasks/main.yml b/roles/multiverse/tasks/main.yml new file mode 100644 index 00000000..caa17bc4 --- /dev/null +++ b/roles/multiverse/tasks/main.yml @@ -0,0 +1,15 @@ +--- +- name: "Enable multiverse repository" + become: true + ansible.builtin.lineinfile: + path: "/etc/apt/sources.list.d/ubuntu.sources" + regexp: "^Components:" + line: "Components: main restricted universe multiverse" + register: "multiverse_enabled" + +- name: "Update apt cache" + # noqa no-handler as this needs to run immediately for dependent packages + become: true + ansible.builtin.apt: + update_cache: true + when: "multiverse_enabled.changed" diff --git a/roles/steam/meta/main.yml b/roles/steam/meta/main.yml index 84677871..dd77817d 100644 --- a/roles/steam/meta/main.yml +++ b/roles/steam/meta/main.yml @@ -1,7 +1,9 @@ --- dependencies: - role: "multilib" - when: ansible_facts['os_family'] == "Archlinux" + when: ansible_facts['distribution'] == "Archlinux" + - role: "multiverse" + when: ansible_facts['distribution'] == "Ubuntu" galaxy_info: author: "a14m" description: "Install steam" @@ -14,6 +16,3 @@ galaxy_info: - name: "Ubuntu" versions: - "noble" - - name: "Debian" - versions: - - "bookworm" diff --git a/roles/steam/tasks/install-archlinux.yml b/roles/steam/tasks/install-archlinux.yml new file mode 100644 index 00000000..e8f57c7c --- /dev/null +++ b/roles/steam/tasks/install-archlinux.yml @@ -0,0 +1,6 @@ +--- +- name: "Ensure steam is installed" + become: true + ansible.builtin.package: + name: "{{ steam_pkg }}" + state: "present" diff --git a/roles/steam/tasks/install-ubuntu.yml b/roles/steam/tasks/install-ubuntu.yml new file mode 100644 index 00000000..cdc743e9 --- /dev/null +++ b/roles/steam/tasks/install-ubuntu.yml @@ -0,0 +1,23 @@ +--- +- name: "Check enabled architectures" + ansible.builtin.command: dpkg --print-foreign-architectures + changed_when: false + register: "steam_dpkg_architectures" + +- name: "Enable i386 architecture" + become: true + ansible.builtin.command: dpkg --add-architecture i386 + changed_when: true + when: "'i386' not in steam_dpkg_architectures.stdout_lines" + +- name: "Update apt cache" + become: true + ansible.builtin.apt: + update_cache: true + when: "'i386' not in steam_dpkg_architectures.stdout_lines" + +- name: "Ensure steam is installed" + become: true + ansible.builtin.package: + name: "{{ steam_pkg }}" + state: "present" diff --git a/roles/steam/tasks/main.yml b/roles/steam/tasks/main.yml index fc2b1f67..d05c0b18 100644 --- a/roles/steam/tasks/main.yml +++ b/roles/steam/tasks/main.yml @@ -2,8 +2,5 @@ - name: "Include OS-specific variables" ansible.builtin.include_vars: "{{ ansible_facts['os_family'] | lower }}.yml" -- name: "Ensure steam is installed" - become: true - ansible.builtin.package: - name: "{{ steam_pkg }}" - state: "present" +- name: "Include OS-specific tasks" + ansible.builtin.include_tasks: "install-{{ ansible_facts['distribution'] | lower }}.yml" |
