{ config, pkgs, lib, ... }: # TODO: use tailscale if enabled { # TODO: wireguard #boot.kernelParams = [ "nfs.nfs4_disable_idmapping=0" "nfsd.nfs4_disable_idmapping=0" ]; fileSystems = let mkMount = mountpoint: server: subdir: { "${mountpoint}${subdir}" = { device = "${server}${subdir}"; fsType = "nfs"; #options = [ "nfsvers=4.2" ]; }; }; # TODO: combine nameValuePair and listToAttrs joinSets = sets: builtins.foldl' (l: r: l // r) {} sets; # TODO: space in dirname is not supported in joinSets (map (mkMount "/mnt/freon" "192.168.1.3:/Freon") [ "" "/Backups" "/ISO" "/Games" "/Images" ]); }