From 742a648590f4f5bf4d2c91064f7900dc5dcda749 Mon Sep 17 00:00:00 2001 From: Andreas Glashauser Date: Sun, 6 Apr 2025 22:17:06 +0200 Subject: [PATCH] ADDED: states for setting up an element matrix client --- .../element--configure-package-manager.sls | 20 ++++++++++++++ element/element--create-qube.sls | 20 ++++++++++++++ element/element--create-template.sls | 26 ++++++++++++++++++ element/element--install-packages.sls | 13 +++++++++ element/files/element-io-archive-keyring.gpg | Bin 0 -> 2577 bytes element/init.sls | 5 ++++ 6 files changed, 84 insertions(+) create mode 100644 element/element--configure-package-manager.sls create mode 100644 element/element--create-qube.sls create mode 100644 element/element--create-template.sls create mode 100644 element/element--install-packages.sls create mode 100644 element/files/element-io-archive-keyring.gpg create mode 100644 element/init.sls diff --git a/element/element--configure-package-manager.sls b/element/element--configure-package-manager.sls new file mode 100644 index 0000000..73900f9 --- /dev/null +++ b/element/element--configure-package-manager.sls @@ -0,0 +1,20 @@ +{% if grains['id'] == 'template-element' %} + +element--gpg-key: + file.managed: + - name: /usr/share/keyrings/element-io-archive-keyring.gpg + - source: salt://element/files/element-io-archive-keyring.gpg + - user: root + - group: root + - mode: 644 + +element--apt-repo: + pkgrepo.managed: + - name: deb [arch=amd64 signed-by=/usr/share/keyrings/element-io-archive-keyring.gpg] https://packages.element.io/debian default main + - humanname: Element Repository + - file: /etc/apt/sources.list.d/element-io.list + - refresh: True + - require: + - file: element--gpg-key + +{% endif %} diff --git a/element/element--create-qube.sls b/element/element--create-qube.sls new file mode 100644 index 0000000..6ab44a1 --- /dev/null +++ b/element/element--create-qube.sls @@ -0,0 +1,20 @@ +{% if grains['id'] == 'dom0' %} + +element--create-qube: + qvm.vm: + - name: q-element + - present: + - template: template-element + - label: yellow + - prefs: + - label: yellow + - audiovm: sys-audio + - guivm: dom0 + - netvm: sys-vpn-mullvad + - features: + - set: + - menu-items: element-desktop.desktop + - require: + - qvm: element--create-template + +{% endif %} diff --git a/element/element--create-template.sls b/element/element--create-template.sls new file mode 100644 index 0000000..470fb70 --- /dev/null +++ b/element/element--create-template.sls @@ -0,0 +1,26 @@ +{% import "templates/versions.jinja" as version %} + +include: + - templates.templates--install-debian-minimal + +{% if grains['id'] == 'dom0' %} + +element--create-template: + qvm.clone: + - name: template-element + - source: debian-{{ version.debian }}-minimal + - class: TemplateVM + - require: + - qvm: templates--install-debian-{{ version.debian }}-minimal + +element--create-template-prefs: + qvm.prefs: + - name: template-element + - label: yellow + - audiovm: + - guivm: + - netvm: + - require: + - qvm: element--create-template + +{% endif %} diff --git a/element/element--install-packages.sls b/element/element--install-packages.sls new file mode 100644 index 0000000..a860f22 --- /dev/null +++ b/element/element--install-packages.sls @@ -0,0 +1,13 @@ +{% if grains['id'] == 'template-element' %} + +element--install-packages: + pkg.installed: + - refresh: True + - pkgs: + - qubes-core-agent-networking + - qubes-app-shutdown-idle + - element-desktop + - require: + - pkgrepo: element--apt-repo + +{% endif %} diff --git a/element/files/element-io-archive-keyring.gpg b/element/files/element-io-archive-keyring.gpg new file mode 100644 index 0000000000000000000000000000000000000000..3a61810dae42a4c991aa3fe30f916bf1d357a797 GIT binary patch literal 2577 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