config/profiles/mounts/freon-nfs.nix
2025-01-25 03:10:56 +01:00

42 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/freon" "192.168.1.3:/Freon") [
/* in joinSets (map (mkMount "/mnt/freon" "knut.tail9aac63.ts.net:/Freon") [ */
/* in joinSets (map (mkMount "/mnt/freon" "100.109.53.107:/Freon") [ */
""
"/Backups"
"/ISO"
"/Games"
"/Images"
"/Music"
"/Music/Albums"
"/Music/Kancolle"
"/Music/OST"
"/Music/Old"
"/Music/Touhou"
"/Music/Vocaloid"
"/Music/dojin.co"
]);
}