pkgs@{ lib, resholve, zsh, sieve-connect, sops, ... }: resholve.writeScriptBin "sieve-edit" { inputs = with pkgs; [sieve-connect sops]; interpreter = lib.getExe zsh; execer = with pkgs; [ "cannot:${lib.getExe sieve-connect}" "cannot:${lib.getExe sops}" ]; } '' host=$1; shift case "$host" in surtr) sieve-connect -s surtr.yggdrasil.li -m EXTERNAL --clientkey <(sops decrypt $HOME/projects/machines/hosts/surtr/email/ca/gkleen@sif.key) --clientcert $HOME/projects/machines/hosts/surtr/email/ca/gkleen@sif.crt --edit --remotesieve sieve ;; ymir) sieve-connect -s ymir.yggdrasil.li -u gkleen --edit --remotesieve sieve ;; *) echo "Unknown host: ‘$host’" >&2 return 2 ;; esac ''