{ config, lib, pkgs, user, ... }:
let
this = config.my.application.nextcloud;
graphical = config.my.graphical;
in
with lib; {
options = {
my.application.nextcloud.enable = mkOption {
default = graphical.enable;
type = with types; bool;
};
config = mkIf this.enable {
home-manager.users."${user.name}" = {
home.packages = with pkgs; [ nextcloud-client ];
systemd.user.services = {
nextcloud = {
enable = true;
description =
"Nextcloud Client - A slightly more GNU friendly dropbox ";
wantedBy = [ "graphical-session.target" ];
partOf = [ "graphical-session.target" ];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.nextcloud-client}/bin/nextcloud --background";
Environment = "QT_XCB_GL_INTEGRATION=none";
Restart = "on-failure";
RestartSec = 1;
TimeoutStopSec = 10;
}