2022-08-14 23:35:15 +00:00
|
|
|
{ config, lib, pkgs, user, ... }:
|
2021-12-14 05:24:26 +00:00
|
|
|
let
|
2022-08-14 02:42:16 +00:00
|
|
|
this = config.my.application.nextcloud;
|
2022-08-14 02:42:04 +00:00
|
|
|
graphical = config.my.graphical;
|
2022-08-14 23:35:15 +00:00
|
|
|
in
|
|
|
|
with lib; {
|
2021-12-14 05:24:26 +00:00
|
|
|
options = {
|
2022-08-14 02:42:04 +00:00
|
|
|
my.application.nextcloud.enable = mkOption {
|
2022-03-24 04:00:26 +00:00
|
|
|
default = graphical.enable;
|
|
|
|
type = with types; bool;
|
2021-12-14 05:24:26 +00:00
|
|
|
};
|
|
|
|
};
|
2021-12-02 05:05:52 +00:00
|
|
|
|
2022-08-14 02:42:16 +00:00
|
|
|
config = mkIf this.enable {
|
2022-08-14 23:35:15 +00:00
|
|
|
home-manager.users."${user.name}" = {
|
2021-12-14 05:24:26 +00:00
|
|
|
home.packages = with pkgs; [ nextcloud-client ];
|
2022-07-16 22:46:36 +00:00
|
|
|
};
|
2021-12-14 05:24:26 +00:00
|
|
|
|
2022-07-16 22:46:36 +00:00
|
|
|
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;
|
2021-12-02 05:05:52 +00:00
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|