feat: add state for desktop i3 and AwesomeWM

This commit is contained in:
Ben Grande 2024-06-04 10:43:16 +02:00
parent 0c9b173e2c
commit 34d5d36518
No known key found for this signature in database
GPG Key ID: 00C64E14F51F9E56
12 changed files with 133 additions and 19 deletions

View File

@ -6,6 +6,7 @@ Dom0 environment in Qubes OS.
* [Description](#description)
* [Installation](#installation)
* [Choose your Dom0 environment](#choose-your-dom0-environment)
* [Usage](#usage)
## Description
@ -39,6 +40,22 @@ To forward ports from qubes to the external world:
sudo qubesctl state.apply dom0.port-forward
```
### Choose your Dom0 environment
Instead of running the state `dom0`, you can select which states to apply:
- Window Manager i3:
```sh
sudo qubesctl state.apply dom0.desktop-i3,dom0.desktop-i3-settings
```
- Window Manager AwesomeWM:
```sh
sudo qubesctl state.apply dom0.desktop-awesome
```
Follow the same syntax for other `dom0` states you desire.
## Usage
You may have noticed the desktop experience in Dom0 has enhanced. You are

View File

@ -0,0 +1,21 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
{% if grains['nodename'] == 'dom0' -%}
{%- import slsdotpath ~ "/gui-user.jinja" as gui_user -%}
include:
- utils.tools.common.update
"{{ slsdotpath }}-desktop-awesome-installed":
pkg.installed:
- require:
- sls: utils.tools.common.update
- pkgs:
- awesome
{% endif -%}

View File

@ -0,0 +1,10 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
base:
'dom0':
- match: nodegroup
- dom0.desktop-awesome

View File

@ -0,0 +1,21 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
{% if grains['nodename'] == 'dom0' -%}
{%- import slsdotpath ~ "/gui-user.jinja" as gui_user -%}
include:
- utils.tools.common.update
"{{ slsdotpath }}-desktop-i3-settings-installed":
pkg.installed:
- require:
- sls: utils.tools.common.update
- pkgs:
- i3-settings-qubes
{% endif -%}

View File

@ -0,0 +1,10 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
base:
'dom0':
- match: nodegroup
- dom0.desktop-i3-settings

21
salt/dom0/desktop-i3.sls Normal file
View File

@ -0,0 +1,21 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
{% if grains['nodename'] == 'dom0' -%}
{%- import slsdotpath ~ "/gui-user.jinja" as gui_user -%}
include:
- utils.tools.common.update
"{{ slsdotpath }}-desktop-i3-installed":
pkg.installed:
- require:
- sls: utils.tools.common.update
- pkgs:
- i3
{% endif -%}

10
salt/dom0/desktop-i3.top Normal file
View File

@ -0,0 +1,10 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
base:
'dom0':
- match: nodegroup
- dom0.desktop-i3

View File

@ -11,7 +11,7 @@ SPDX-License-Identifier: AGPL-3.0-or-later
include:
- utils.tools.common.update
"{{ slsdotpath }}-kde-installed":
"{{ slsdotpath }}-desktop-kde-installed":
pkg.installed:
- require:
- sls: utils.tools.common.update
@ -19,7 +19,7 @@ include:
- kde-settings-qubes
- sddm
"{{ slsdotpath }}-configure-xinit":
"{{ slsdotpath }}-desktop-kde-configure-xinit":
file.managed:
- name: /etc/X11/xinit/xinitrc.d/55xfce-qubes.sh
- source: salt://{{ slsdotpath }}/files/xinitrc.d/55xfce-qubes.sh
@ -27,7 +27,7 @@ include:
- group: root
- mode: '0755'
"{{ slsdotpath }}-configure-sddm":
"{{ slsdotpath }}-desktop-kde-configure-sddm":
file.managed:
- name: /etc/sddm.conf.d/qubes.conf
- source: salt://{{ slsdotpath }}/files/sddm.conf.d/qubes.conf
@ -36,21 +36,21 @@ include:
- mode: '0644'
- makedirs: True
"{{ slsdotpath }}-disable-lightdm":
"{{ slsdotpath }}-desktop-kde-disable-lightdm":
cmd.run:
- name: systemctl disable lightdm
- runas: root
- require:
- pkg: {{ slsdotpath }}-kde-installed
"{{ slsdotpath }}-enable-sddm":
"{{ slsdotpath }}-desktop-kde-enable-sddm":
cmd.run:
- name: systemctl enable sddm
- runas: root
- require:
- cmd: {{ slsdotpath }}-disable-lightdm
"{{ slsdotpath }}-activity-notifier":
"{{ slsdotpath }}-desktop-kde-activity-notifier":
file.managed:
- name: {{ gui_user.gui_user_home }}/.config/autostart-scripts/kde-activity-changed-notifier
- source: salt://{{ slsdotpath }}/files/autostart-scripts/kde-activity-changed-notifier
@ -59,7 +59,7 @@ include:
- mode: '0755'
- makedirs: True
"{{ slsdotpath }}-qubes-kde-win-rules":
"{{ slsdotpath }}-desktop-kde-qubes-kde-win-rules":
file.managed:
- name: {{ gui_user.gui_user_home }}/.local/bin/qubes-kde-win-rules
- source: salt://{{ slsdotpath }}/files/bin/qubes-kde-win-rules

10
salt/dom0/desktop-kde.top Normal file
View File

@ -0,0 +1,10 @@
{#
SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
base:
'dom0':
- match: nodegroup
- dom0.desktop-kde

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. <ben.grande.b@gmail.com>
# SPDX-FileCopyrightText: 2023 - 2024 Benjamin Grande M. S. <ben.grande.b@gmail.com>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
@ -19,4 +19,8 @@ passphrase_text: my-password
destination_vm: backup-ssh
destination_path: ssh backup 'cat | tee /dir/qubes-backup-$(data +%Y-%m-%d-%H-%M-%S) >/dev/null'
## $ qvm-backup-find-last backup-ssh /dir/ 'ssh backup'
## $ qvm-backup-restore --verify-only -d backup-ssh \
## "ssh backup cat /dir/qubes-backup-file"
# vim: ft=yaml

View File

@ -11,7 +11,7 @@ include:
- .dotfiles
- .helpers
- .install
- .kde
- .desktop-kde
- .update-settings
- .xorg
- .screenshot

View File

@ -1,10 +0,0 @@
{#
SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. <ben.grande.b@gmail.com>
SPDX-License-Identifier: AGPL-3.0-or-later
#}
base:
'dom0':
- match: nodegroup
- dom0.kde