nixos/nextcloud: add phpExtraExtensions option
This commit is contained in:
parent
b1c006f055
commit
434a2783b8
@ -6,15 +6,11 @@ let
|
|||||||
cfg = config.services.nextcloud;
|
cfg = config.services.nextcloud;
|
||||||
fpm = config.services.phpfpm.pools.nextcloud;
|
fpm = config.services.phpfpm.pools.nextcloud;
|
||||||
|
|
||||||
phpPackage =
|
phpPackage = pkgs.php74.buildEnv {
|
||||||
let
|
extensions = { enabled, all }:
|
||||||
base = pkgs.php74;
|
enabled
|
||||||
in
|
++ (with all; [ apcu redis memcached imagick ]) # Necessary for vanilla nextcloud
|
||||||
base.buildEnv {
|
++ cfg.phpExtraExtensions all; # Enabled by user
|
||||||
extensions = { enabled, all }: with all;
|
|
||||||
enabled ++ [
|
|
||||||
apcu redis memcached imagick
|
|
||||||
];
|
|
||||||
extraConfig = phpOptionsStr;
|
extraConfig = phpOptionsStr;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -116,6 +112,21 @@ in {
|
|||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
phpExtraExtensions = mkOption {
|
||||||
|
type = with types; functionTo (listOf package);
|
||||||
|
default = all: [];
|
||||||
|
defaultText = "all: []";
|
||||||
|
description = ''
|
||||||
|
Additional PHP extensions to use for nextcloud.
|
||||||
|
By default, only extensions necessary for a vanilla nextcloud installation are enabled,
|
||||||
|
but you may choose from the list of available extensions and add further ones.
|
||||||
|
This is sometimes necessary to be able to install a certain nextcloud app that has additional requirements.
|
||||||
|
'';
|
||||||
|
example = literalExample ''
|
||||||
|
all: [ all.pdlib all.bz2 ]
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
phpOptions = mkOption {
|
phpOptions = mkOption {
|
||||||
type = types.attrsOf types.str;
|
type = types.attrsOf types.str;
|
||||||
default = {
|
default = {
|
||||||
|
@ -42,6 +42,7 @@ in {
|
|||||||
enable = true;
|
enable = true;
|
||||||
startAt = "20:00";
|
startAt = "20:00";
|
||||||
};
|
};
|
||||||
|
phpExtraExtensions = all: [ all.bz2 ];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = [ cfg.services.nextcloud.occ ];
|
environment.systemPackages = [ cfg.services.nextcloud.occ ];
|
||||||
|
Loading…
x
Reference in New Issue
Block a user