mirror of
https://github.com/status-im/status-react.git
synced 2025-01-10 11:06:25 +00:00
Jakub Sokołowski
7b6b620ceb
Changes: - Add `nix/DETAILS.md` for more in-depth info - Rename some of `config.status-im` variables - Drop `env` argument for Android build - Use `overlays` instead of `packageOverrides` - Move the `pkgs` overlay to `nix/overlay.nix` - Move `nix/status-go/utils.nix` to `nix/tools` - Make `shell.nix` use the `shells.default` only - Use `default.nix` as target for `nix/scripts/shell.sh` - Make `nix/scripts/shell.sh` use `--attr` instead of `target` - Drop the `target` argument in favour of using `--attr` - Drop unnecessary `src` from `nix/mobile/ios/default.nix` - Move `mkShell` and `mergeSh` under `lib` - Move `patched-go` package to `nix/pkgs` directory - Move `gomobile` package to `nix/pkgs` directory - Move `ANDROID_ABI_SPLIT` to `config.status-im.android.abi-split` - Move `ANDROID_ABI_INCLUDE to `config.status-im.android.abi-include` Signed-off-by: Jakub Sokołowski <jakub@status.im>
37 lines
1.3 KiB
Nix
37 lines
1.3 KiB
Nix
# This Nix expression takes care of reading/parsing the correct .env configuration file and return it as an attr set
|
|
{ config, stdenv }:
|
|
|
|
let
|
|
inherit (builtins) listToAttrs head tail readFile;
|
|
inherit (stdenv.lib) attrByPath filter hasPrefix nameValuePair splitString;
|
|
|
|
build-type = attrByPath ["status-im" "build-type"] "" config;
|
|
ci = (attrByPath ["status-im" "ci"] "" config) != "";
|
|
|
|
readLinesFromFile =
|
|
file:
|
|
let
|
|
lines = splitString "\n" (readFile file);
|
|
removeComments = filter (line: line != "" && !(hasPrefix "#" line));
|
|
meaningfulLines = removeComments lines;
|
|
in
|
|
meaningfulLines;
|
|
readFlagsFromFile =
|
|
file:
|
|
let
|
|
lines = readLinesFromFile file;
|
|
genAttrs = lines:
|
|
listToAttrs (map (line:
|
|
let flag = splitString "=" line;
|
|
in nameValuePair (head flag) (head (tail flag))) lines);
|
|
in
|
|
genAttrs lines;
|
|
envFileName =
|
|
if build-type == "release" then ../../.env.release else
|
|
if build-type == "nightly" then ../../.env.nightly else
|
|
if build-type == "e2e" then ../../.env.e2e else
|
|
if build-type == "pr" then ../../.env.jenkins else ../../.env;
|
|
flags = readFlagsFromFile envFileName; # TODO: Simplify this path search with lib.locateDominatingFile
|
|
|
|
in flags
|