nixos-config/modules/rclone.nix
2021-11-30 15:38:52 +01:00

52 lines
1.5 KiB
Nix

{ 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: