Files
nixos-config/modules/home-manager/rclone.nix
2025-12-02 01:11:59 +01:00

75 lines
1.7 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";
};
};
};
};
};
};
}