Unverified Commit 3fc7e205 authored by Sandro Jäckel's avatar Sandro Jäckel Committed by GitHub
Browse files

dokuwiki: add `extraConfigs` to combine (#479174)

parents dddfd1a2 8b4f5234
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
@@ -115,7 +115,7 @@ let
  pkg =
    hostName: cfg:
    cfg.package.combine {
      inherit (cfg) plugins templates;
      inherit (cfg) plugins templates extraConfigs;

      pname = p: "${p.pname}-${hostName}";

@@ -345,6 +345,22 @@ let
          '';
        };

        extraConfigs = mkOption {
          type = types.attrsOf types.path;
          default = { };
          description = ''
            Path(s) to additional configuration files that are then linked to the 'conf' directory.
          '';
          example = literalExpression ''
            {
              "acronyms.local.conf" = pkgs.writeText "acronyms.local.conf" '''
                r13y  reproducibility
              ''';
              "entities.local.conf" = ./dokuwiki-entities;
            }
          '';
        };

        poolConfig = mkOption {
          type =
            with types;
+3 −7
Original line number Diff line number Diff line
@@ -30,12 +30,6 @@ let
    r13y  reproducibility
  '';

  dwWithAcronyms = pkgs.dokuwiki.overrideAttrs (prev: {
    installPhase = prev.installPhase or "" + ''
      ln -sf ${acronymsFile} $out/share/dokuwiki/conf/acronyms.local.conf
    '';
  });

  mkNode =
    webserver:
    { ... }:
@@ -53,9 +47,11 @@ let
            };
          };
          "site2.local" = {
            package = dwWithAcronyms;
            usersFile = "/var/lib/dokuwiki/site2.local/users.auth.php";
            plugins = [ plugin-icalevents ];
            extraConfigs = {
              "acronyms.local.conf" = acronymsFile;
            };
            settings = {
              useacl = true;
              superuser = "admin";
+10 −2
Original line number Diff line number Diff line
@@ -65,6 +65,7 @@ stdenv.mkDerivation rec {
        localConfig ? null,
        pluginsConfig ? null,
        aclConfig ? null,
        extraConfigs ? { },
        pname ? (p: "${p.pname}-combined"),
      }:
      let
@@ -76,6 +77,12 @@ stdenv.mkDerivation rec {
              ""
            ]
          );

        configs = {
          "local.php" = localConfig;
          "plugins.local.php" = pluginsConfig;
        }
        // extraConfigs;
      in
      basePackage.overrideAttrs (prev: {
        pname = if builtins.isFunction pname then pname prev else pname;
@@ -87,8 +94,9 @@ stdenv.mkDerivation rec {
          ${lib.concatMapStringsSep "\n" (
            plugin: "cp -r ${toString plugin} $out/share/dokuwiki/lib/plugins/${plugin.name}"
          ) plugins}
          ${isNotEmpty localConfig "ln -sf ${localConfig} $out/share/dokuwiki/conf/local.php"}
          ${isNotEmpty pluginsConfig "ln -sf ${pluginsConfig} $out/share/dokuwiki/conf/plugins.local.php"}
          ${lib.concatMapAttrsStringSep "\n" (
            name: path: "${isNotEmpty path "ln -sf ${path} $out/share/dokuwiki/conf/${name}"}"
          ) configs}
          ${isNotEmpty aclConfig "ln -sf ${aclConfig} $out/share/dokuwiki/acl.auth.php"}
        '';
      });