aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--roles/yay/README.md3
-rw-r--r--roles/yay/tasks/main.yml40
2 files changed, 43 insertions, 0 deletions
diff --git a/roles/yay/README.md b/roles/yay/README.md
new file mode 100644
index 0000000..9923d98
--- /dev/null
+++ b/roles/yay/README.md
@@ -0,0 +1,3 @@
+Installs [yay] on Arch Linux if necessary.
+
+[yay]: https://github.com/Jguer/yay
diff --git a/roles/yay/tasks/main.yml b/roles/yay/tasks/main.yml
new file mode 100644
index 0000000..4c603bd
--- /dev/null
+++ b/roles/yay/tasks/main.yml
@@ -0,0 +1,40 @@
+- name: Collect installed packages
+ ansible.builtin.package_facts:
+ manager: pacman
+
+- name: Install yay
+ when: |
+ 'yay' not in ansible_facts.packages
+ block:
+ - name: Install prerequisites
+ ansible.builtin.include_role:
+ name: pacman_install
+ vars:
+ pacman_install_packages:
+ - base-devel
+ - git
+
+ - name: Create temporary directory
+ ansible.builtin.tempfile:
+ prefix: yay
+ state: directory
+ register: yay_dir
+
+ - name: Checkout & build
+ block:
+ - name: Checkout
+ ansible.builtin.git:
+ repo: 'https://aur.archlinux.org/yay.git'
+ dest: '{{ yay_dir.path }}'
+ accept_hostkey: true
+
+ - name: Build
+ ansible.builtin.command:
+ cmd: makepkg --install --syncdeps --rmdeps --noconfirm
+ chdir: '{{ yay_dir.path }}'
+
+ always:
+ - name: Clean up
+ ansible.builtin.file:
+ path: '${{ yay_dir.path }}'
+ state: absent