diff --git a/configs/cloud.nix b/configs/cloud.nix index 03f93e4..3cd922e 100644 --- a/configs/cloud.nix +++ b/configs/cloud.nix @@ -10,7 +10,7 @@ seafile.enable = true; google-drive = { enable = true; - directory = "${config.users.users.me.home}/cloud/gdrive"; + directory = "${config.users.users.me.home}/cloud/google"; }; }; diff --git a/modules/google-drive.nix b/modules/google-drive.nix index c0176f8..a657d9b 100644 --- a/modules/google-drive.nix +++ b/modules/google-drive.nix @@ -8,15 +8,17 @@ in { }; config = mkIf cfg.enable { - environment.systemPackages = [ pkgs.grive2 ]; - systemd.user.services.google-drive = { description = "Google Drive synchronisation service"; after = [ "network.target" ]; wantedBy = [ "default.target" ]; - script = "${pkgs.grive2}/bin/grive -p ${cfg.directory}"; - startAt = "*:0/5"; - serviceConfig.Type = "oneshot"; + 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; + }; }; };