aboutsummaryrefslogtreecommitdiff
path: root/README.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'README.adoc')
-rw-r--r--README.adoc41
1 files changed, 41 insertions, 0 deletions
diff --git a/README.adoc b/README.adoc
new file mode 100644
index 0000000..52cb298
--- /dev/null
+++ b/README.adoc
@@ -0,0 +1,41 @@
+= NixOS for Turris routers
+
+This repository contains nix flake to get NixOS running on Turris routers.
+
+Using NixOS on router has few shortcomings, and you should know about them right
+away so here is a list of issues you should expect:
+
+* NixOS is pretty memory hungry. There are few reasons for this such as Systemd
+ and specially Journald as those simply required more memory than other
+ alternatives. But but but... The biggest issue is NixOS itself. The wide range
+ of configuration options in NixOS result in pretty significant memory being
+ required on evaluation. The peak is around 2 GB and thus device with 512 MB is
+ pretty much screwed. Thankfully Nix is not using that memory most of the time,
+ and thus we can use swap without hampering the performance that much.
+* Firewall configuration right now expects at most one NAT network thus forget
+ about multiple networks. There can't be dedicated network for you IOT devices
+ or for your guests.
+* Hostapd configuration is complex and it is pretty hard to configure functional
+ Wi-Fi with higher standards than 802.11b.
+* VLAN filtering on the switch is not easilly configured and thus you have to
+ use multiple bridges to separate networks. This also means that having
+ untagged traffic on the same trunk as tagged one is not easilly possible
+ unless you accept that bridge that contains untagged interface distributes all
+ traffic including the tagged one.
+
+This repository provides the following functionality on top of the standard
+NixOS:
+
+* Minimal system configuration to support Turris Omnia and Mox.
+* Simple module for LEDs configurations for Turris Omnia and Mox.
+* Improved Hostapd configuration as the default one in NixOS supports only
+ single wireless network and adapter.
+* Simple way to cross build NixOS with path:
+ `config.system.build.cross.${system}.config.system.build.toplevel`
+* Simple way to build tarball to deploy NixOS to Turris:
+ `config.system.built.tarball`
+
+IMPORTANT: This repository required Nix with flakes support thus update your Nix
+to the latest version and allow flakes.
+
+For more info feel free to read ./docs/README.adoc[documentation].