#!/usr/bin/env ansible-playbook # vim:ft=ansible: --- - name: configure packages for apt block: # Manage archs - name: enable archs 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 }}" - 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 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 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" - 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="{{ item.packages }}" state=present remote="{{ item.remote | default('flathub', true) }}" with_items: "{{ desktop_flatpak_packages + desktop_flatpak_packages_extra }}"