diff options
Diffstat (limited to 'dot_config/systemd')
| -rw-r--r-- | dot_config/systemd/user/snx-rs.service.d/10-chromium-saml.conf | 10 | ||||
| -rw-r--r-- | dot_config/systemd/user/teams-sii.service | 27 | ||||
| -rw-r--r-- | dot_config/systemd/user/teams-xsight.service | 27 |
3 files changed, 64 insertions, 0 deletions
diff --git a/dot_config/systemd/user/snx-rs.service.d/10-chromium-saml.conf b/dot_config/systemd/user/snx-rs.service.d/10-chromium-saml.conf new file mode 100644 index 0000000..a5380e3 --- /dev/null +++ b/dot_config/systemd/user/snx-rs.service.d/10-chromium-saml.conf @@ -0,0 +1,10 @@ +[Service] +# Force snx-rs to use the flatpak ungoogled-chromium as its SAML browser. +# snx-rs calls `xdg-open <url>` via the `opener` crate. Prepending a private +# PATH dir that contains an `xdg-open` shim makes the daemon find our shim +# first, without affecting xdg-open for any other user process. +# +# Why not the system default browser? LibreWolf force-upgrades loopback to +# HTTPS and enables LNA blocking, both of which break snx-rs's plain-HTTP +# 127.0.0.1:7779 SAML callback. See firefox/user-overrides.js comments. +Environment=PATH=%h/.local/share/snx-rs/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin diff --git a/dot_config/systemd/user/teams-sii.service b/dot_config/systemd/user/teams-sii.service new file mode 100644 index 0000000..df0453e --- /dev/null +++ b/dot_config/systemd/user/teams-sii.service @@ -0,0 +1,27 @@ +[Unit] +Description=Microsoft Teams — Sii account (flatpak) +PartOf=graphical-session.target +After=graphical-session.target +ConditionEnvironment=WAYLAND_DISPLAY + +[Service] +Type=simple +# Mirrors the Exec= line in teams-sii.desktop. --user-data-dir isolates this +# instance from teams-xsight; --class is for sway window matching. +ExecStart=/usr/bin/flatpak run com.github.IsmaelMartinez.teams_for_linux \ + --class=teams-sii \ + --user-data-dir=%h/.var/app/com.github.IsmaelMartinez.teams_for_linux/config/profile-sii \ + --appIcon=%h/.local/share/icons/hicolor/256x256/apps/teams-sii.png \ + "--appTitle=Teams — Sii" +# Both Teams instances share the same flatpak app id, so we can't use +# `flatpak kill <app-id>` in ExecStop (it would also kill the xsight one). +# KillMode=mixed sends SIGTERM to the main process only — teams-for-linux +# treats that as a real Quit (not tray-hide), and SIGKILL hits stragglers +# after the stop timeout if Electron misbehaves. +KillMode=mixed +Restart=on-failure +RestartSec=5s +TimeoutStopSec=15s + +[Install] +WantedBy=sway-session.target diff --git a/dot_config/systemd/user/teams-xsight.service b/dot_config/systemd/user/teams-xsight.service new file mode 100644 index 0000000..478f734 --- /dev/null +++ b/dot_config/systemd/user/teams-xsight.service @@ -0,0 +1,27 @@ +[Unit] +Description=Microsoft Teams — XSight account (flatpak) +PartOf=graphical-session.target +After=graphical-session.target +ConditionEnvironment=WAYLAND_DISPLAY + +[Service] +Type=simple +# Mirrors the Exec= line in teams-xsight.desktop. --user-data-dir isolates +# this instance from teams-sii; --class is for sway window matching. +ExecStart=/usr/bin/flatpak run com.github.IsmaelMartinez.teams_for_linux \ + --class=teams-xsight \ + --user-data-dir=%h/.var/app/com.github.IsmaelMartinez.teams_for_linux/config/profile-xsight \ + --appIcon=%h/.local/share/icons/hicolor/256x256/apps/teams-xsight.png \ + "--appTitle=Teams — XSight" +# Both Teams instances share the same flatpak app id, so we can't use +# `flatpak kill <app-id>` in ExecStop (it would also kill the sii one). +# KillMode=mixed sends SIGTERM to the main process only — teams-for-linux +# treats that as a real Quit (not tray-hide), and SIGKILL hits stragglers +# after the stop timeout if Electron misbehaves. +KillMode=mixed +Restart=on-failure +RestartSec=5s +TimeoutStopSec=15s + +[Install] +WantedBy=sway-session.target |
