Go to file
Daniel Barlow 64d8602408 some kexecboot notes 2023-03-19 20:27:43 +00:00
devices extract common code for patching kernel source fdorm openwrt 2023-03-18 19:17:58 +00:00
doc extract phram.mtd ramdisk support from tftpboot module 2023-03-18 14:30:10 +00:00
examples untested fix for unable to mount usb disk at boot 2023-03-18 14:30:10 +00:00
kernel delete unused file 2023-03-03 21:38:43 +00:00
modules don't hardcode root device, too confusing when adding phram 2023-03-19 20:27:05 +00:00
pkgs add kexecboot 2023-03-19 20:25:43 +00:00
tests pppoe test: update to expect change in root's PS1 2023-03-18 19:16:27 +00:00
.gitignore extract secrets for extneder 2023-03-08 20:37:08 +00:00
CODE-OF-CONDUCT.md link to CoC, mention IRC 2023-02-22 18:14:40 +00:00
CONTRIBUTING.md fix spelling, remove dead file 2023-02-05 22:42:41 +00:00
LICENSE licence: remove accidental punctuation, update copyright year 2023-01-29 16:39:50 +00:00
README.md link to CoC, mention IRC 2023-02-22 18:14:40 +00:00
STYLE.md explain package/module distinction, add notes on side tracks 2022-09-27 14:11:23 +01:00
THOUGHTS.txt some kexecboot notes 2023-03-19 20:27:43 +00:00
bordervm-configuration.nix fix bordervm in hydra 2023-02-22 18:14:40 +00:00
bordervm.conf-example.nix bordervm: make configurable 2023-02-17 16:49:44 +00:00
ci.nix move noise sources around in tests 2023-03-10 18:41:43 +00:00
default.nix configurable busybox 2023-03-10 18:40:45 +00:00
nat.nft example config for ppoe router 2023-02-25 23:12:55 +00:00
overlay.nix add kexecboot 2023-03-19 20:25:43 +00:00
shell.nix simplify calling buildEnv 2023-02-17 20:41:55 +00:00
vanilla-configuration.nix DRY loopback interface, it's the same everywhere 2023-03-07 22:36:48 +00:00

README.md

Liminix

A Nix-based system for configuring consumer wifi routers or IoT device devices, of the kind that OpenWrt or DD-WRT or Gargoyle or Tomato run on. It's a reboot/restart/rewrite of NixWRT.

This is not NixOS-on-your-router: it's aimed at devices that are underpowered for the full NixOS experience. It uses busybox tools, musl instead of GNU libc, and s6-rc instead of systemd.

The Liminix name comes from Liminis, in Latin the genitive declension of "limen", or "of the threshold". Your router stands at the threshold of your (online) home and everything you send to/receive from the outside word goes across it.

What about NixWRT?

This is an in-progress rewrite of NixWRT, incorporating Lessons Learned.

Documentation

Documentation is in the doc directory. You can build it by running

nix-shell -p sphinx --run "make -C doc html"

Extremely online

There is a #liminix IRC channel on the OFTC network in which you are welcome. You can also connect with a Matrix client by joining the room #_oftc_#liminix:matrix.org.

In the IRC channel, as in all Liminix project venues, please conduct yourself according to the Liminix Code of Conduct.