mirror of
https://github.com/fscotto/infra.git
synced 2026-05-30 15:39:58 +00:00
Add targeted Gufw compatibility for Sway sessions
- Remove the global xhost call from start-sway-session to keep Wayland startup clean - Add a dedicated gufw wrapper and desktop override that temporarily grants Xwayland access only for gufw
This commit is contained in:
@@ -66,8 +66,8 @@ desktop_sway_packages:
|
|||||||
- slurp
|
- slurp
|
||||||
- swayfx
|
- swayfx
|
||||||
- wl-clipboard
|
- wl-clipboard
|
||||||
- xdg-desktop-portal-wlr
|
|
||||||
- xhost
|
- xhost
|
||||||
|
- xdg-desktop-portal-wlr
|
||||||
- xorg-server-xwayland
|
- xorg-server-xwayland
|
||||||
|
|
||||||
profile_packages:
|
profile_packages:
|
||||||
@@ -247,10 +247,18 @@ desktop_common_dotfiles:
|
|||||||
src: .local/bin/update-turnstile-env
|
src: .local/bin/update-turnstile-env
|
||||||
dest: .local/bin/update-turnstile-env
|
dest: .local/bin/update-turnstile-env
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
- name: Gufw Sway wrapper
|
||||||
|
src: .local/bin/run-gufw
|
||||||
|
dest: .local/bin/run-gufw
|
||||||
|
mode: "0755"
|
||||||
- name: Udiskie password helper
|
- name: Udiskie password helper
|
||||||
src: .local/bin/udiskie-password
|
src: .local/bin/udiskie-password
|
||||||
dest: .local/bin/udiskie-password
|
dest: .local/bin/udiskie-password
|
||||||
mode: "0755"
|
mode: "0755"
|
||||||
|
- name: Desktop application overrides
|
||||||
|
src: .local/share/applications/
|
||||||
|
dest: .local/share/applications/
|
||||||
|
mode: preserve
|
||||||
- name: SSH config
|
- name: SSH config
|
||||||
src: .ssh/config
|
src: .ssh/config
|
||||||
dest: .ssh/config
|
dest: .ssh/config
|
||||||
|
|||||||
@@ -20,6 +20,8 @@
|
|||||||
- "{{ user_home }}/.config/autostart"
|
- "{{ user_home }}/.config/autostart"
|
||||||
- "{{ user_home }}/.config/alacritty"
|
- "{{ user_home }}/.config/alacritty"
|
||||||
- "{{ user_home }}/.config/Thunar"
|
- "{{ user_home }}/.config/Thunar"
|
||||||
|
- "{{ user_home }}/.local/share"
|
||||||
|
- "{{ user_home }}/.local/share/applications"
|
||||||
- "{{ user_home }}/.tmux"
|
- "{{ user_home }}/.tmux"
|
||||||
- "{{ user_home }}/.tmux/bin"
|
- "{{ user_home }}/.tmux/bin"
|
||||||
- "{{ user_home }}/.tmux/plugins"
|
- "{{ user_home }}/.tmux/plugins"
|
||||||
|
|||||||
22
dotfiles/desktop/.local/bin/run-gufw
Normal file
22
dotfiles/desktop/.local/bin/run-gufw
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
set -eu
|
||||||
|
|
||||||
|
if [ -z "${DISPLAY:-}" ]; then
|
||||||
|
printf 'Error: DISPLAY is not set; cannot launch gufw under Xwayland.\n' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if ! command -v xhost >/dev/null 2>&1; then
|
||||||
|
printf 'Error: xhost is required to launch gufw from a Wayland session.\n' >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
xhost -si:localuser:root >/dev/null 2>&1 || true
|
||||||
|
}
|
||||||
|
|
||||||
|
trap cleanup EXIT INT TERM HUP
|
||||||
|
|
||||||
|
xhost si:localuser:root >/dev/null
|
||||||
|
exec gufw "$@"
|
||||||
@@ -24,6 +24,5 @@ exec dbus-run-session sh -eu -c '
|
|||||||
printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address"
|
printf "%s\n" "$DBUS_SESSION_BUS_ADDRESS" > "$HOME/.dbus-session-bus-address"
|
||||||
gpgconf --launch gpg-agent
|
gpgconf --launch gpg-agent
|
||||||
"$HOME/.local/bin/update-turnstile-env"
|
"$HOME/.local/bin/update-turnstile-env"
|
||||||
xhost +local:
|
|
||||||
exec "$@"
|
exec "$@"
|
||||||
' sh "$@"
|
' sh "$@"
|
||||||
|
|||||||
13
dotfiles/desktop/.local/share/applications/gufw.desktop
Normal file
13
dotfiles/desktop/.local/share/applications/gufw.desktop
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
[Desktop Entry]
|
||||||
|
Version=1.0
|
||||||
|
Type=Application
|
||||||
|
Name=Firewall Configuration
|
||||||
|
Comment=An easy way to configure your firewall
|
||||||
|
Keywords=gufw;security;firewall;network;
|
||||||
|
Categories=GNOME;GTK;Settings;Security;X-GNOME-Settings-Panel;X-GNOME-SystemSettings;X-Unity-Settings-Panel;X-XFCE-SettingsDialog;X-XFCE-SystemSettings;
|
||||||
|
Exec=/home/fscotto/.local/bin/run-gufw
|
||||||
|
Icon=gufw
|
||||||
|
Terminal=false
|
||||||
|
X-GNOME-Settings-Panel=gufw
|
||||||
|
X-Unity-Settings-Panel=gufw
|
||||||
|
X-Ubuntu-Gettext-Domain=gufw
|
||||||
Reference in New Issue
Block a user