add readme

This commit is contained in:
Robin Appelman 2023-09-30 12:52:21 +02:00
commit 7c2f3941a6
2 changed files with 50 additions and 5 deletions

40
README.md Normal file
View file

@ -0,0 +1,40 @@
# infinitime-builder
Build InfiniTime firmware images using [nix](https://nixos.org/).
## Building
```shell
nix --experimental-features 'nix-command flakes' build
```
The images to flash will be put into `./result`
(If you already have flakes enabled you can skip the `--experimental-features` bit)
## Customizing
You can customize the build image by editing `package.nix` and adding them to the `patches` array like:
```nix
patches = [
# grap the patch directly from github
(fetchpatch {
name = "double-click-settings.patch";
url = "https://github.com/InfiniTimeOrg/InfiniTime/commit/d395f6f0857f082ab3e7fc66cb591b12bbd9cd65.patch";
sha256 = "sha256-2Jng8JDTU7Zd42qD25CQNeF9dQRSLNwWq9IL+ik0ok0=";
})
# or from a local file (don't forget to add the patch to git before building)
./local-patch.patch
]
```
## Updating
To change the version being build you can edit the `src` directive with a different `rev` and `hash`.
You can determine the correct `hash` for a revision by running
```shell
nix --experimental-features 'nix-command flakes' run github:nix-community/nurl -- https://github.com/InfiniTimeOrg/InfiniTime <revision> --submodules
```

View file

@ -9,7 +9,8 @@
fetchzip, fetchzip,
patch, patch,
git, git,
fetchgit, fetchFromGitHub,
fetchpatch,
}: let }: let
infinitime-nrf5-sdk = nrf5-sdk.overrideAttrs (old: { infinitime-nrf5-sdk = nrf5-sdk.overrideAttrs (old: {
version = "15.3.0"; version = "15.3.0";
@ -21,14 +22,18 @@
in stdenv.mkDerivation rec { in stdenv.mkDerivation rec {
name = "infinitime"; name = "infinitime";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/InfiniTimeOrg/InfiniTime"; owner = "InfiniTimeOrg";
repo = "InfiniTime";
rev = "1.13.0"; rev = "1.13.0";
hash = "sha256-d2zW1JxoQ2j1Yezp3AeDDY7KObyqZ3N8JO4WCbV02sc="; hash = "sha256-aY1G60Rb+D7iAWsqn1j4SkL+mpXT34otWvS29UFidzM=";
deepClone = true;
fetchSubmodules = true; fetchSubmodules = true;
}; };
patches = [
# put your patches here
];
nativeBuildInputs = [ nativeBuildInputs = [
cmake cmake
lv_img_conv lv_img_conv