{
  boot.supportedFilesystems = ["nfs"];

  services.rpcbind.enable = true;

  fileSystems."/data/media/library/shows" = {
    device = "192.168.1.226:/volume1/Media/TV Shows";
    fsType = "nfs4";
    options = [
      "x-systemd.automount" # Automount on first access
      "noatime" # Don't update access times (performance)
      "_netdev" # This is a network device; wait for network
      "defaults" # Standard default options
      "rw" # Read/write access
      "hard" # Hard mount (retry indefinitely on error)
    ];
  };

  fileSystems."/data/media/library/movies" = {
    device = "192.168.1.226:/volume1/Media/Movies";
    fsType = "nfs4";
    options = [
      "x-systemd.automount" # Automount on first access
      "noatime" # Don't update access times (performance)
      "_netdev" # This is a network device; wait for network
      "defaults" # Standard default options
      "rw" # Read/write access
      "hard" # Hard mount (retry indefinitely on error)
    ];
  };

  fileSystems."/data/media/torrents" = {
    device = "192.168.1.226:/volume1/data/torrents";
    fsType = "nfs4";
    options = [
      "x-systemd.automount" # Automount on first access
      "noatime" # Don't update access times (performance)
      "_netdev" # This is a network device; wait for network
      "defaults" # Standard default options
      "rw" # Read/write access
      "hard" # Hard mount (retry indefinitely on error)
    ];
  };

  systemd.services = {
    # jellyfin = {
    #   requires = ["data-media-library-movies.mount" "data-media-library-shows.mount"];
    #   after = ["data-media-library-movies.mount" "data-media-library-shows.mount"];
    #   onFailure = ["data-media-library-movies.mount" "data-media-library-shows.mount"];
    # };
    # transmission = {
    #   requires = ["data-media-torrents.mount"];
    #   after = ["data-media-torrents.mount"];
    #   onFailure = ["data-media-torrents.mount"];
    # };
  };
}
