config/profiles/mounts/reidun-nfs.nix

62 lines
1.4 KiB
Nix

{ 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/reidun" "192.168.1.3:/Reidun/shared") [
""
#"/Backups"
#"/Comics"
"/Downloads"
#"/Games"
#"/Games/Installable"
#"/Games/Portable"
#"/Games/ROMs"
#"/ISO"
#"/Images"
#"/Images/Collections"
#"/Images/Memes"
#"/Images/Pictures"
#"/Images/Wallpapers"
"/Music"
"/Music/Albums"
"/Music/Kancolle"
"/Music/OST"
"/Music/Old"
"/Music/Touhou"
"/Music/Vocaloid"
"/Music/dojin.co"
"/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"
]);
}