add(vicinae): fallback if vicinae crashed
This commit is contained in:
@@ -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"
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user