readme update

This commit is contained in:
Travis Staton 2023-03-08 20:54:45 -05:00
parent cb52f6ef86
commit 0d5822a1b9

View file

@ -1,6 +1,6 @@
# raspberry-pi-nix # raspberry-pi-nix
The primary goal of this software is to make it easy to create The primary goal of this flake is to make it easy to create
working NixOS configurations for Raspberry Pi products. Specifically, working NixOS configurations for Raspberry Pi products. Specifically,
this repository aims to deliver the following benefits: this repository aims to deliver the following benefits:
@ -11,12 +11,11 @@ this repository aims to deliver the following benefits:
[config.txt based [config.txt based
configuration](https://www.raspberrypi.com/documentation/computers/config_txt.html). configuration](https://www.raspberrypi.com/documentation/computers/config_txt.html).
3. Make it easy to build an image suitable for flashing to an sd-card, 3. Make it easy to build an image suitable for flashing to an sd-card,
without a need to first go through an installation media. without the need to first go through an installation media.
The important modules are `overlay/default.nix`, `rpi/default.nix`, The important modules are `overlay/default.nix`, `rpi/default.nix`,
and `rpi/config.nix`. The other modules for i2c, i2s, etc are mostly and `rpi/config.nix`. The other modules are mostly wrappers that set
wrappers that set `config.txt` settings and enable required kernel `config.txt` settings and enable required kernel modules.
modules.
## Example ## Example
@ -93,16 +92,17 @@ list](https://forums.raspberrypi.com/viewtopic.php?t=329799#p1974233)
). ).
This manipulation makes it difficult to use the device tree configured This manipulation makes it difficult to use the device tree configured
directly by NixOS as you must know and reproduce the manipulation directly by NixOS as the proprietary firmware's manipulation must be
performed by the proprietary firmware. known and reproduced.
Even if the manipulation was reproduced, some convenience would be Even if the manipulation were successfully reproduced, some benefits
missed out. For example, the firmware can detect hardware during boot would be lost. For example, the firmware can detect connected hardware
and automatically configure the device tree accordingly, rather than during boot and automatically configure the device tree accordingly
requiring a NixOS system rebuild with a different device tree for before passing it onto the kernel. If this firmware device tree is
different hardware. Examples of what I mean by hardware include: the ignored then a NixOS system rebuild with a different device tree would
specific Raspberry Pi device booting the image, connected cameras, and be required when swapping connected hardware. Examples of what I mean
connected displays. by hardware include: the specific Raspberry Pi device booting the
image, connected cameras, and connected displays.
So, in order to avoid the headaches associated with failing to So, in order to avoid the headaches associated with failing to
reproduce some firmware device tree manipulation, and to reap the reproduce some firmware device tree manipulation, and to reap the
@ -113,7 +113,7 @@ device tree configuration is controlled via the [config.txt
file](https://www.raspberrypi.com/documentation/computers/config_txt.html). file](https://www.raspberrypi.com/documentation/computers/config_txt.html).
Additionally, the firmware, device trees, and overlays from the Additionally, the firmware, device trees, and overlays from the
`raspberrypifw` package populates the firmware partition on system `raspberrypifw` package populate the firmware partition on system
activation. This package is kept up to date by the overlay applied by activation. This package is kept up to date by the overlay applied by
this package, so you don't need configure this. However, if you want this package, so you don't need configure this. However, if you want
to use different firmware you can override that package to do so. to use different firmware you can override that package to do so.