{ pkgs, repoRoot, ... }: { services.espanso = { enable = true; waylandSupport = true; configs.default = { toggle_key = "OFF"; preserve_clipboard = true; show_notifications = true; keyboard_layout.layout = "se"; }; matches = { base.matches = [ { trigger = ";ip "; replace = "{{pubip}} "; } { trigger = ";gw2hs "; replace = "Full Homestead ^w^ "; } { regex = ";format (?P\\S+) (?P\\S+) "; replace = "{{format_text}} "; vars = [ { name = "format_text"; type = "shell"; params.cmd = "${pkgs.python3}/bin/python3 ${repoRoot}/util/format_text.py $ESPANSO_ALPHABET $ESPANSO_TEXT"; } ]; } { regex = ";;(?P\\S+) "; replace = "{{emoji}} "; vars = [ { name = "emoji"; type = "shell"; params.cmd = "${pkgs.python3}/bin/python3 ${repoRoot}/util/get_emoji.py $ESPANSO_EMNAME"; } ]; } ]; global_vars.global_vars = [ { name = "pubip"; type = "shell"; params.cmd = "curl -s https://ifconfig.me"; } ]; }; }; }