summaryrefslogtreecommitdiff
path: root/accounts/gkleen@sif/utils/sieve-edit.nix
blob: f985a3f6e3deb32de1004ab7823f607cf069dae8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
''