Jakub Sokołowski
2b34900a9b
Signed-off-by: Jakub Sokołowski <jakub@status.im> |
||
---|---|---|
.. | ||
desktop | ||
lein | ||
mobile | ||
patched-go | ||
status-go | ||
targets | ||
tools | ||
README.md | ||
bootstrapped-shell.nix | ||
build.sh | ||
clean.sh | ||
derivation.nix | ||
nix.conf | ||
nixpkgs-bootstrap.nix | ||
platform.nix | ||
shell.sh | ||
utils.nix |
README.md
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:
make shell TARGET_OS=android
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.