emacs lisp で keychain から password とりだす


auth-source.el をつかいます。(標準 elisp)

たとえば

security add-generic-password -a hogetarou -w PASSWORD -s myservice

で保存したものは

(let ((auth-sources '(macos-keychain-generic))
      (cred (auth-source-search :max 1 :user "hogetarou" :require '(:secret))))
  (unless (null cred)
    (setq my-secret (funcall (plist-get (nth 0 cred) :secret)))))

で。

auth-sources に設定できる keychain の種類には macos-keychain-internet ってのもあるので、web のログイン情報とかもとれる

tramp は auth-source つかってくれるので、auth-sources に設定してアレばそっちをみにいってくれれ幸せになる人もいる