🙄
MacのターミナルでsudoしたときにTouchIDを使う - nix-darwinの場合
背景
darwin-rebuildのたびにパスワードを入力するのが面倒になってしまった。
対策案
そもそもnix-darwinは対応していた。
security.pam.enableSudoTouchIdAuth
をtrueに設定するだけである。
.nixpkgs/darwin-configuration.nix
に書き加えれば良い。
{
security.pam.enableSudoTouchIdAuth = true
}
nix-darwinを日常的に使っていればmacのアップデートで消えても次のdarwin-rebuild switch
で修正されるはずなので、そのあたりが嬉しみです。
もうちょっと詳しく
実装を確認してみよう。
# Enable sudo Touch ID authentication, if not already enabled
if ! grep 'pam_tid.so' ${file} > /dev/null; then
${sed} -i '2i\
auth sufficient pam_tid.so # nix-darwin: ${option}
' ${file}
fi
どうやらsedでpam_tid.soが書かれていなかったら差し込むようだ。
参考
Discussion