私はnixosのkdeに付属のkwalletを使用することにしました。自動的にロックを解除するように設定したいと思います。 Arch Linux Wikiには、これについて説明するセクションがあります。ここ。しかし、nixosではどうすればいいですか? Configuration.nixまたは/etc/pam.d/kdeを使用する必要がありますか?
答え1
Plasma5を使用している場合は、すでにアクティブになっていると思います。
あなたはそれを使用することができますsecurity.pam.services.<name?>.enableKwallet
オプション。
設定に追加:
security.pam.services.kwallet = {
name = "kwallet";
enableKwallet = true;
};
これにより、必要な pam エントリが追加されます。/etc/pam.d
$ cat /etc/static/pam.d/kwallet
# Account management.
account sufficient pam_unix.so
# Authentication management.
auth required pam_unix.so likeauth
auth optional /nix/store/llds2sy99zg92lrk9gsfzhpz7f6wnxdy-kwallet-pam-5.8.6/lib/security/pam_kwallet5.so kwalletd=/nix/store/x9q0g102hlxx60jb332xmdpq76ia1bja-kwallet-5.31.0/bin/kwalletd5
auth sufficient pam_unix.so likeauth try_first_pass
auth required pam_deny.so
# Password management.
password requisite pam_unix.so nullok sha512
# Session management.
session required pam_env.so envfile=/nix/store/5ninxpd3cmysfzlhij1afymd0gyg7x0p-pam-environment
session required pam_unix.so
session optional /nix/store/llds2sy99zg92lrk9gsfzhpz7f6wnxdy-kwallet-pam-5.8.6/lib/security/pam_kwallet5.so kwalletd=/nix/store/x9q0g102hlxx60jb332xmdpq76ia1bja-kwallet-5.31.0/bin/kwalletd5
答え2
これを使っsecurity.pam.services
て設定できます。何か行に応じて
security.pam.services = [
{ name = "kde";
text = ''
auth optional pam_kwallet.so kdehome=.kde4
session optional pam_kwallet.so
'';
}
]