From e5b6a21a70e6cd9100b656373fa1dbd85460640c Mon Sep 17 00:00:00 2001 From: Kerstin Humm Date: Tue, 5 Sep 2023 17:55:29 +0200 Subject: beam/buildMix: add appConfigPath arg This is added for Mobilizon to be able to let it's dependencies read it's config directory --- pkgs/development/beam-modules/build-mix.nix | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'pkgs/development') diff --git a/pkgs/development/beam-modules/build-mix.nix b/pkgs/development/beam-modules/build-mix.nix index 69e6c6c6e3b0b..f74da7b7827da 100644 --- a/pkgs/development/beam-modules/build-mix.nix +++ b/pkgs/development/beam-modules/build-mix.nix @@ -12,6 +12,9 @@ , meta ? { } , enableDebugInfo ? false , mixEnv ? "prod" +# A config directory that is considered for all the dependencies of an app, typically in $src/config/ +# This was initially added, as some of Mobilizon's dependencies need to access the config at build time. +, appConfigPath ? null , ... }@attrs: @@ -46,6 +49,14 @@ let runHook preConfigure ${./mix-configure-hook.sh} + ${lib.optionalString (!isNull appConfigPath) + # Due to https://hexdocs.pm/elixir/main/Config.html the config directory + # of a library seems to be not considered, as config is always + # application specific. So we can safely delete it. + '' + rm -rf config + cp -r ${appConfigPath} config + ''} runHook postConfigure ''; -- cgit 1.4.1