{ pkgs, ... }: let mountdir = "/mnt/genc"; cachedir = "/mnt/cache"; user = "mc-fucker"; group = "users"; in { programs.fuse.userAllowOther = true; systemd.services.genc_mount = { description = "mount encrypted gdrive"; after = [ "network-online.target" ]; wantedBy = [ "multi-user.target" ]; #path = with pkgs; [ fuse rclone ]; #path = with pkgs; [ "/run/wrappers/" ]; path = [ "/run/wrappers/" ]; preStart = '' [ ! -d ${mountdir} ] && mkdir -p ${mountdir} && chown ${user} ${mountdir} [ ! -d ${cachedir} ] && mkdir -p ${cachedir} && chown ${user} ${cachedir} ls /home/mc-fucker ''; postStop = "fusermount -uz ${mountdir}"; #postStart = " serviceConfig = { ExecStart = '' ${pkgs.rclone}/bin/rclone mount genc: ${mountdir} \ --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 30G \ --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: