Start the text expander that was only ever installed
espanso-wayland was installed and its config linked, and then nothing anywhere launched it -- the RPM ships no unit, autostart.lua started every session daemon except this one, and the seed machine only worked because the service had once been registered by hand. change-settings now runs `espanso service register` (upstream's own mechanism, and unlike hypridle it conflicts with nothing GNOME runs), and autostart.lua starts the unit so the first Hyprland login after a fresh install expands text rather than the second.
This commit is contained in:
@@ -39,6 +39,14 @@ hl.on("hyprland.start", function()
|
||||
-- prompt if Panama's ever fails to come up.
|
||||
hl.exec_cmd("systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP && systemctl --user start panama-polkit-agent.service hyprpaper.service vicinae.service hypridle.service")
|
||||
|
||||
-- Text expansion. change-settings runs `espanso service register`, which
|
||||
-- writes and enables espanso's own user unit; the explicit start makes the
|
||||
-- first Hyprland login after a fresh install work rather than the second.
|
||||
-- Started on its own line: unlike the units above it carries no
|
||||
-- ConditionEnvironment, and a missing unit (espanso not yet registered)
|
||||
-- must not muddy the start of the four that lock and wallpaper depend on.
|
||||
hl.exec_cmd("systemctl --user start espanso.service")
|
||||
|
||||
-- The shell: bar, dock, overview, quick settings, notifications, capture.
|
||||
-- No systemd unit ships with quickshell, so it runs as a compositor child.
|
||||
hl.exec_cmd("quickshell --daemonize")
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Strict: the copy over / below is the one thing this stage exists to do, and
|
||||
# without set -e its failure fell through to guarded no-ops and exited 0 --
|
||||
# a failed stage the installer's summary could never see.
|
||||
set -euo pipefail
|
||||
|
||||
# --- Helper functions ---
|
||||
log() { echo -e "\033[1;34m[INFO]\033[0m $*"; }
|
||||
exists() { command -v "$1" >/dev/null 2>&1; }
|
||||
@@ -61,6 +66,18 @@ echo -e "\n--- Hyprland session services ---"
|
||||
# PartOf=graphical-session.target.
|
||||
log "Hyprland services are started per-session by hypr/autostart.lua, not enabled globally"
|
||||
|
||||
# espanso is the exception to the rule above: text expansion is wanted under
|
||||
# any compositor and conflicts with nothing GNOME runs, and upstream's own
|
||||
# mechanism is a registered user unit. The RPM ships no unit -- without this,
|
||||
# the package installs, the config links, and no trigger ever fires.
|
||||
# `service register` writes and enables the unit and is idempotent on re-runs;
|
||||
# autostart.lua also starts it so the first Hyprland login after a fresh
|
||||
# install expands text without waiting for the next one.
|
||||
if exists espanso && ! systemctl --user cat espanso.service >/dev/null 2>&1; then
|
||||
log "Registering the espanso text-expansion service"
|
||||
espanso service register >/dev/null 2>&1 || log "Could not register espanso"
|
||||
fi
|
||||
|
||||
# Notification daemons must NOT be installed: mako, dunst and swaync all
|
||||
# register Name=org.freedesktop.Notifications for D-Bus activation, which races
|
||||
# Quickshell's own notification server at login. Whoever wins keeps the name.
|
||||
|
||||
Reference in New Issue
Block a user