diff --git a/modules/nixos-modules/server/network_storage/nfs.nix b/modules/nixos-modules/server/network_storage/nfs.nix index 6273e59..26480d6 100644 --- a/modules/nixos-modules/server/network_storage/nfs.nix +++ b/modules/nixos-modules/server/network_storage/nfs.nix @@ -54,10 +54,16 @@ "${config.host.network_storage.export_directory} 100.64.0.0/10(rw,fsid=0,no_subtree_check)" ] ++ ( - lib.lists.imap1 ( + lib.lists.imap0 ( i: directory: let - options = "(rw,fsid=${toString i},nohide,insecure,no_subtree_check)"; - in "${directory._directory} 100.64.0.0/10${options} 192.168.0.0/24${options} 127.0.0.1${options}" + option = fsid: "(rw,fsid=${toString fsid},nohide,insecure,no_subtree_check)"; + addresses = ["100.64.0.0/10" "192.168.0.0/24" "127.0.0.1"]; + options = lib.strings.concatStrings ( + lib.strings.intersperse " " ( + lib.lists.imap0 (index: address: "${address}${option (1 + (i * (builtins.length addresses)) + index)}") addresses + ) + ); + in "${directory._directory} ${options}" ) ( builtins.filter (