--- /dev/null
+deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main
--- /dev/null
+include:
+ - signal.signal--create-template
+ - signal.signal--configure-package-manager
+ - signal.signal--install-packages
+ - signal.signal--create-qube
--- /dev/null
+{% if grains['id'] == 'template-signal' %}
+
+signal--create-keyrings-dir:
+ file.directory:
+ - name: /etc/apt/keyrings
+ - user: root
+ - group: root
+ - mode: 755
+ - makedirs: True
+
+signal--gpg-key:
+ file.managed:
+ - name: /usr/share/keyrings/signal-desktop-keyring.gpg
+ - source: salt://signal/files/signal-desktop-keyring.gpg
+ - user: root
+ - group: root
+ - mode: 644
+ - require:
+ - file: signal--create-keyrings-dir
+
+signal--apt-repo:
+ pkgrepo.managed:
+ - name: deb [arch=amd64 signed-by=/usr/share/keyrings/signal-desktop-keyring.gpg] https://updates.signal.org/desktop/apt xenial main
+ - humanname: Signal Repository
+ - file: /etc/apt/sources.list.d/signal-xenial.list
+ - refresh: True
+ - require:
+ - cmd: dangerzone--download-gpg-key
+ - require:
+ - file: signal--gpg-key
+
+{% endif %}
--- /dev/null
+{% if grains['id'] == 'dom0' %}
+
+signal--create-app-qube:
+ qvm.vm:
+ - name: q-signal
+ - present:
+ - template: template-signal
+ - label: yellow
+ - prefs:
+ - label: yellow
+ - audiovm: sys-audio
+ - guivm: dom0
+ - netvm: sys-vpn-mullvad
+ - features:
+ - set:
+ - menu-items: signal-desktop.desktop
+ - require:
+ - qvm: signal--create-template
+
+{% endif %}
--- /dev/null
+{% import "templates/versions.jinja" as version %}
+
+include:
+ - templates.templates--install-debian-minimal
+
+{% if grains['id'] == 'dom0' %}
+
+signal--create-template:
+ qvm.clone:
+ - name: template-signal
+ - source: debian-{{ version.debian }}-minimal
+ - class: TemplateVM
+ - require:
+ - qvm: templates--install-debian-{{ version.debian }}-minimal
+
+signal--create-template-prefs:
+ qvm.prefs:
+ - name: template-signal
+ - label: yellow
+ - audiovm:
+ - guivm:
+ - netvm:
+ - require:
+ - qvm: signal--create-template
+
+{% endif %}
--- /dev/null
+{% if grains['id'] == 'template-signal' %}
+
+signal--install-packages:
+ pkg.installed:
+ - refresh: True
+ - pkgs:
+ - qubes-core-agent-networking
+ - qubes-app-shutdown-idle
+ - signal-desktop
+ - libayatana-appindicator3-1
+ - dunst
+ - libatk1.0-0
+ - libatk-bridge2.0-0
+ - libcups2
+ - libgtk-3-0
+ - require:
+ - pkgrepo: signal--apt-repo
+
+{% endif %}