add(vicinae): fallback if vicinae crashed

This commit is contained in:
kenji
2026-01-05 18:39:00 -06:00
parent 7fd73ba79e
commit 2b9067f87b
3 changed files with 26 additions and 6 deletions
+24 -5
View File
@@ -1,5 +1,22 @@
{pkgs, ...}: {
# TODO: create a script that initializes vicinae if `vicinae server` is off.
{
pkgs,
inputs,
...
}: let
vicinae-toggle = pkgs.writeShellScriptBin "vicinae-toggle" ''
VICINAE_BIN="${inputs.vicinae.packages.${pkgs.system}.default}/bin/vicinae"
ARGS=("$@")
if [ ''${#ARGS[@]} -eq 0 ]; then
ARGS=("toggle")
fi
if ! "$VICINAE_BIN" "''${ARGS[@]}" 2>/dev/null; then
${pkgs.systemd}/bin/systemctl --user restart vicinae || "$VICINAE_BIN" server &
sleep 0.4
exec "$VICINAE_BIN" "''${ARGS[@]}"
fi
'';
in {
services.vicinae = {
enable = true;
systemd = {
@@ -42,15 +59,17 @@
# Ensure vicinae themes directory exists for matugen output
home.file.".local/share/vicinae/themes/.keep".text = "";
home.packages = [vicinae-toggle];
wayland.windowManager.hyprland.settings = {
exec-once = [
"vicinae server"
];
bindd = [
"SUPER, SPACE, Open Vicinae, exec, vicinae toggle"
"SUPER, period, Open Emoji Picker, exec, vicinae deeplink vicinae://extensions/vicinae/core/search-emojis"
"SUPER, C, Open Calculator, exec, vicinae deeplink vicinae://extensions/vicinae/calculator/history"
"SUPER, SPACE, Open Vicinae, exec, vicinae-toggle"
"SUPER, period, Open Emoji Picker, exec, vicinae-toggle deeplink vicinae://extensions/vicinae/core/search-emojis"
"SUPER, C, Open Calculator, exec, vicinae-toggle deeplink vicinae://extensions/vicinae/calculator/history"
];
};
}