From b3c1e7a08f5b8111c3aacd65a4d6e6fbc945a6ea Mon Sep 17 00:00:00 2001 From: Massaki Archambault Date: Sat, 2 Mar 2024 22:01:44 -0500 Subject: [PATCH] setup playbook to install xone driver --- ansible.cfg | 5 ++++ hosts | 2 ++ roles/steamdeck/tasks/main.yaml | 50 +++++++++++++++++++++++++++++++++ site.yaml | 3 ++ 4 files changed, 60 insertions(+) create mode 100644 ansible.cfg create mode 100644 hosts create mode 100644 roles/steamdeck/tasks/main.yaml create mode 100644 site.yaml diff --git a/ansible.cfg b/ansible.cfg new file mode 100644 index 0000000..c90c18b --- /dev/null +++ b/ansible.cfg @@ -0,0 +1,5 @@ +[defaults] +ask_pass = true + +[privilege_escalation] +become_ask_pass = true \ No newline at end of file diff --git a/hosts b/hosts new file mode 100644 index 0000000..93cc301 --- /dev/null +++ b/hosts @@ -0,0 +1,2 @@ +[steamdeck] +steamdeck.local ansible_user=deck ansible_become_method=sudo \ No newline at end of file diff --git a/roles/steamdeck/tasks/main.yaml b/roles/steamdeck/tasks/main.yaml new file mode 100644 index 0000000..fbe77b2 --- /dev/null +++ b/roles/steamdeck/tasks/main.yaml @@ -0,0 +1,50 @@ +- name: Disable read-only filesystem + become: true + command: steamos-readonly disable + +- name: Check if pacman keyring exists + stat: + path: /etc/pacman.d/gnupg/secring.gpg + register: keyring_dir + +- name: Initialize pacman keyring + become: true + shell: pacman-key --init && pacman-key --populate + when: not keyring_dir.stat.exists + +# start setup sudoer +- name: Allow passwordless sudo for the duration of the playbook + become: true + lineinfile: + path: /etc/sudoers.d/zzz-passwordless-wheel + line: '%wheel ALL=(ALL) NOPASSWD: ALL' + create: yes + mode: 0644 + validate: '/usr/sbin/visudo -cf %s' +# end setup sudoer + +# start install xone +- name: Install required packages for building kernel module + become: true + pacman: + update_cache: true + name: + - base-devel + - https://steamdeck-packages.steamos.cloud/archlinux-mirror/jupiter-main/os/x86_64/linux-{{ ansible_kernel | regex_search('neptune-[0-9]+$') }}-headers-{{ ansible_kernel | regex_search('^[0-9]+\.[0-9]+\.[0-9]+') }}.{{ ansible_kernel | regex_search('valve[0-9]+-[0-9]+') }}-x86_64.pkg.tar.zst # linux-headers + +- name: Install xone-dkms-git xbox one accessories driver + aur: + name: xone-dkms-git +# end install xone + +# start cleanup sudoer +- name: Disable passwordless sudo + become: true + file: + path: /etc/sudoers.d/zzz-passwordless-wheel + state: absent +# end cleanup sudoer + +- name: Enable read-only filesystem + become: true + command: steamos-readonly enable \ No newline at end of file diff --git a/site.yaml b/site.yaml new file mode 100644 index 0000000..8ddcb05 --- /dev/null +++ b/site.yaml @@ -0,0 +1,3 @@ +- hosts: steamdeck + roles: + - steamdeck \ No newline at end of file