This repository has no description
1.2 kB
40 lines
1{ config, pkgs, ... }:
2{
3 services.nextcloud = {
4 enable = true;
5 hostName = "c.lassul.us";
6 package = pkgs.nextcloud31;
7 database.createLocally = true;
8 config.dbtype = "pgsql";
9 config.adminpassFile = "/var/lib/nextcloud/admin.pass";
10 https = true;
11 };
12
13 services.nginx.virtualHosts.${config.services.nextcloud.hostName} = {
14 forceSSL = true;
15 enableACME = true;
16 };
17
18 systemd.services.nextcloud-setup.serviceConfig.ExecStartPre = [
19 "+${pkgs.writers.writeDash "install_admin_pw" ''
20 mkdir -p /var/lib/nextcloud
21 chown nextcloud:nextcloud /var/lib/nextcloud
22 install -o nextcloud -g nextcloud -Dm0600 \
23 ${config.clan.core.vars.generators.nextcloud.files."nextcloud_adminpass".path} \
24 /var/lib/nextcloud/admin.pass
25 ''}"
26 ];
27
28 clan.core.vars.generators.nextcloud = {
29 files."nextcloud_adminpass" = { };
30 migrateFact = "nextcloud";
31 prompts.password = {
32 description = "please enter the admin password for nextcloud";
33 type = "hidden";
34 };
35 runtimeInputs = with pkgs; [ coreutils ];
36 script = ''
37 echo "$prompts/password" > "$out"/nextcloud_adminpass
38 '';
39 };
40}