summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-02-18 19:17:46 +0100
committerAhmed Abdelhalim <[email protected]>2026-02-18 19:17:46 +0100
commit836ecd1aabe911965ee0dd2c60624d552c50ad89 (patch)
tree6da38129349b84de1b97e72000319ef08e3ad102
parent561da956a7c5ba6ee90b7303a1cc3f7fe9e6161d (diff)
Refactor enable multilib on archlinux as a separate role
-rw-r--r--roles/multilib/meta/argument_specs.yml6
-rw-r--r--roles/multilib/meta/main.yml11
-rw-r--r--roles/multilib/tasks/main.yml18
-rw-r--r--roles/nvidia_gtx1060/tasks/install-archlinux.yml20
4 files changed, 38 insertions, 17 deletions
diff --git a/roles/multilib/meta/argument_specs.yml b/roles/multilib/meta/argument_specs.yml
new file mode 100644
index 00000000..a662bdc8
--- /dev/null
+++ b/roles/multilib/meta/argument_specs.yml
@@ -0,0 +1,6 @@
+---
+argument_specs:
+ main:
+ short_description: "Enable multilib repo"
+ description: "Enable multilib repo"
+ options: {}
diff --git a/roles/multilib/meta/main.yml b/roles/multilib/meta/main.yml
new file mode 100644
index 00000000..7af9f148
--- /dev/null
+++ b/roles/multilib/meta/main.yml
@@ -0,0 +1,11 @@
+---
+dependencies: []
+galaxy_info:
+ author: "a14m"
+ description: "Enable multilib repo"
+ license: "MIT"
+ min_ansible_version: "2.18"
+ platforms:
+ - name: "ArchLinux"
+ versions:
+ - "all"
diff --git a/roles/multilib/tasks/main.yml b/roles/multilib/tasks/main.yml
new file mode 100644
index 00000000..d5a70260
--- /dev/null
+++ b/roles/multilib/tasks/main.yml
@@ -0,0 +1,18 @@
+---
+- name: "Enable multilib repository"
+ become: true
+ ansible.builtin.blockinfile:
+ path: "/etc/pacman.conf"
+ block: |
+ [multilib]
+ Include = /etc/pacman.d/mirrorlist
+ marker: "# {mark} ANSIBLE MULTILIB"
+ register: "multilib_enabled"
+
+- name: "Update pacman cache"
+ # noqa no-handler as this needs to run if the pacman configuration changes immediatly
+ # otherwise, it will fail to update the mirrorlist and fail to query the info about the needed libs
+ become: true
+ community.general.pacman:
+ update_cache: true
+ when: "multilib_enabled.changed"
diff --git a/roles/nvidia_gtx1060/tasks/install-archlinux.yml b/roles/nvidia_gtx1060/tasks/install-archlinux.yml
index ea75ed85..c7354b89 100644
--- a/roles/nvidia_gtx1060/tasks/install-archlinux.yml
+++ b/roles/nvidia_gtx1060/tasks/install-archlinux.yml
@@ -1,21 +1,7 @@
---
-- name: "Enable multilib repository"
- become: true
- ansible.builtin.blockinfile:
- path: "/etc/pacman.conf"
- block: |
- [multilib]
- Include = /etc/pacman.d/mirrorlist
- marker: "# {mark} ANSIBLE NVIDIA"
- register: "nvidia_gtx1060_multilib"
-
-- name: "Update pacman cache"
- # noqa no-handler as this needs to run if the pacman configuration changes immediatly
- # otherwise, it will fail to update the mirrorlist and fail to query the info about the needed libs
- become: true
- community.general.pacman:
- update_cache: true
- when: "nvidia_gtx1060_multilib.changed"
+- name: "Ensure multilib is enabled"
+ ansible.builtin.include_role:
+ name: "multilib"
- name: "Install libva NVIDIA driver"
become: true