Drop hardcoded packages to remove

This commit is contained in:
2024-05-06 11:18:23 +02:00
parent 8079f29912
commit 9deaef642f
3 changed files with 454 additions and 493 deletions

View File

@@ -1,5 +1,4 @@
packages:
list:
kernel:
archlinux:
- linux-zen
@@ -451,23 +450,3 @@ packages:
watchexec:
archlinux:
- watchexec
remove:
mousepad:
archlinux: ["mousepad"]
vim:
archlinux: ["gvim"]
rust:
archlinux: ["rust"]
screen:
archlinux: ["screen"]
lxc:
archlinux: ["lxc"]
autorandr:
archlinux: ["autorandr"]
openvpn:
archlinux: ["openvpn"]
bluetooth:
archlinux: ["bluez", "bluez-tools", "blueman"]
borgbackup:
archlinux: ["borg"]

View File

@@ -165,33 +165,15 @@
become: true
- set_fact:
defined_packages: "{{ packages|json_query('keys(list)') }}"
defined_packages: "{{ packages }}"
- set_fact:
distro_packages: "{{ packages|json_query('list.*.%s'|format(distro)) }}"
distro_packages: "{{ packages|json_query('*.%s'|format(distro)) }}"
- name: check list
assert:
that: "defined_packages|length == distro_packages|length"
- set_fact:
defined_packages_remove: "{{ packages|json_query('keys(remove)') }}"
- set_fact:
distro_packages_remove: "{{ packages|json_query('remove.*.%s'|format(distro)) }}"
- name: check list
assert:
that: "defined_packages_remove|length == distro_packages_remove|length"
- name: remove packages
package:
name: "{{ packages|json_query(query) }}"
state: absent
become: true
vars:
query: "{{ 'remove.*.%s[]'|format(distro) }}"
- name: install packages
package:
name: "{{ packages|json_query(query) }}"

View File

@@ -19,7 +19,7 @@ packages_to_remove=()
readarray -d $'\0' -t packages_to_remove < <(comm --zero-terminated -13 \
<(cat \
<(<packages.yml yaml2json | jq --raw-output0 '.packages.list | map(.archlinux) | flatten[]') \
<(<packages.yml yaml2json | jq --raw-output0 '.packages | map(.archlinux) | flatten[]') \
<(for dep in "${aurdeps[@]}" ; do printf '%s\0' "${dep}" ; done) \
| sort -zu) \
<(pacman -Qq --explicit | xargs -I "{}" printf '%s\0' "{}" | sort -zu) \