--- - name: '[games] install Steam' become: true block: - name: '[system] get existing architectures' ansible.builtin.command: cmd: dpkg --print-foreign-architectures register: dpkg_archs changed_when: false when: dpkg_archs is not defined - name: '[steam] enable i386 architecture' command: cmd: dpkg --add-architecture i386 when: dpkg_archs.stdout is not regex("(^|\b)i386($|\b)", multiline = true) - name: '[apt key] add Steam GPG key' ansible.builtin.get_url: url: "https://repo.steampowered.com/steam/archive/stable/steam.gpg" dest: /usr/share/keyrings/steam.gpg mode: '0644' - name: '[apt key] add source' apt_repository: repo: "{{ item }} [arch=amd64,i386 signed-by=/usr/share/keyrings/steam.gpg] https://repo.steampowered.com/steam/ stable steam" state: present filename: steam update_cache: true loop: - deb - deb-src - name: '[steam] install dependencies' ansible.builtin.apt: update_cache: true force_apt_get: true cache_valid_time: 3600 pkg: - libgl1-mesa-dri:amd64 - libgl1-mesa-dri:i386 - libgl1-mesa-glx:amd64 - libgl1-mesa-glx:i386 - steam-launcher - name: '[games] install Heroic Games Launcher' become: true block: - name: '[hgl] fetch assets from github' nullified.infrastructure.github_artifact: github_token: '{{ custom_github_token }}' asset_name: heroic_{version}_amd64.deb asset_type: release repository: Heroic-Games-Launcher/HeroicGamesLauncher creates: /usr/bin/heroic cmds: - dpkg -i {asset_dirname}/{asset_filename}