ansible/roles/desktop/tasks/packages.yml

54 lines
2.4 KiB
YAML
Raw Normal View History

#!/usr/bin/env ansible-playbook
# vim:ft=ansible:
---
- name: configure packages for apt
block:
# Manage archs
- name: enable archs
2021-06-17 15:59:43 -05:00
lineinfile: dest=/var/lib/dpkg/arch line={{ item }} create=yes mode=0644
loop: "{{ desktop_apt_archs }}"
# Manage keys
- name: enroll keys from keyserver
apt_key: keyserver=keyserver.ubuntu.com id={{ item }}
loop: "{{ desktop_apt_keys_keyserver + desktop_apt_keys_keyserver_extra }}"
- name: enroll keys by url
apt_key: url={{ item }}
loop: "{{ desktop_apt_keys_url + desktop_apt_keys_url_extra }}"
# Manage repos
- name: configure repos
apt_repository: repo={{ item }}
loop: "{{ desktop_apt_repos + desktop_apt_repos_extra }}"
# Manage packages
- name: configure installed packages
apt: name="{{ desktop_apt_packages + desktop_apt_packages_extra }}"
2021-06-17 16:35:11 -05:00
- name: configure removed packages
apt: name="{{ desktop_apt_packages_remove + desktop_apt_packages_remove_extra }}" state=absent
- name: configure out-of-repo packages
apt: deb="{{ item }}"
loop: "{{ desktop_apt_debs + desktop_apt_debs_extra }}"
# Ignoring errors here is important because this task fails on package backdates
ignore_errors: yes
when: ansible_pkg_mgr == "apt"
- name: configure flatpak
block:
- name: configure flatpak remotes
flatpak_remote: name="{{ item.name }}" state=present flatpakrepo_url="{{ item.url }}"
with_items: "{{ desktop_flatpak_remotes + desktop_flatpak_remotes_extra }}"
- name: configure installed flatpaks
flatpak: name="{{ desktop_flatpak_packages + desktop_flatpak_packages_extra }}"
- name: configure portage
block:
# Portage is very complex, so we sync an entire known good configuration tree
# Note that this also syncs over the @ansible package set
- name: sync portage configs
synchronize: src="portage/" dest="/etc/portage/"
# This is my bootstrap script, which can cause damage if invoked by root again, so we remove it
- name: remove gentoostrap
2020-12-04 09:25:52 -06:00
file: path=/gentoostrap.sh state=absent
- name: remove gentoostrap package.use
file: path=/etc/portage/package.use/gentoostrap state=absent
when: ansible_os_family == "Gentoo"
- name: configure pip3 packages
pip: executable=/usr/bin/pip3 state=latest name="{{ desktop_pip3_packages + desktop_pip3_packages_extra }}"
when: ansible_os_family != "Gentoo"