diff --git a/configs/cloud.nix b/configs/cloud.nix index 0604aeb..fe0f2a4 100644 --- a/configs/cloud.nix +++ b/configs/cloud.nix @@ -7,7 +7,10 @@ ]; - niveum.dropbox.enable = true; + niveum.dropbox = { + enable = true; + user = config.users.users.me; + }; niveum.seafile.enable = true; diff --git a/modules/dropbox.nix b/modules/dropbox.nix index 529521c..fd1ca8b 100644 --- a/modules/dropbox.nix +++ b/modules/dropbox.nix @@ -5,10 +5,19 @@ in { options.niveum.dropbox = { enable = mkEnableOption "Dropbox"; + user = mkOption { type = types.attrs; }; }; config = mkIf cfg.enable { - services.xserver.displayManager.sessionCommands = "${pkgs.dropbox}/bin/dropbox &"; + systemd.services.dropbox = { + description = "Dropbox synchronisation service"; + after = [ "network-online.target" ]; + script = "${pkgs.dropbox}/bin/dropbox"; + serviceConfig = { + Restart = "always"; + User = cfg.user.name; + }; + }; environment.systemPackages = [ pkgs.dropbox-cli ]; };