{ config, pkgs, ... }: { programs.rclone = { enable = true; # Give rclone access to the ssh agent package = pkgs.writeShellScriptBin "rclone" '' export GNUPGHOME="${config.xdg.dataHome}/gnupg" export SSH_AUTH_SOCK=$(${pkgs.gnupg}/bin/gpgconf --list-dirs agent-ssh-socket) exec ${pkgs.rclone}/bin/rclone "$@" ''; remotes = { # gdrive = { # config = { # type = "drive"; # scope = "drive"; # # root_folder_id = ""; # }; # # secrets = { # token = "${config.xdg.configHome}/rclone/gdrive_token"; # # client_id = "${config.xdg.configHome}/rclone/gdrive_client_id"; # client_secret = "${config.xdg.configHome}/rclone/gdrive_client_secret"; # TODO: sops? # }; # # mounts = { # "/" = { # enable = true; # mountPoint = "${config.home.homeDirectory}/gdrive"; # # options = { # dir-cache-time = "5m"; # poll-interval = "10s"; # }; # }; # }; # }; orion = { config = { type = "sftp"; user = config.var.username; }; secrets = { host = config.sops.secrets.orion_ip.path; }; mounts = { "/var/lib/filebrowser/files" = { enable = true; mountPoint = "${config.home.homeDirectory}/orion"; options = { dir-cache-time = "5m"; poll-interval = "10s"; # Network optimizations "buffer-size" = "32M"; "vfs-read-chunk-size" = "32M"; }; }; }; }; }; }; }