diff options
| author | Egor Tensin <egor@tensin.name> | 2026-10-24 14:55:08 +0300 |
|---|---|---|
| committer | Egor Tensin <egor@tensin.name> | 2026-10-24 15:06:57 +0300 |
| commit | f4e09613d1b45f9b9cc30a3ad801cf78a1dc574b (patch) | |
| tree | 4b8a8e65a9eb80cc31f9471572ac4dda09c69fe0 | |
| parent | yay: move dependencies to meta/ (diff) | |
| download | infra-ansible-f4e09613d1b45f9b9cc30a3ad801cf78a1dc574b.tar.gz infra-ansible-f4e09613d1b45f9b9cc30a3ad801cf78a1dc574b.zip | |
linux_status: add support for Arch Linux
| -rw-r--r-- | roles/aur_install/README.md | 1 | ||||
| -rw-r--r-- | roles/aur_install/defaults/main.yml | 1 | ||||
| -rw-r--r-- | roles/aur_install/meta/main.yml | 2 | ||||
| -rw-r--r-- | roles/aur_install/tasks/main.yml | 10 | ||||
| -rw-r--r-- | roles/linux_status/README.md | 2 | ||||
| -rw-r--r-- | roles/linux_status/meta/main.yml | 6 | ||||
| -rw-r--r-- | roles/linux_status/tasks/arch.yml | 6 | ||||
| -rw-r--r-- | roles/linux_status/tasks/default.yml | 13 | ||||
| -rw-r--r-- | roles/linux_status/tasks/main.yml | 17 |
9 files changed, 46 insertions, 12 deletions
diff --git a/roles/aur_install/README.md b/roles/aur_install/README.md new file mode 100644 index 0000000..19f4f70 --- /dev/null +++ b/roles/aur_install/README.md @@ -0,0 +1 @@ +Installs AUR packages on Arch Linux, using yay. diff --git a/roles/aur_install/defaults/main.yml b/roles/aur_install/defaults/main.yml new file mode 100644 index 0000000..265bdb8 --- /dev/null +++ b/roles/aur_install/defaults/main.yml @@ -0,0 +1 @@ +aur_install_packages: [] diff --git a/roles/aur_install/meta/main.yml b/roles/aur_install/meta/main.yml new file mode 100644 index 0000000..962eb23 --- /dev/null +++ b/roles/aur_install/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - role: yay diff --git a/roles/aur_install/tasks/main.yml b/roles/aur_install/tasks/main.yml new file mode 100644 index 0000000..52f5f2e --- /dev/null +++ b/roles/aur_install/tasks/main.yml @@ -0,0 +1,10 @@ +- name: Upgrade AUR packages + kewlfft.aur.aur: + name: '{{ aur_install_packages }}' + state: latest + use: yay + aur_only: true + extra_args: --removemake + # AUR connection fails a bit too frequently: + retries: 3 + delay: 3 diff --git a/roles/linux_status/README.md b/roles/linux_status/README.md index 167224b..08e9599 100644 --- a/roles/linux_status/README.md +++ b/roles/linux_status/README.md @@ -1,3 +1,3 @@ -This role installs [linux-status] on a Debian/Ubuntu host. +This role installs [linux-status] on a Debian/Ubuntu/Arch Linux host. [linux-status]: https://github.com/egor-tensin/linux-status diff --git a/roles/linux_status/meta/main.yml b/roles/linux_status/meta/main.yml deleted file mode 100644 index df1d198..0000000 --- a/roles/linux_status/meta/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -dependencies: - - role: ppa - vars: - ppa_owner: egor-tensin - ppa_name: linux-status - ppa_key: ecb69cbafc6d7cd8bd67ec35b1089b3051c9384d diff --git a/roles/linux_status/tasks/arch.yml b/roles/linux_status/tasks/arch.yml new file mode 100644 index 0000000..b894361 --- /dev/null +++ b/roles/linux_status/tasks/arch.yml @@ -0,0 +1,6 @@ +- name: Install linux-status + ansible.builtin.include_role: + name: aur_install + vars: + aur_install_packages: + - linux-status diff --git a/roles/linux_status/tasks/default.yml b/roles/linux_status/tasks/default.yml new file mode 100644 index 0000000..fc2f83f --- /dev/null +++ b/roles/linux_status/tasks/default.yml @@ -0,0 +1,13 @@ +- name: Set up PPA repository + ansible.builtin.include_role: + name: ppa + vars: + ppa_owner: egor-tensin + ppa_name: linux-status + ppa_key: ecb69cbafc6d7cd8bd67ec35b1089b3051c9384d + +- name: Install linux-status + become: true + ansible.builtin.package: + name: linux-status + state: present diff --git a/roles/linux_status/tasks/main.yml b/roles/linux_status/tasks/main.yml index 7b476ad..7400cb1 100644 --- a/roles/linux_status/tasks/main.yml +++ b/roles/linux_status/tasks/main.yml @@ -1,11 +1,18 @@ - name: Configure power management ansible.builtin.import_tasks: power_management.yml -- name: Install linux-status - become: true - ansible.builtin.package: - name: linux-status - state: present +- name: Get host distro + ansible.builtin.setup: + gather_subset: + - distribution + +- name: Install on Arch Linux + when: ansible_facts['distribution'] == 'Archlinux' + ansible.builtin.import_tasks: arch.yml + +- name: Install on other distros + when: ansible_facts['distribution'] != 'Archlinux' + ansible.builtin.import_tasks: default.yml - name: Enable & start linux-status.service become: true |
