diff --git a/.reuse/dep5 b/.reuse/dep5 index b8f30b9..c49d725 100644 --- a/.reuse/dep5 +++ b/.reuse/dep5 @@ -69,10 +69,18 @@ Files: salt/ansible/files/repo/* Copyright: 2014 Ansible, Inc. License: CC0-1.0 -Files: salt/browser/files/repo/* +Files: salt/browser/files/repo/chrome* Copyright: 2007 Google Inc. License: CC0-1.0 +Files: salt/browser/files/repo/mozilla* +Copyright: 2021 Google Inc. +License: CC0-1.0 + +Files: salt/browser/files/repo/mullvad* +Copyright: 2016 Mullvad VPN AB +License: CC0-1.0 + Files: salt/docker/files/repo/* Copyright: 2017 Docker Inc. License: CC0-1.0 diff --git a/salt/browser/README.md b/salt/browser/README.md index 33a00a5..3b05753 100644 --- a/salt/browser/README.md +++ b/salt/browser/README.md @@ -17,7 +17,7 @@ disposable qube. If you want to save your session, you can also clone the template and create app qubes. Default browser to install is Chromium, but you can choose to install Chrome, -Firefox-ESR, W3M or Lynx. +Firefox, Firefox-ESR, Mullvad-Browser, W3M or Lynx. ## Installation @@ -64,6 +64,12 @@ sudo qubesctl --skip-dom0 --targets=tpl-browser state.apply browser.install-fire sudo qubesctl --skip-dom0 --targets=tpl-browser state.apply browser.install-firefox-esr ``` +- Mullvad-Browser: +```sh +sudo qubesctl --skip-dom0 --targets=tpl-browser state.apply browser.install-mullvad-browser +``` + + - W3M: ```sh sudo qubesctl --skip-dom0 --targets=tpl-browser state.apply browser.install-w3m diff --git a/salt/browser/create.sls b/salt/browser/create.sls index 99c7563..ae26f74 100644 --- a/salt/browser/create.sls +++ b/salt/browser/create.sls @@ -20,8 +20,8 @@ prefs: - maxmem: 2000 features: - set: - - default-menu-items: "org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-open-file-manager.desktop qubes-start.desktop" # noqa: 204 - - menu-items: "org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-open-file-manager.desktop qubes-start.desktop" # noqa: 204 + - default-menu-items: "qusal-mullvad-browser.desktop org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-open-file-manager.desktop qubes-start.desktop" # noqa: 204 + - menu-items: "qusal-mullvad-browser.desktop org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-open-file-manager.desktop qubes-start.desktop" # noqa: 204 - disable: - service.tracker - service.evolution-data-server @@ -52,6 +52,6 @@ features: - service.tracker - service.evolution-data-server - set: - - menu-items: "org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-open-file-manager.desktop qubes-start.desktop" # noqa: 204 + - menu-items: "qusal-mullvad-browser.desktop org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-open-file-manager.desktop qubes-start.desktop" # noqa: 204 {%- endload %} {{ load(defaults) }} diff --git a/salt/browser/files/repo/mullvad.asc b/salt/browser/files/repo/mullvad.asc new file mode 100644 index 0000000..63052fe --- /dev/null +++ b/salt/browser/files/repo/mullvad.asc @@ -0,0 +1,84 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=kwTD +-----END PGP PUBLIC KEY BLOCK----- diff --git a/salt/browser/files/repo/mullvad.sources b/salt/browser/files/repo/mullvad.sources new file mode 100644 index 0000000..ccec06b --- /dev/null +++ b/salt/browser/files/repo/mullvad.sources @@ -0,0 +1,6 @@ +Types: deb +URIs: https://repository.mullvad.net/deb/stable +Suites: bookworm +Components: main +Signed-by: /usr/share/keyrings/mullvad.asc +# vim:ft=debsources diff --git a/salt/browser/files/repo/mullvad.yum.asc b/salt/browser/files/repo/mullvad.yum.asc new file mode 120000 index 0000000..c8f8ce6 --- /dev/null +++ b/salt/browser/files/repo/mullvad.yum.asc @@ -0,0 +1 @@ +mullvad.asc \ No newline at end of file diff --git a/salt/browser/files/repo/mullvad.yum.repo b/salt/browser/files/repo/mullvad.yum.repo new file mode 100644 index 0000000..e4c82d0 --- /dev/null +++ b/salt/browser/files/repo/mullvad.yum.repo @@ -0,0 +1,8 @@ +[mullvad-stable] +name=Mullvad VPN +baseurl=https://repository.mullvad.net/rpm/stable/$basearch +type=rpm +enabled=1 +gpgcheck=1 +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mullvad +# vim: ft=toml diff --git a/salt/browser/install-chrome.sls b/salt/browser/install-chrome.sls index 3a0cb20..9f4a279 100644 --- a/salt/browser/install-chrome.sls +++ b/salt/browser/install-chrome.sls @@ -16,6 +16,9 @@ include: "{{ slsdotpath }}-installed-chrome": pkg.installed: + - require: + - sls: {{ slsdotpath }}.install-common + - sls: {{ slsdotpath }}.install-chrome-repo - install_recommends: False - skip_suggestions: True - pkgs: diff --git a/salt/browser/install-firefox.sls b/salt/browser/install-firefox.sls index 80b25f9..5990a6b 100644 --- a/salt/browser/install-firefox.sls +++ b/salt/browser/install-firefox.sls @@ -12,6 +12,9 @@ include: "{{ slsdotpath }}-installed-firefox": pkg.installed: + - require: + - sls: {{ slsdotpath }}.install-common + - sls: {{ slsdotpath }}.install-firefox-repo - install_recommends: False - skip_suggestions: True - pkgs: diff --git a/salt/browser/install-mullvad-repo.sls b/salt/browser/install-mullvad-repo.sls new file mode 100644 index 0000000..4725992 --- /dev/null +++ b/salt/browser/install-mullvad-repo.sls @@ -0,0 +1,12 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% if grains['nodename'] != 'dom0' -%} + +{% from 'utils/macros/install-repo.sls' import install_repo -%} +{{ install_repo(sls_path, 'mullvad') }} + +{% endif -%} diff --git a/salt/browser/install-mullvad-repo.top b/salt/browser/install-mullvad-repo.top new file mode 100644 index 0000000..7bc01a3 --- /dev/null +++ b/salt/browser/install-mullvad-repo.top @@ -0,0 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'tpl-browser': + - browser.install-mullvad-repo diff --git a/salt/browser/install-mullvad.sls b/salt/browser/install-mullvad.sls new file mode 100644 index 0000000..c660897 --- /dev/null +++ b/salt/browser/install-mullvad.sls @@ -0,0 +1,52 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +{% if grains['nodename'] != 'dom0' -%} + +include: + - .install-mullvad-repo + - .install-common + +"{{ slsdotpath }}-installed-mullvad": + pkg.installed: + - require: + - sls: {{ slsdotpath }}.install-common + - sls: {{ slsdotpath }}.install-mullvad-repo + - install_recommends: False + - skip_suggestions: True + - pkgs: + - mullvad-browser + +"{{ slsdotpath }}-mullvad-copy-desktop-application": + file.copy: + - require: + - pkg: "{{ slsdotpath }}-installed-mullvad" + - name: /usr/share/applications/qusal-mullvad-browser.desktop + - source: /usr/share/applications/mullvad-browser.desktop + - user: root + - group: root + - mode: "0644" + - force: True + +"{{ slsdotpath }}-mullvad-do-not-detach-from-desktop-application": + file.replace: + - require: + - file: "{{ slsdotpath }}-mullvad-copy-desktop-application" + - name: /usr/share/applications/qusal-mullvad-browser.desktop + - pattern: "--detach" + - repl: "" + - backup: False + +"{{ slsdotpath }}-mullvad-add-url-to-desktop-application": + file.replace: + - require: + - file: "{{ slsdotpath }}-mullvad-do-not-detach-from-desktop-application" + - name: /usr/share/applications/qusal-mullvad-browser.desktop + - pattern: '/start-mullvad-browser(.*)[^%u]$' + - repl: '/start-mullvad-browser\1%u' + - backup: False + +{% endif -%} diff --git a/salt/browser/install-mullvad.top b/salt/browser/install-mullvad.top new file mode 100644 index 0000000..ff0a7bf --- /dev/null +++ b/salt/browser/install-mullvad.top @@ -0,0 +1,9 @@ +{# +SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. + +SPDX-License-Identifier: AGPL-3.0-or-later +#} + +base: + 'tpl-browser': + - browser.install-mullvad diff --git a/salt/reader/create.sls b/salt/reader/create.sls index bfb0235..d3c3397 100644 --- a/salt/reader/create.sls +++ b/salt/reader/create.sls @@ -48,8 +48,8 @@ features: - enable: - appmenus-dispvm - set: - - default-menu-items: "org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-start.desktop libreoffice-base.desktop libreoffice-calc.desktop libreoffice-draw.desktop libreoffice-impress.desktop libreoffice-math.desktop libreoffice-startcenter.desktop libreoffice-writer.desktop org.gnome.Evince.desktop qubes-open-file-manager.desktop" # noqa: 204 - - menu-items: "org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-start.desktop libreoffice-base.desktop libreoffice-calc.desktop libreoffice-draw.desktop libreoffice-impress.desktop libreoffice-math.desktop libreoffice-startcenter.desktop libreoffice-writer.desktop org.gnome.Evince.desktop qubes-open-file-manager.desktop" # noqa: 204 + - default-menu-items: "qusal-mullvad-browser.desktop org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-start.desktop libreoffice-base.desktop libreoffice-calc.desktop libreoffice-draw.desktop libreoffice-impress.desktop libreoffice-math.desktop libreoffice-startcenter.desktop libreoffice-writer.desktop org.gnome.Evince.desktop qubes-open-file-manager.desktop" # noqa: 204 + - menu-items: "qusal-mullvad-browser.desktop org.mozilla.firefox.desktop firefox.desktop firefox-esr.desktop chromium.desktop google-chrome.desktop qubes-run-terminal.desktop qubes-start.desktop libreoffice-base.desktop libreoffice-calc.desktop libreoffice-draw.desktop libreoffice-impress.desktop libreoffice-math.desktop libreoffice-startcenter.desktop libreoffice-writer.desktop org.gnome.Evince.desktop qubes-open-file-manager.desktop" # noqa: 204 {%- endload %} {{ load(defaults) }}