mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
83 lines
2.3 KiB
YAML
83 lines
2.3 KiB
YAML
---
|
|
- name: Ensure XBPS extra repositories directory exists
|
|
tags: [packages]
|
|
ansible.builtin.file:
|
|
path: /etc/xbps.d
|
|
state: directory
|
|
mode: "0755"
|
|
when: (host_xbps_repositories | default([])) | length > 0
|
|
|
|
- name: Configure host-specific XBPS repositories
|
|
tags: [packages]
|
|
ansible.builtin.copy:
|
|
dest: "/etc/xbps.d/{{ item.name }}.conf"
|
|
content: |
|
|
repository={{ item.url }}
|
|
owner: root
|
|
group: root
|
|
mode: "0644"
|
|
loop: "{{ host_xbps_repositories | default([]) }}"
|
|
loop_control:
|
|
label: "{{ item.name }}"
|
|
register: host_xbps_repository_configs
|
|
when: (host_xbps_repositories | default([])) | length > 0
|
|
|
|
- name: Install Void nonfree repository if needed
|
|
tags: [packages]
|
|
community.general.xbps:
|
|
name: void-repo-nonfree
|
|
state: present
|
|
update_cache: false
|
|
register: void_nonfree_repository
|
|
when: "'void-repo-nonfree' in (host_packages | default([]) + void_packages_base | default([]))"
|
|
|
|
- name: Refresh XBPS cache after configuring repositories
|
|
tags: [packages]
|
|
community.general.xbps:
|
|
update_cache: true
|
|
accept_pubkey: true
|
|
when: >-
|
|
(host_xbps_repositories | default([])) | length > 0
|
|
or (void_nonfree_repository is defined and void_nonfree_repository is changed)
|
|
|
|
- name: Synchronize and upgrade Void Linux packages
|
|
tags: [packages]
|
|
community.general.xbps:
|
|
update_cache: false
|
|
upgrade: true
|
|
|
|
- name: Install packages on Void Linux
|
|
tags: [packages]
|
|
community.general.xbps:
|
|
name: >-
|
|
{{
|
|
(
|
|
(common_packages | default([]))
|
|
+ (void_packages_base | default([]))
|
|
+ (profile_packages | default([]))
|
|
+ (desktop_common_packages | default([]))
|
|
+ (
|
|
(desktop_i3_packages | default([]))
|
|
if 'i3' in (desktop_sessions_enabled | default([]))
|
|
else []
|
|
)
|
|
+ (
|
|
(desktop_sway_packages | default([]))
|
|
if 'sway' in (desktop_sessions_enabled | default([]))
|
|
else []
|
|
)
|
|
+ (host_packages | default([]))
|
|
)
|
|
| unique
|
|
}}
|
|
state: present
|
|
update_cache: false
|
|
|
|
- name: Remove host-specific packages on Void Linux
|
|
tags: [packages]
|
|
community.general.xbps:
|
|
name: "{{ (host_remove_packages | default([])) | unique }}"
|
|
state: absent
|
|
update_cache: false
|
|
when: (host_remove_packages | default([])) | length > 0
|