From 2b9067f87be047e3a71b0dcaa3dd4c52c4bbd859 Mon Sep 17 00:00:00 2001 From: kenji Date: Mon, 5 Jan 2026 18:39:00 -0600 Subject: [PATCH] add(vicinae): fallback if vicinae crashed --- apps/hyprland/hypr/input.nix | 1 + apps/vicinae/default.nix | 29 ++++++++++++++++++++++++----- apps/waybar/default.nix | 2 +- 3 files changed, 26 insertions(+), 6 deletions(-) diff --git a/apps/hyprland/hypr/input.nix b/apps/hyprland/hypr/input.nix index fbd91d5..1781383 100644 --- a/apps/hyprland/hypr/input.nix +++ b/apps/hyprland/hypr/input.nix @@ -3,6 +3,7 @@ input = { repeat_rate = 50; repeat_delay = 300; + numlock_by_default = true; }; cursor = { hide_on_key_press = false; diff --git a/apps/vicinae/default.nix b/apps/vicinae/default.nix index abd3901..f7fde67 100644 --- a/apps/vicinae/default.nix +++ b/apps/vicinae/default.nix @@ -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" ]; }; } diff --git a/apps/waybar/default.nix b/apps/waybar/default.nix index 776d0d1..9ee1f8f 100644 --- a/apps/waybar/default.nix +++ b/apps/waybar/default.nix @@ -145,7 +145,7 @@ in { "custom/omarchy" = { format = ""; - on-click = "vicinae toggle"; # TODO: add fallback + on-click = "vicinae-toggle"; on-click-right = "xdg-terminal-exec"; tooltip-format = "Omarchy Menu\n\nSuper + Alt + Space"; };