Clarify when you do/don't need your own cachix

This commit is contained in:
Alexander Sosedkin 2020-01-03 23:05:19 +01:00
parent 6cac2c4cb9
commit b9de0afc3f

View file

@ -110,7 +110,7 @@ Use `nix-on-droid switch` to activate the current configuration and
For more information, please run `nix-on-droid help`. For more information, please run `nix-on-droid help`.
## Build stuff on your own ## Build `nix-on-droid` on your own
The [terminal emulator part](https://github.com/t184256/nix-on-droid-app) The [terminal emulator part](https://github.com/t184256/nix-on-droid-app)
is probably not interesting for you, just download and use a prebuilt one. is probably not interesting for you, just download and use a prebuilt one.
@ -134,12 +134,9 @@ If you want to change the nix-on-droid channel to your custom one,
you can do that either with `nix-channel` after the installation, you can do that either with `nix-channel` after the installation,
or by using `--argstr nixOnDroidChannelURL <URL>`. or by using `--argstr nixOnDroidChannelURL <URL>`.
**Note**: The `proot` binary is currently not build on the android device **Note**: The `proot` binary is not built on the android device
because we are not able to pre-build and cache the proot package in cachix. (NDK is required for building it, and it's not available on mobile platforms).
The reason for that is that `proot` needs to be cross-compiled with bionic The way we work around it is to push proot derivation to cachix.
toolchain which results in different nix store paths in comparison to building
it natively on the device.
The current workaround is to hardcode the path to the wanted `proot` nix store The current workaround is to hardcode the path to the wanted `proot` nix store
path in `modules/environment/login/default.nix`. During evaluation time on path in `modules/environment/login/default.nix`. During evaluation time on
the android device this store path will be downloaded from the binary cache the android device this store path will be downloaded from the binary cache
@ -147,6 +144,14 @@ the android device this store path will be downloaded from the binary cache
derivation has to be present there or in any other binary cache configured derivation has to be present there or in any other binary cache configured
in the `nix.conf` on the device. in the `nix.conf` on the device.
Obviously it's an annoyance if one wants to fork this repo and test something.
To minimize the hassle with this scenario, proot derivation is also bundled
with the bootstrap zipball. This way you only need your own binary cache
if you are planning to maintain a long-term fork that users can update from.
In case you only care about updates through wiping the data,
you shouldn't need a binary cache for that.
## Tips ## Tips