status-mobile/nix
Jakub Sokołowski 2b34900a9b
ignore nix/clean.sh failures when in CI
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-08-22 11:46:49 -04:00
..
desktop use nix shell for nix-update-* targets 2019-07-30 14:11:02 -04:00
lein remove dev-server and extensions for v1 2019-08-20 17:42:02 +02:00
mobile use wait-for.sh to fix nix/clean.sh race condition 2019-08-21 18:53:00 -04:00
patched-go nix: Make status-go mobile artifacts reproducible 2019-07-15 16:08:01 +02:00
status-go Move version definitions to gradle.properties 2019-08-15 11:18:38 +02:00
targets nix: Use nix/build.sh for release-android make target 2019-07-26 16:01:06 -04:00
tools use nix shell for nix-update-* targets 2019-07-30 14:11:02 -04:00
README.md use nix shell for nix-update-* targets 2019-07-30 14:11:02 -04:00
bootstrapped-shell.nix nix: Apply some nixfmt suggestions and fix macOS status-go buildInputs 2019-07-29 18:01:07 +02:00
build.sh ignore nix/clean.sh failures when in CI 2019-08-22 11:46:49 -04:00
clean.sh use wait-for.sh to fix nix/clean.sh race condition 2019-08-21 18:53:00 -04:00
derivation.nix use wait-for.sh to fix nix/clean.sh race condition 2019-08-21 18:53:00 -04:00
nix.conf build status-go for Nix cache 2019-07-23 01:01:41 -04:00
nixpkgs-bootstrap.nix nix: Apply some nixfmt suggestions and fix macOS status-go buildInputs 2019-07-29 18:01:07 +02:00
platform.nix nix: Apply some nixfmt suggestions and fix macOS status-go buildInputs 2019-07-29 18:01:07 +02:00
shell.sh nix: Some minor fixes 2019-08-15 11:18:31 +02:00
utils.nix nix: Apply some nixfmt suggestions and fix macOS status-go buildInputs 2019-07-29 18:01:07 +02:00

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.