diff options
Diffstat (limited to 'pkgs/servers/web-apps/dokuwiki/default.nix')
-rw-r--r-- | pkgs/servers/web-apps/dokuwiki/default.nix | 31 |
1 files changed, 30 insertions, 1 deletions
diff --git a/pkgs/servers/web-apps/dokuwiki/default.nix b/pkgs/servers/web-apps/dokuwiki/default.nix index ff6fa982228..f12a75c8e18 100644 --- a/pkgs/servers/web-apps/dokuwiki/default.nix +++ b/pkgs/servers/web-apps/dokuwiki/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub }: +{ stdenv, fetchFromGitHub, writeText }: stdenv.mkDerivation rec { pname = "dokuwiki"; @@ -11,9 +11,38 @@ stdenv.mkDerivation rec { sha256 = "1na5pn4j4mi2la80ywzg1krwqdxz57mjkw0id6ga9rws809gkdjp"; }; + preload = writeText "preload.php" '' + <?php + + $config_cascade = array( + 'acl' => array( + 'default' => getenv('DOKUWIKI_ACL_AUTH_CONFIG'), + ), + 'plainauth.users' => array( + 'default' => getenv('DOKUWIKI_USERS_AUTH_CONFIG'), + 'protected' => "" // not used by default + ), + ); + ''; + + phpLocalConfig = writeText "local.php" '' + <?php + return require(getenv('DOKUWIKI_LOCAL_CONFIG')); + ?> + ''; + + phpPluginsLocalConfig = writeText "plugins.local.php" '' + <?php + return require(getenv('DOKUWIKI_PLUGINS_LOCAL_CONFIG')); + ?> + ''; + installPhase = '' mkdir -p $out/share/dokuwiki cp -r * $out/share/dokuwiki + cp ${preload} $out/share/dokuwiki/inc/preload.php + cp ${phpLocalConfig} $out/share/dokuwiki/conf/local.php + cp ${phpPluginsLocalConfig} $out/share/dokuwiki/conf/plugins.local.php ''; meta = with stdenv.lib; { |