summaryrefslogtreecommitdiffstats
path: root/roles/nvidia_gtx1060/tasks
diff options
context:
space:
mode:
authorAhmed Abdelhalim <[email protected]>2026-01-24 21:07:20 +0100
committerAhmed Abdelhalim <[email protected]>2026-01-24 22:33:34 +0100
commit9ffe47ba5a4f9cb4bcc295468968acec07ecd8a6 (patch)
tree7148f5ecbc9b1d79034c10c7d68599cd9c3e8170 /roles/nvidia_gtx1060/tasks
parente1acbb9225197f3910fb3a84009773564c47297f (diff)
Rename nvidia role to nvidia_gtx1060
Diffstat (limited to 'roles/nvidia_gtx1060/tasks')
-rw-r--r--roles/nvidia_gtx1060/tasks/install-archlinux.yml42
-rw-r--r--roles/nvidia_gtx1060/tasks/main.yml3
2 files changed, 45 insertions, 0 deletions
diff --git a/roles/nvidia_gtx1060/tasks/install-archlinux.yml b/roles/nvidia_gtx1060/tasks/install-archlinux.yml
new file mode 100644
index 00000000..488dd15d
--- /dev/null
+++ b/roles/nvidia_gtx1060/tasks/install-archlinux.yml
@@ -0,0 +1,42 @@
+---
+- name: "Install libva NVIDIA driver"
+ become: true
+ ansible.builtin.package:
+ name: "{{ nvidia_gtx_1060_packages }}"
+ state: "present"
+
+- name: "Install NVIDIA driver from AUR"
+ become: true
+ become_user: "aur_builder"
+ kewlfft.aur.aur:
+ name: "{{ nvidia_gtx_1060_aur_packages }}"
+ state: "present"
+ use: "yay"
+
+- name: "Configure NVIDIA DRM kernel mode setting"
+ become: true
+ ansible.builtin.template:
+ src: "nvidia.conf.j2"
+ dest: "/etc/modprobe.d/nvidia.conf"
+ mode: "0644"
+ notify: "Rebuild initramfs"
+
+- name: "Get current mkinitcpio MODULES"
+ become: true
+ ansible.builtin.shell: |
+ set -euo pipefail
+ grep '^MODULES=' /etc/mkinitcpio.conf | sed 's/MODULES=(\(.*\))/\1/'
+ # noqa var-naming[no-role-prefix] as it describes the current kernel modules and not the nvidia modules
+ register: "current_kernel_modules"
+ changed_when: false
+
+- name: "Add NVIDIA modules to mkinitcpio"
+ become: true
+ vars:
+ existing_modules: "{{ current_kernel_modules.stdout.split() | reject('in', nvidia_gtx_1060_modules) | list }}"
+ all_modules: "{{ existing_modules + nvidia_gtx_1060_modules }}"
+ ansible.builtin.lineinfile:
+ path: "/etc/mkinitcpio.conf"
+ regexp: "^MODULES=\\(.*\\)"
+ line: "MODULES=({{ all_modules | join(' ') }})"
+ notify: "Rebuild initramfs"
diff --git a/roles/nvidia_gtx1060/tasks/main.yml b/roles/nvidia_gtx1060/tasks/main.yml
new file mode 100644
index 00000000..71bcbd0d
--- /dev/null
+++ b/roles/nvidia_gtx1060/tasks/main.yml
@@ -0,0 +1,3 @@
+---
+- name: "Include OS-specific tasks"
+ ansible.builtin.include_tasks: "install-{{ ansible_facts['os_family'] | lower }}.yml"