Files
nixos-config/modules/home-manager/rclone.nix
2025-12-01 23:32:24 +01:00

75 lines
1.6 KiB
Nix

{
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";
};
};
};
};
};
};
}