about summary refs log tree commit diff
path: root/nixos/modules/tasks
diff options
context:
space:
mode:
authorKai Wohlfahrt <kai.wohlfahrt@gmail.com>2019-11-27 21:01:34 +0000
committerKai Wohlfahrt <kai.wohlfahrt@gmail.com>2019-12-12 15:42:44 +0000
commitb1c10bc8b225beec0752f1b96acfa38a5f95cc92 (patch)
treeac017c2eeccab46d4142d428e9aa060b22f7d4f1 /nixos/modules/tasks
parent0dce66a6ec4efefa421e17de7fba433acf7cd6fd (diff)
downloadnixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.tar
nixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.tar.gz
nixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.tar.bz2
nixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.tar.lz
nixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.tar.xz
nixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.tar.zst
nixlib-b1c10bc8b225beec0752f1b96acfa38a5f95cc92.zip
nfs: set up request-key for id mapping
A patch is necessary upstream to support multiple configs via symlinks
in /etc/request-key.d

Once that is done, we can add support for CIFS as well
Diffstat (limited to 'nixos/modules/tasks')
-rw-r--r--nixos/modules/tasks/filesystems/nfs.nix6
1 files changed, 6 insertions, 0 deletions
diff --git a/nixos/modules/tasks/filesystems/nfs.nix b/nixos/modules/tasks/filesystems/nfs.nix
index e0e8bb1f03de..ddcc0ed8f5a4 100644
--- a/nixos/modules/tasks/filesystems/nfs.nix
+++ b/nixos/modules/tasks/filesystems/nfs.nix
@@ -25,6 +25,9 @@ let
   '';
 
   nfsConfFile = pkgs.writeText "nfs.conf" cfg.extraConfig;
+  requestKeyConfFile = pkgs.writeText "request-key.conf" ''
+    create id_resolver * * ${pkgs.nfs-utils}/bin/nfsidmap -t 600 %k %d
+  '';
 
   cfg = config.services.nfs;
 
@@ -57,9 +60,12 @@ in
 
     systemd.packages = [ pkgs.nfs-utils ];
 
+    environment.systemPackages = [ pkgs.keyutils ];
+
     environment.etc = {
       "idmapd.conf".source = idmapdConfFile;
       "nfs.conf".source = nfsConfFile;
+      "request-key.conf".source = requestKeyConfFile;
     };
 
     systemd.services.nfs-blkmap =