【2026年最新】nix-darwinでTouch IDでsudo突破する方法
重い腰を上げてdotfilesのNix化に取り組んでいる今日このごろです。Macの設定をnix-darwinで管理できると知ってウハウハでした。
ただ設定の反映で毎回sudoのたびにパスワードを入力するのが面倒になりました。というわけで、代わりにTouch IDを使えるように設定しました。
## enableSudoTouchIdAuthは古い
最初はsecurity.pam.enableSudoTouchIdAuthで設定しようとしましたが、次のようなエラーになりました。
Failed assertions:- The option definition `security.pam.enableSudoTouchIdAuth' in `/nix/store/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-source/nix/darwin/system.nix' no longer has any effect; please remove it.This option has been renamed to `security.pam.services.sudo_local.touchIdAuth` for consistency with NixOS.ここに書いてあるようにrenameされたようです。
## 設定
エラーで言われたとおりにsecurity.pam.services.sudo_localを設定します。
security.pam.services.sudo_local = { touchIdAuth = true; reattach = true; # tmux内で必要};tmuxを使う場合、touchIdAuthだけでなくreattachも必要です。
参考:pam.nix
## 反映
最後に反映しましょう。
sudo darwin-rebuild switch以上、sudoでパスワードの代わりにTouch IDを使うための、nix-darwinの設定方法でした。
switchの段階でこうやってエラーを出してくれるのが本当に助かる。