我决定开始使用 kwallet,因为它在 nixos 上随 kde 一起提供。我想将其设置为自动解锁。在 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
'';
}
]