From 17c063b6274fe831a13b91f469eabd58b7cd4377 Mon Sep 17 00:00:00 2001 From: Sander van der Burg Date: Fri, 4 Sep 2009 22:01:08 +0000 Subject: [PATCH] Added an option that automatically creates the mount points in /etc/exports, so that everything is self initializing svn path=/nixos/trunk/; revision=16963 --- .../network-filesystems/nfs-kernel.nix | 27 ++++++++++++++----- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/modules/services/network-filesystems/nfs-kernel.nix b/modules/services/network-filesystems/nfs-kernel.nix index b41e33bb4ba..6868e75ff1a 100644 --- a/modules/services/network-filesystems/nfs-kernel.nix +++ b/modules/services/network-filesystems/nfs-kernel.nix @@ -41,6 +41,11 @@ let specify the number of NFS server threads. (-> man rpc.nfsd). Defaults to recommended value 8 "; }; + + createMountPoints = mkOption { + default = false; + description = "Whether to create the mount points in the exports file at startup time."; + }; }; }; }; @@ -81,19 +86,27 @@ mkIf config.services.nfsKernel.enable { stop on network-interfaces/stop start script - export PATH=${pkgs.nfsUtils}/sbin + export PATH=${pkgs.nfsUtils}/sbin:$PATH mkdir -p /var/lib/nfs ${modprobe}/sbin/modprobe nfsd || true + + ${if cfg.createMountPoints == true then + '' + cat /etc/exports | while read line + do + for i in $line + do + mkdir -p $i + break + done + done + '' + else ""} + exportfs -ra end script respawn sleep 1000000 - - start script - mkdir -p /var/lib/nfs - export PATH=${pkgs.nfsUtils}/sbin - exportfs -ra - end script ''; } {