diff options
author | Aaron Andersen <aaron@fosslib.net> | 2021-01-09 11:53:30 -0500 |
---|---|---|
committer | Manuel Bärenz <programming@manuelbaerenz.de> | 2021-01-27 11:05:00 +0100 |
commit | 434a2783b80a799c5abddb71d9ea8945c9750f5e (patch) | |
tree | d91127da7a715da21e2584114845393e34c7c9bc /nixos | |
parent | b1c006f05599b41b798e47baa4d9ba6d1a8c07a5 (diff) | |
download | nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.tar nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.tar.gz nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.tar.bz2 nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.tar.lz nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.tar.xz nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.tar.zst nixpkgs-434a2783b80a799c5abddb71d9ea8945c9750f5e.zip |
nixos/nextcloud: add phpExtraExtensions option
Diffstat (limited to 'nixos')
-rw-r--r-- | nixos/modules/services/web-apps/nextcloud.nix | 33 | ||||
-rw-r--r-- | nixos/tests/nextcloud/basic.nix | 1 |
2 files changed, 23 insertions, 11 deletions
diff --git a/nixos/modules/services/web-apps/nextcloud.nix b/nixos/modules/services/web-apps/nextcloud.nix index da019aa2507..448522ad5e8 100644 --- a/nixos/modules/services/web-apps/nextcloud.nix +++ b/nixos/modules/services/web-apps/nextcloud.nix @@ -6,17 +6,13 @@ let cfg = config.services.nextcloud; fpm = config.services.phpfpm.pools.nextcloud; - phpPackage = - let - base = pkgs.php74; - in - base.buildEnv { - extensions = { enabled, all }: with all; - enabled ++ [ - apcu redis memcached imagick - ]; - extraConfig = phpOptionsStr; - }; + phpPackage = pkgs.php74.buildEnv { + extensions = { enabled, all }: + enabled + ++ (with all; [ apcu redis memcached imagick ]) # Necessary for vanilla nextcloud + ++ cfg.phpExtraExtensions all; # Enabled by user + extraConfig = phpOptionsStr; + }; toKeyValue = generators.toKeyValue { mkKeyValue = generators.mkKeyValueDefault {} " = "; @@ -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 { type = types.attrsOf types.str; default = { diff --git a/nixos/tests/nextcloud/basic.nix b/nixos/tests/nextcloud/basic.nix index 78142d37966..90050447042 100644 --- a/nixos/tests/nextcloud/basic.nix +++ b/nixos/tests/nextcloud/basic.nix @@ -42,6 +42,7 @@ in { enable = true; startAt = "20:00"; }; + phpExtraExtensions = all: [ all.bz2 ]; }; environment.systemPackages = [ cfg.services.nextcloud.occ ]; |