{ config, pkgs, lib, ... }: let mountdir = "/mnt/genc"; mountdir2 = "/mnt/gdrive"; cachedir = "/mnt/cache/rclone"; user = "mc-fucker"; group = "users"; cfg = config.services.rclone; in { # options.services.rclone = { # cacheSize = lib.mkOption { # type = lib.types.str; # default = "20G"; # description = "The maximum size of the vfs cache"; # }; # }; imports = [ ./rclone-options.nix ]; 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 ${cfg.cacheSize} \ --vfs-cache-max-age 5000h \ --vfs-cache-poll-interval 5m ''; #Type = "notify"; Type = "simple"; Restart = "on-failure"; RestartSec = "5s"; User = user; #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:/shared ${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 ${cfg.cacheSize} \ --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: