lifetracker/modules/components/mounts/default.nix
2025-01-27 01:12:32 -08:00

66 lines
1.3 KiB
Nix

{
lib,
config,
pkgs,
...
}:
let
cfg = config.mounts;
in
{
options = {
mounts = {
enable = lib.mkEnableOption "Enable mounts in NixOS";
};
};
config = lib.mkIf cfg.enable {
environment.systemPackages = with pkgs; [
cifs-utils
nfs-utils
];
fileSystems = builtins.listToAttrs (
builtins.map
(mount: {
name = "/media/${mount.name}";
value = {
device = "media.home:/volume1/${mount.path}";
fsType = "nfs";
options = [
# "x-systemd.automount"
# "noauto"
"x-systemd.idle-timeout=600"
"rw"
];
};
})
[
{
name = "archive";
path = "documents/documents/archive";
}
{
name = "photos";
path = "photos";
}
{
name = "video";
path = "video";
}
{
name = "audio";
path = "audio";
}
{
name = "home";
path = "homes/ryan";
}
{
name = "fileshare";
path = "fileshare";
}
]
);
services.rpcbind.enable = true;
};
}