44 lines
879 B
Nix
44 lines
879 B
Nix
{
|
|
pkgs,
|
|
config,
|
|
lib,
|
|
sec,
|
|
...
|
|
}:
|
|
let
|
|
cfg = config.machine.nextcloud;
|
|
in
|
|
with lib; mkIf cfg.enable {
|
|
services.nextcloud = {
|
|
inherit enable;
|
|
appstoreEnable = false;
|
|
autoUpdateApps.enable = false;
|
|
config.adminpassFile = sec."nextcloud/adminPassword".path;
|
|
hostName = cfg.host;
|
|
package = pkgs.nextcloud33;
|
|
https = if cfg.host == "localhost" then false else true;
|
|
settings = {
|
|
default_phone_region = "RU";
|
|
log_type = "file";
|
|
loglevel = 1;
|
|
};
|
|
extraAppsEnable = true;
|
|
extraApps = with pkgs.nextcloud33Packages.apps; {
|
|
inherit
|
|
mail
|
|
contacts
|
|
collectives
|
|
impersonate
|
|
;
|
|
};
|
|
};
|
|
|
|
services.nginx.virtualHosts.${config.services.nextcloud.hostName} = {
|
|
forceSSL = true;
|
|
enableACME = true;
|
|
};
|
|
|
|
sops.secrets = {
|
|
"nextcloud/adminPassword" = { };
|
|
};
|
|
}
|