1
0
mirror of https://github.com/kmein/niveum synced 2026-03-16 10:11:08 +01:00
Files
niveum/modules/google-drive.nix

26 lines
733 B
Nix

{ pkgs, config, lib, ... }:
with lib;
let cfg = config.niveum.google-drive;
in {
options.niveum.google-drive = {
enable = mkEnableOption "Google Drive";
directory = mkOption { type = types.path; };
};
config = mkIf cfg.enable {
systemd.user.services.google-drive = {
description = "Google Drive synchronisation service";
after = [ "network.target" ];
wantedBy = [ "default.target" ];
preStart = "mkdir -p ${cfg.directory}";
script = "${pkgs.google-drive-ocamlfuse}/bin/google-drive-ocamlfuse ${cfg.directory}";
preStop = "${pkgs.fuse}/bin/fusermount -u ${cfg.directory}";
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
};
};
};
}