From e2b7fd8a6420bd0cf4a6fee2c96bdff75dfbc97d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s=20Rivera?= Date: Thu, 18 Jun 2026 17:00:20 +0200 Subject: [PATCH] kdrive: setup sync with desktop --- modules/applications/kdrive.nix | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/applications/kdrive.nix b/modules/applications/kdrive.nix index d432f13..3522eb7 100644 --- a/modules/applications/kdrive.nix +++ b/modules/applications/kdrive.nix @@ -34,15 +34,13 @@ CPUWeight = 1; # minimum relative CPU share }; }; - /* systemd.user.timers.kdrive-sync = { wantedBy = [ "timers.target" ]; timerConfig = { - OnBootSec = "1m"; - OnUnitActiveSec = "5m"; + OnBootSec = "10m"; + OnUnitActiveSec = "1h"; }; }; - */ }; perSystem = {pkgs, ...}: { packages.custom-checkKdrive = pkgs.writeShellApplication { @@ -115,18 +113,25 @@ runtimeInputs = with pkgs; [ rclone libnotify + ripgrep ]; text = '' REMOTE_NAME="kdrive" MOUNT_POINT="/home/tomasr/hdd/kdrive" - - if rclone listremotes | rg "^''${REMOTE_NAME}:"; then + LOGFILE="/tmp/rclone-bisync.log" + rm LOGFILE && touch LOGFILE + if rclone --config "$HOME/.config/rclone/rclone.conf" listremotes | rg "^''${REMOTE_NAME}:"; then echo "Syncing ''${REMOTE_NAME}..." - rclone bisync "''${REMOTE_NAME}:" "$MOUNT_POINT" & + if ! rclone --config "$HOME/.config/rclone/rclone.conf" bisync "$MOUNT_POINT" "$REMOTE_NAME:" --recover > "$LOGFILE" 2>&1; then + notify-send "rclone bisync failed" "$(cat $LOGFILE)" + echo "rclone bisync failed" + cat $LOGFILE + cp $LOGFILE "$HOME/hdd/kdrive/logs/$(date +%Y-%m-%d-%H-%M-%S).log" + fi else notify-send "rclone sync failed" \ "Remote ''${REMOTE_NAME} not found.\nConfigure rclone and create the dir ~/kdrive/ or comment out the exec line in hyprland.nix." - echo "Remote ''${REMOTE_NAME} not found. Configure rclone or comment out the exec line in hyprland.nix." + echo "Remote ''${REMOTE_NAME} not found. Configure rclone or fix in ~/nixos/modules/applications/kdrive.nix" fi ''; };