From edcf3220a084b68fec750b5bfd85792842f5f3fb Mon Sep 17 00:00:00 2001 From: Geir Okkenhaug Jerstad Date: Wed, 11 Jun 2025 10:33:07 +0200 Subject: [PATCH] testing idmap for nfs --- machines/sleeper-service/nfs.nix | 19 ++++++++++++++- modules/services/nfs-client.nix | 41 ++++++++++++++++++++++++++++++++ 2 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 modules/services/nfs-client.nix diff --git a/machines/sleeper-service/nfs.nix b/machines/sleeper-service/nfs.nix index a26906f..3843c27 100644 --- a/machines/sleeper-service/nfs.nix +++ b/machines/sleeper-service/nfs.nix @@ -10,7 +10,24 @@ ]; # Enable RPC services for NFS - services.rpcbind.enable = true; # NFS server configuration + services.rpcbind.enable = true; + + # NFSv4 ID mapping service + services.nfs.idmapd = { + enable = true; + settings = { + General = { + Domain = "home.lab"; # Same domain on all machines + Verbosity = 0; + }; + Mapping = { + Nobody-User = "nobody"; + Nobody-Group = "nogroup"; + }; + }; + }; + + # NFS server configuration services.nfs.server = { enable = true; diff --git a/modules/services/nfs-client.nix b/modules/services/nfs-client.nix new file mode 100644 index 0000000..96e7285 --- /dev/null +++ b/modules/services/nfs-client.nix @@ -0,0 +1,41 @@ +# NFS Client Configuration Module +# Provides standardized NFS client setup with ID mapping +{ + config, + lib, + pkgs, + ... +}: +with lib; { + imports = [ + ../users/media-group.nix + ]; + + config = { + # Enable NFS filesystem support + boot.supportedFilesystems = ["nfs"]; + + # Enable RPC services required for NFS + services.rpcbind.enable = true; + + # NFSv4 ID mapping service - must match server configuration + services.nfs.idmapd = { + enable = true; + settings = { + General = { + Domain = "home.lab"; # Must match server domain + Verbosity = 0; + }; + Mapping = { + Nobody-User = "nobody"; + Nobody-Group = "nogroup"; + }; + }; + }; + + # NFS utilities for client operations + environment.systemPackages = with pkgs; [ + nfs-utils + ]; + }; +}