2018-06-10 03:45:05 +03:00
|
|
|
Mobile NixOS
|
|
|
|
============
|
|
|
|
|
|
|
|
An overlay for building stuff.
|
|
|
|
|
|
|
|
This is a work-in-progress.
|
|
|
|
|
|
|
|
|
2018-06-10 06:03:24 +03:00
|
|
|
WIP notes
|
|
|
|
---------
|
|
|
|
|
|
|
|
```
|
2018-06-17 02:21:41 +03:00
|
|
|
nix-build --argstr device asus-z00t -A all
|
2018-06-10 06:03:24 +03:00
|
|
|
# Maybe `nix copy ./result --to ssh://another-host`
|
|
|
|
adb wait-for-device && adb reboot bootloader
|
|
|
|
fastboot boot result # or full path
|
|
|
|
# getting adb and fastboot working is left as an exercise to the reader.
|
|
|
|
```
|
|
|
|
|
2018-06-17 02:21:41 +03:00
|
|
|
Alternatively, helpers under `bin` can be used. They mostly pave over
|
|
|
|
the nix CLI to provide one-liners and one-parameter helpers.
|
|
|
|
|
|
|
|
```
|
|
|
|
# Builds -A all for device_name $1
|
|
|
|
bin/build asus-z00t
|
|
|
|
```
|
|
|
|
|
2018-06-18 04:12:04 +03:00
|
|
|
### Booting qemu
|
2018-06-18 04:01:57 +03:00
|
|
|
|
|
|
|
```
|
2018-06-24 00:11:07 +03:00
|
|
|
bin/build qemu-x86_64
|
2018-06-18 04:01:57 +03:00
|
|
|
bin/boot-qemu
|
|
|
|
```
|
|
|
|
|
|
|
|
This currently does not build using 18.03 and may never (18.09 may release before!)
|
|
|
|
|
2018-06-19 05:23:02 +03:00
|
|
|
### `local.nix`
|
|
|
|
|
|
|
|
This file can be used to override (possibly with `lib.mkForce`) options on a global
|
|
|
|
scale for your local builds.
|
|
|
|
|
|
|
|
If the file does not exist, it will not fail.
|
|
|
|
|
|
|
|
A sample `local.nix`:
|
|
|
|
|
|
|
|
```
|
|
|
|
{ lib, ... }:
|
|
|
|
|
|
|
|
{
|
|
|
|
mobile.boot.stage-1.splash.enable = false;
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
This will disable splash screens.
|
|
|
|
|
|
|
|
This will be most useful to configure local sensitive stuff like password (hashes)
|
|
|
|
or ssh keys.
|
|
|
|
|
2018-06-10 06:03:24 +03:00
|
|
|
|
2018-06-10 03:45:05 +03:00
|
|
|
Goals
|
|
|
|
-----
|
|
|
|
|
|
|
|
The goal is to get a nix-built operating system, preferably NixOS running on
|
|
|
|
mobile devices, e.g. Android phones.
|
|
|
|
|
2019-08-26 17:31:43 +03:00
|
|
|
This is intended as building blocks, allowing the end-users to configure their
|
|
|
|
systems as desired.
|
2018-06-10 03:45:05 +03:00
|
|
|
|
2019-08-26 17:31:43 +03:00
|
|
|
The amount of targeted devices does not dilute or devalue the work. It's the
|
|
|
|
other way around, it increases the odds that people will start using the project
|
|
|
|
and contribute back.
|
2018-06-10 03:45:05 +03:00
|
|
|
|
|
|
|
|
2019-08-26 17:31:43 +03:00
|
|
|
Prior work
|
|
|
|
----------
|
2018-06-10 03:45:05 +03:00
|
|
|
|
2019-08-26 17:31:43 +03:00
|
|
|
This project initially borrowed and relied on the hard work from the
|
|
|
|
[PostmarketOS project](https://postmarketos.org/). They are forever
|
|
|
|
thanked in their valiant efforts.
|