Install packages earlier in playbook
This commit is contained in:
112
playbook.yml
112
playbook.yml
@@ -160,6 +160,62 @@
|
|||||||
changed_when: dotfiles_permission_change.stdout_lines|length > 0
|
changed_when: dotfiles_permission_change.stdout_lines|length > 0
|
||||||
tags: [dotfiles-directory]
|
tags: [dotfiles-directory]
|
||||||
|
|
||||||
|
- block:
|
||||||
|
- name: load package list
|
||||||
|
include_vars:
|
||||||
|
file: packages.yml
|
||||||
|
|
||||||
|
- name: force-update iptables to iptables-nft on arch
|
||||||
|
shell: pacman -Q iptables && yes | pacman -S iptables-nft
|
||||||
|
changed_when: false
|
||||||
|
become: true
|
||||||
|
when: distro == 'archlinux'
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
defined_packages: "{{ packages|json_query('keys(list)') }}"
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
distro_packages: "{{ packages|json_query('list.*.%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) }}"
|
||||||
|
state: present
|
||||||
|
become: true
|
||||||
|
vars:
|
||||||
|
query: "{{ 'list.*.%s[]'|format(distro) }}"
|
||||||
|
|
||||||
|
- name: install machine-specific packages
|
||||||
|
package:
|
||||||
|
name: "{{ machine.packages }}"
|
||||||
|
state: present
|
||||||
|
when: machine.packages is defined
|
||||||
|
become: true
|
||||||
|
|
||||||
|
tags: [packages]
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: create build user on arch
|
- name: create build user on arch
|
||||||
user:
|
user:
|
||||||
@@ -389,62 +445,6 @@
|
|||||||
tags: ["aur"]
|
tags: ["aur"]
|
||||||
when: distro == 'archlinux'
|
when: distro == 'archlinux'
|
||||||
|
|
||||||
- block:
|
|
||||||
- name: load package list
|
|
||||||
include_vars:
|
|
||||||
file: packages.yml
|
|
||||||
|
|
||||||
- name: force-update iptables to iptables-nft on arch
|
|
||||||
shell: pacman -Q iptables && yes | pacman -S iptables-nft
|
|
||||||
changed_when: false
|
|
||||||
become: true
|
|
||||||
when: distro == 'archlinux'
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
defined_packages: "{{ packages|json_query('keys(list)') }}"
|
|
||||||
|
|
||||||
- set_fact:
|
|
||||||
distro_packages: "{{ packages|json_query('list.*.%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) }}"
|
|
||||||
state: present
|
|
||||||
become: true
|
|
||||||
vars:
|
|
||||||
query: "{{ 'list.*.%s[]'|format(distro) }}"
|
|
||||||
|
|
||||||
- name: install machine-specific packages
|
|
||||||
package:
|
|
||||||
name: "{{ machine.packages }}"
|
|
||||||
state: present
|
|
||||||
when: machine.packages is defined
|
|
||||||
become: true
|
|
||||||
|
|
||||||
tags: [packages]
|
|
||||||
|
|
||||||
- block:
|
- block:
|
||||||
- name: configure timesyncd on arch
|
- name: configure timesyncd on arch
|
||||||
copy:
|
copy:
|
||||||
|
|||||||
Reference in New Issue
Block a user