aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix
diff options
context:
space:
mode:
Diffstat (limited to 'infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix')
-rw-r--r--infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix14
1 files changed, 11 insertions, 3 deletions
diff --git a/infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix b/infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix
index 77e22a96b553..9a0143c155c5 100644
--- a/infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix
+++ b/infra/libkookie/nixpkgs/nixos/modules/security/pam_mount.nix
@@ -39,8 +39,16 @@ in
environment.etc."security/pam_mount.conf.xml" = {
source =
let
- extraUserVolumes = filterAttrs (n: u: u.cryptHomeLuks != null) config.users.users;
- userVolumeEntry = user: "<volume user=\"${user.name}\" path=\"${user.cryptHomeLuks}\" mountpoint=\"${user.home}\" />\n";
+ extraUserVolumes = filterAttrs (n: u: u.cryptHomeLuks != null || u.pamMount != {}) config.users.users;
+ mkAttr = k: v: ''${k}="${v}"'';
+ userVolumeEntry = user: let
+ attrs = {
+ user = user.name;
+ path = user.cryptHomeLuks;
+ mountpoint = user.home;
+ } // user.pamMount;
+ in
+ "<volume ${concatStringsSep " " (mapAttrsToList mkAttr attrs)} />\n";
in
pkgs.writeText "pam_mount.conf.xml" ''
<?xml version="1.0" encoding="utf-8" ?>
@@ -52,7 +60,7 @@ in
<!-- if activated, requires ofl from hxtools to be present -->
<logout wait="0" hup="no" term="no" kill="no" />
<!-- set PATH variable for pam_mount module -->
- <path>${pkgs.utillinux}/bin</path>
+ <path>${pkgs.util-linux}/bin</path>
<!-- create mount point if not present -->
<mkmountpoint enable="1" remove="true" />