diff --git a/modules/rclone.nix b/modules/rclone.nix index b896e85..de7f8b3 100644 --- a/modules/rclone.nix +++ b/modules/rclone.nix @@ -1,6 +1,7 @@ { pkgs, ... }: let mountdir = "/mnt/genc"; + mountdir2 = "/mnt/gdrive"; cachedir = "/mnt/cache"; user = "mc-fucker"; group = "users"; @@ -47,6 +48,47 @@ in #Group = group; }; }; + + systemd.services.gdrive_mount = { + description = "mount gdrive"; + after = [ "network-online.target" ]; + wantedBy = [ "multi-user.target" ]; + #path = with pkgs; [ fuse rclone ]; + #path = with pkgs; [ "/run/wrappers/" ]; + path = [ "/run/wrappers/" ]; + preStart = '' + [ ! -d ${mountdir2} ] && mkdir -p ${mountdir2} && chown ${user} ${mountdir2} + [ ! -d ${cachedir} ] && mkdir -p ${cachedir} && chown ${user} ${cachedir} + ls /home/mc-fucker + ''; + postStop = "fusermount -uz ${mountdir2}"; + #postStart = " + serviceConfig = { + ExecStart = '' + ${pkgs.rclone}/bin/rclone mount gdrive: ${mountdir2} \ + --config /home/mc-fucker/.config/rclone/rclone.conf \ + --allow-other \ + --dir-cache-time 5000h \ + --attr-timeout 5000h \ + --log-level INFO \ + --poll-interval 30s \ + --umask 002 \ + --cache-dir=${cachedir} \ + --drive-pacer-min-sleep 10ms \ + --drive-pacer-burst 1000 \ + --vfs-cache-mode full \ + --vfs-cache-max-size 20G \ + --vfs-cache-max-age 5000h \ + --vfs-cache-poll-interval 5m + ''; + #Type = "notify"; + Type = "simple"; + Restart = "on-failure"; + RestartSec = "5s"; + User = user; + #Group = group; + }; + }; } # vim: set et ts=2 sw=2 ai: