status-react/nix/README.md

1.3 KiB

Description

This folder contains configuration for Nix, a purely functional package manager used by the Status app for its build process.

Configuration

The main config file is nix/nix.conf and its main purpose is defining the binary caches which allow download of packages to avoid having to compile them yourself locally.

NOTE: If you are in Asia you might want to add the https://nix-cache-cn.status.im/ to be first in order of substituters. Removing cache.nixos.org could also help.

Shell

In order to access an interactive Nix shell a user should run make shell.

The Nix shell is started in this repo via the nix/shell.sh script, which is a wrapper around the nix-shell command and is intended for use with our main Makefile. This allows for an implicit use of nix-shell as the default shell in the Makefile.

By default the shell starts without any specific target platform, if you want to change that you should export the TARGET_OS env variable with the right value:

TARGET_OS=android make shell

This way your shell and all other nix commands should run in a setup that is tailored towards Android development.

For valid values you can check the nix/platform.nix file.