nichts/modules/services/owncloud/module.nix

49 lines
1.4 KiB
Nix

{
config,
lib,
pkgs,
...
}: let
inherit (lib.meta) getExe';
inherit (lib.modules) mkIf;
cfg = config.modules.system.services.owncloud;
in {
options.modules.system.services.owncloud.enable = lib.mkEnableOption "owncloud";
config = {
systemd.user.services.owncloud = mkIf cfg.enable {
description = "Owncloud client service";
# makes the graphical session start this service when it starts
wantedBy = ["graphical-session.target"];
# when graphical session restarts or gets stopped, this also gets restarted/stopped.
partOf = ["graphical-session.target"];
# gets started only after graphical session
after = ["graphical-session.target"];
serviceConfig = {
ExecStart = "${getExe' pkgs.owncloud-client "owncloud"}";
Restart = "always";
RestartSec = 30;
# User = "cr";
# Group = "cr";
# Keyringmode = "shared";
# DevicePolicy = "closed";
# PrivateDevices = true;
# PrivateTmp = true;
# ProtectClock = true;
# ProtectControlGroups = true;
# ProtectControlGroup = true;
# ProtectKernelLogs = true;
# ProtectKernelModules = true;
# ProtectKernelTunables = true;
# ProtectSystem = "strict";
# SystemCallFilter = "~@clock @cpu-emulation @debug @obsolete @module @mount @raw-io @reboot @swap @privileged";
};
};
};
}