{ config, lib, pkgs, ... }: with import ; let sec = toString ; ext-dom = "wiki.euer.krebsco.de"; user = config.services.nginx.user; group = config.services.nginx.group; fpm-socket = "/var/run/php5-fpm.sock"; hostname = config.krebs.build.host.name; tw-upload = pkgs.tw-upload-plugin; base-dir = "/var/www/wiki.euer"; base-cfg = "${base-dir}/twconf.ini"; wiki-dir = "${base-dir}/store/"; backup-dir = "${base-dir}/backup/"; # contains: # user1 = pass1 # userN = passN # afterwards put /var/www//user1.html as tiddlywiki tw-pass-file = "${sec}/tw-pass.ini"; in { state = [ base-dir ]; services.phpfpm = { # phpfpm does not have an enable option poolConfigs = { euer-wiki = '' user = ${user} group = ${group} listen = ${fpm-socket} listen.owner = ${user} listen.group = ${group} env[twconf] = ${base-cfg}; pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 chdir = / php_admin_value[error_log] = 'stderr' php_admin_flag[log_errors] = on catch_workers_output = yes ''; }; }; systemd.services.prepare-tw = { wantedBy = [ "local-fs.target" ]; before = [ "phpfpm.service" "nginx.service" ]; serviceConfig = { ExecStart = pkgs.writeScript "prepare-tw-service" '' #!/bin/sh if ! test -d "${base-dir}" ;then mkdir -p "${wiki-dir}" "${backup-dir}" # write the base configuration cat > "${base-cfg}" <