--- - name: Basic Setup hosts: ele-ymir roles: - role: apt-repo/base - role: core/base - role: core/sshd/base - role: core/zsh - role: core/ntp - role: core/cpu-microcode - name: Payload Setup hosts: ele-ymir roles: - role: apt-repo/spreadspace - role: nginx/base - role: monitoring/prometheus/exporter - role: ws/base - role: core/users post_tasks: ## TODO: move to network/netplan when this is done - name: install vlan interfaces loop: "{{ network.vlans | dict2items }}" loop_control: label: "{{ item.key }} ({{ item.value | join(',') }})" copy: dest: "/etc/netplan/20-{{ item.key }}.yaml" content: | network: vlans: {% for vlan in item.value %} {% set vlan_ifname = item.key + '.' + (vlan | string) %} {% set vlan_iface = (network.interfaces | selectattr('name', 'eq', vlan_ifname)) %} {{ vlan_ifname }}: id: {{ vlan }} link: {{ item.key }} {% if vlan_iface %} addresses: - {{ (vlan_iface | first).address }} {% endif %} {% endfor %} - name: install script to play videos fullscreen copy: dest: /usr/local/bin/play-video.sh mode: 0755 content: | #!/bin/bash exec mpv --vo=gpu --keep-open=yes --geometry=1920x1080+1920+0 --fs --osd-level=0 \ --term-status-msg='${?pause==yes:(Paused) }${time-remaining} ${time-pos} / ${duration} (${percent-pos}%) A-V: ${avsync}' "$@"