94 lines
2.7 KiB
Nix
94 lines
2.7 KiB
Nix
{ pkgs, ... }:
|
|
let
|
|
mountdir = "/mnt/genc";
|
|
mountdir2 = "/mnt/gdrive";
|
|
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 20G \
|
|
--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: ${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:
|