diff --git a/modules/profiles/personal.nix b/modules/profiles/personal.nix index e7d9e6e..2b227c3 100644 --- a/modules/profiles/personal.nix +++ b/modules/profiles/personal.nix @@ -1,9 +1,12 @@ -{ lib, pkgs, ... }: +{ lib, ... }: with lib; { my = { - services.openconnect.enable = true; + services = { + openconnect.enable = true; + synology-drive.enable = true; + }; programs = { ssh.includeSecrets = mkDefault [ ../../secrets/ssh-home.age ]; git.signing = mkDefault true; @@ -57,8 +60,4 @@ with lib; }; }; }; - - environment.systemPackages = with pkgs; [ - synology-drive-client - ]; } diff --git a/modules/programs/bspwm/default.nix b/modules/programs/bspwm/default.nix index ba50a96..81e1a60 100644 --- a/modules/programs/bspwm/default.nix +++ b/modules/programs/bspwm/default.nix @@ -46,7 +46,6 @@ in }; startupPrograms = [ "randomWallpaper" - "${pkgs.synology-drive-client}/bin/synology-drive" ]; extraConfig = builtins.readFile ./bspwmrc; }; @@ -89,7 +88,6 @@ in feh pamixer playerctl - synology-drive-client ]; }; } diff --git a/modules/programs/hyprland/config.nix b/modules/programs/hyprland/config.nix index 71d512a..bbc63ef 100644 --- a/modules/programs/hyprland/config.nix +++ b/modules/programs/hyprland/config.nix @@ -224,6 +224,5 @@ in bindm = $mainMod, mouse:272, movewindow bindm = $mainMod, mouse:273, resizewindow - exec-once=synology-drive exec-once=randomWallpaper '' diff --git a/modules/programs/sway.nix b/modules/programs/sway.nix index f7ae605..162a1b9 100644 --- a/modules/programs/sway.nix +++ b/modules/programs/sway.nix @@ -71,7 +71,6 @@ in command = "systemctl --user restart waybar"; always = true; } - { command = "synology-drive"; } { command = "randomWallpaper"; } ]; }; diff --git a/modules/services/default.nix b/modules/services/default.nix index ac126e9..9cadf62 100644 --- a/modules/services/default.nix +++ b/modules/services/default.nix @@ -1,12 +1,13 @@ { imports = [ ./dunst.nix + ./gammastep.nix ./kdeconnect.nix ./mullvad.nix ./openconnect.nix ./picom.nix ./printing.nix - ./gammastep.nix + ./synology-drive.nix ./wireguard.nix ]; } diff --git a/modules/services/synology-drive.nix b/modules/services/synology-drive.nix new file mode 100644 index 0000000..f67b115 --- /dev/null +++ b/modules/services/synology-drive.nix @@ -0,0 +1,32 @@ +{ lib, config, pkgs, ... }: + +with lib; +let + cfg = config.my.services.synology-drive; +in +{ + options.my.services.synology-drive = { + enable = mkEnableOption "synology-drive"; + package = mkOption { + type = types.package; + default = pkgs.synology-drive-client; + description = "The package to use for synology-drive"; + }; + }; + + config = mkIf cfg.enable { + systemd.user.services.synology-drive = { + after = [ "graphical-session.target" ]; + partOf = [ "graphical-session.target" ]; + wantedBy = [ "graphical-session.target" ]; + serviceConfig = { + ExitType = "cgroup"; + Restart = "on-failure"; + RestartSec = "1s"; + ExecStartPre = "${pkgs.coreutils}/bin/rm -rf %h/.SynologyDrive/SynologyDrive.app %h/.SynologyDrive/cloud-connect.pid"; + ExecStart = "${cfg.package}/bin/synology-drive"; + }; + }; + environment.systemPackages = [ cfg.package ]; + }; +}