From 5664786ab46afb914a74e4398452ddb890f0745a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kier=C3=A1n=20Meinhardt?= Date: Sun, 8 Dec 2019 22:37:16 +0100 Subject: [PATCH] fix(seafile, dropbox): move to user service --- configs/cloud.nix | 10 ++-------- modules/dropbox.nix | 18 +++++++++--------- modules/seafile.nix | 9 ++++----- 3 files changed, 15 insertions(+), 22 deletions(-) diff --git a/configs/cloud.nix b/configs/cloud.nix index d3bd163..dde3d56 100644 --- a/configs/cloud.nix +++ b/configs/cloud.nix @@ -7,14 +7,8 @@ ]; niveum = { - dropbox = { - enable = true; - user = config.users.users.me; - }; - seafile = { - enable = true; - user = config.users.users.me; - }; + dropbox.enable = true; + seafile.enable = true; google-drive = rec { enable = true; directory = "${user.home}/cloud/gdrive"; diff --git a/modules/dropbox.nix b/modules/dropbox.nix index fd1ca8b..baa5452 100644 --- a/modules/dropbox.nix +++ b/modules/dropbox.nix @@ -1,24 +1,24 @@ { pkgs, lib, config, ... }: with lib; let cfg = config.niveum.dropbox; -in -{ +in { options.niveum.dropbox = { enable = mkEnableOption "Dropbox"; - user = mkOption { type = types.attrs; }; }; config = mkIf cfg.enable { - systemd.services.dropbox = { + systemd.user.services.dropbox = { description = "Dropbox synchronisation service"; - after = [ "network-online.target" ]; - script = "${pkgs.dropbox}/bin/dropbox"; + after = [ "network.target" ]; + wantedBy = [ "default.target" ]; + path = [ pkgs.dropbox-cli ]; serviceConfig = { + Type = "forking"; + PIDFile = "%h/.dropbox/dropbox.pid"; Restart = "always"; - User = cfg.user.name; + ExecStart = "${pkgs.dropbox-cli}/bin/dropbox start"; + ExecStop = "${pkgs.dropbox-cli}/bin/dropbox stop"; }; }; - - environment.systemPackages = [ pkgs.dropbox-cli ]; }; } diff --git a/modules/seafile.nix b/modules/seafile.nix index 6c5fcbc..3c9e12a 100644 --- a/modules/seafile.nix +++ b/modules/seafile.nix @@ -4,17 +4,16 @@ let cfg = config.niveum.seafile; in { options.niveum.seafile = { enable = mkEnableOption "Seafile"; - user = mkOption { type = types.attrs; }; }; - config = lib.mkIf cfg.enable { - systemd.services.seafile = { + config = mkIf cfg.enable { + systemd.user.services.seafile = { description = "Seafile synchronisation service"; - after = [ "network-online.target" ]; + after = [ "network.target" ]; + wantedBy = [ "default.target" ]; script = "${pkgs.seafile-client}/bin/seafile-applet"; serviceConfig = { Restart = "always"; - User = cfg.user.name; }; };