config/profiles/mounts/reidun-nfs.nix

46 lines
1.1 KiB
Nix

{ config, pkgs, lib, ... }:
# TODO: use tailscale if enabled
# don't mount if local VM
lib.mkIf (!config.virtualisation.isVmVariant)
{
# 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/reidun" "192.168.1.3:/Reidun/shared") [
""
#"/Comics"
"/Downloads"
"/Various"
"/Various/Zotero"
"/Various/resilio"
"/Video"
"/Video/Anime"
"/Video/Concerts"
"/Video/Documentaries"
"/Video/Movies"
"/Video/Musicvideos"
"/Video/Series"
"/Work"
"/Work/Documents"
"/Work/FL-Studio"
"/Work/Programming"
"/Work/School"
"/pub"
]);
}