nixos/nextcloud: add occ internal option

This option exposes the prefconfigured nextcloud-occ
program. nextcloud-occ can then be used in other systemd services or
added in environment.systemPackages.

The nextcloud test shows how it can be add in
environment.systemPackages.
This commit is contained in:
Antoine Eiche 2020-06-20 09:55:02 +02:00
parent 51dad85947
commit 7d994ad445
2 changed files with 15 additions and 1 deletions

View file

@ -303,6 +303,14 @@ in {
'';
};
};
occ = mkOption {
type = types.package;
default = occ;
internal = true;
description = ''
The nextcloud-occ program preconfigured to target this Nextcloud instance.
'';
};
};
config = mkIf cfg.enable (mkMerge [

View file

@ -26,7 +26,9 @@ in {
};
};
nextcloud = { config, pkgs, ... }: {
nextcloud = { config, pkgs, ... }: let
cfg = config;
in {
networking.firewall.allowedTCPPorts = [ 80 ];
services.nextcloud = {
@ -42,6 +44,8 @@ in {
startAt = "20:00";
};
};
environment.systemPackages = [ cfg.services.nextcloud.occ ];
};
};
@ -67,6 +71,8 @@ in {
in ''
start_all()
nextcloud.wait_for_unit("multi-user.target")
# This is just to ensure the nextcloud-occ program is working
nextcloud.succeed("nextcloud-occ status")
nextcloud.succeed("curl -sSf http://nextcloud/login")
nextcloud.succeed(
"${withRcloneEnv} ${copySharedFile}"