Daniel Barlow
59a41a712b
fix underline
2023-08-06 22:26:00 +01:00
Daniel Barlow
f3e32115ee
extremely hacky first pass at autogenerated module docs
2023-08-06 22:25:37 +01:00
Daniel Barlow
2414dd4b55
convert ntp to serviceDefn
2023-08-05 14:16:54 +01:00
Daniel Barlow
93e04bb834
convert bridge service to serviceDefn
2023-08-05 14:10:14 +01:00
Daniel Barlow
f82501d278
update hostapd to "build" syntax
2023-08-05 12:21:18 +01:00
Daniel Barlow
90c1d59aca
convert firewall service to new serviceDefn
...
this is a bit kludgey with dependencies, need to
come back and look at that
2023-08-05 12:07:35 +01:00
Daniel Barlow
fbb2c04132
move module-based-service parameter types into service
...
This is in preparation for writing something that extracts them
into documentation.
user configurations now call config.system.service.foo.build { ...params }
instead of config.system.service.foo
the parameter type definitions themselves now move into the
config stanza of the module referencing the service
new helper function liminix.callService
The only service moved so far is dnsmasq
2023-08-04 20:39:29 +01:00
Daniel Barlow
c3631f4c9d
improve grammar of mkEnableOption descriptions
2023-08-04 20:19:27 +01:00
Daniel Barlow
4689cebf8d
fix illegal module options
2023-08-04 20:07:06 +01:00
Daniel Barlow
7fad66ff27
fix makestep type
2023-07-22 23:50:01 +01:00
Daniel Barlow
9994c161d4
DRY up wireless config
2023-07-22 23:37:01 +01:00
Daniel Barlow
bf1d9beec1
add first version of ntp module
2023-07-22 23:25:25 +01:00
Daniel Barlow
e952f55f40
markup
2023-07-20 12:07:09 +01:00
Daniel Barlow
4396afa97b
inline excessive lets
2023-07-20 12:05:36 +01:00
Daniel Barlow
9b70fd62f6
extract bridge to module-based services
2023-07-20 12:02:09 +01:00
Daniel Barlow
86e73317ee
alias config.system.service
2023-07-20 11:28:45 +01:00
Daniel Barlow
5bf8e8522a
update wlan test to use module
2023-07-16 17:56:07 +01:00
Daniel Barlow
648ea5613b
use module-based-service for hostapd
2023-07-16 17:51:50 +01:00
Daniel Barlow
17abd42cf3
mote that modules are in a state of flux
2023-07-16 17:51:50 +01:00
Daniel Barlow
f73a9d82dc
add comments
2023-07-16 17:51:50 +01:00
Daniel Barlow
1117f98afc
remove redundant let
2023-07-16 17:51:50 +01:00
Daniel Barlow
d7f3e05063
turn nftables firewall into a service-providing module
2023-07-16 17:51:50 +01:00
Daniel Barlow
73e5916cc5
thunk
2023-07-15 23:40:16 +01:00
Daniel Barlow
669af24247
make a module for dnsmasq
2023-07-14 23:18:21 +01:00
Daniel Barlow
5fee3e54d2
use ppp module in pppoe test
2023-07-14 22:23:11 +01:00
Daniel Barlow
df6cfe1cd5
move pppoe service derivation into ppp module dir
2023-07-14 21:35:59 +01:00
Daniel Barlow
c13defc891
rename modules/ppp.nix -> modules/ppp/default.nix
2023-07-14 21:08:33 +01:00
Daniel Barlow
682183a88d
move typeChecked into pkgs.liminix.lib
2023-07-14 20:22:29 +01:00
Daniel Barlow
69e6eb5a89
accept attr args to pppoe service, and typecheck them
...
We use (abuse, arguably) the nixos module system for typechecking. Un
the plus side, it gives us documentation of the options and their
expected types. On the downside, the error message doesn't tell us
the file in which the error was encountered.
(This is subject to change, if I can find a better way)
2023-07-14 16:53:36 +01:00
Daniel Barlow
9441f48819
new ppp module, used by rotuer
...
The objective here is that services which depend on global config
(e.g. kernel config or busybox options or static paths in the
filesystem) now live under config.system.service, and are added
to that collection by the module that defines the necessary state.
This is a first step: the services will be configured by a typechecked
attr set instead of the arbitrary arguments that
pkgs.liminix.networking.pppoe accepts
2023-07-13 19:44:14 +01:00
Daniel Barlow
2e50368bd2
rename config.outputs to config.system.outputs
...
New rules: everything under "config" that isn't actually configuration
(e.g. build products) will in future live in config.system. This is
the first step.
2023-07-13 19:24:59 +01:00
Daniel Barlow
492317623d
more thoughts about modules
2023-07-13 11:54:50 +01:00
Daniel Barlow
0f57ae2a32
fix section order
2023-07-09 15:18:19 +01:00
Daniel Barlow
2d05695d99
add cautionary note about flashing from openwrt
...
h/t matthewcroughan, thank you for your service
2023-07-09 15:12:18 +01:00
Daniel Barlow
a1dff5b92d
document flash.scr
2023-07-08 23:43:15 +01:00
Daniel Barlow
7c06f30675
set ipv6 wan address to that provided by dhcpv6
2023-07-08 23:08:25 +01:00
Daniel Barlow
c7ead8559b
shell.nix: set FENNEL_PATH for interactive convenience
2023-07-08 23:08:25 +01:00
Daniel Barlow
a19d12d6d7
fennelrepl add PREFIX/?/init.lua to lua load path
2023-07-08 23:08:25 +01:00
Daniel Barlow
b5cd0cc2d5
fennelrepl: fix bug which introduced whitespace in package.path
2023-07-08 23:08:24 +01:00
Daniel Barlow
0c41e9305c
extract service output watcher to fennel module
2023-07-08 23:08:24 +01:00
Daniel Barlow
708350711b
allow running scripts using fennelrepl
...
e.g.
FENNEL_PATH=pkgs/?/init.fnl\;pkgs/?.fnl nix-shell --run "fennelrepl ./examples/acquire-delegated-prefix.fnl /tmp/boo eth1"
2023-07-08 23:08:24 +01:00
Daniel Barlow
e7de889403
explain why all the examples are misspelled
2023-07-07 17:45:23 +01:00
Daniel Barlow
a12e5888e9
rotuer: remove hardcoded wan address
2023-07-05 20:34:30 +01:00
Daniel Barlow
2de4d7a8f9
fennel: extract some common functions into a shareable module
2023-07-05 20:23:27 +01:00
Daniel Barlow
c3bb33c9ce
add fennelrepl package
...
Runs fennel using a Lua compiled with the same options as the
host system, and with packages set up so it can find all the local
Lua packages
To shorten the dev feedback loop further, allows FENNEL_PATH to be set
on the command line so you can point directly it at the Fennel sources
for some library you're working against instead of having to run
nix-build and compile them to Lua
2023-07-04 22:58:51 +01:00
Daniel Barlow
24befe6bf7
install fennel from source as a package
...
nixos lua packaging is giving me a headache
2023-07-04 22:56:17 +01:00
Daniel Barlow
41687e916d
rename luaSmall package to lua
2023-07-02 18:19:54 +01:00
Daniel Barlow
3900683413
simplify protocol for watchers of service output directories
...
Previously: the service wrote a timestamp and the receiver
read and parsed it to see if there was new data
Now: the service writes and removes a .lock file to prevent
the receiver reading partial data. The receiver is responsible
for remembering the *previous* state and only updating if it's changed
2023-07-02 12:09:13 +01:00
Daniel Barlow
5532144747
hardcode global wan address, temporarily
2023-07-01 12:50:06 +01:00
Daniel Barlow
9aa5ff6ed1
make a package for odhcpc-script
2023-06-30 20:02:03 +01:00
Daniel Barlow
b6e72504d6
ipv6 default route
...
needs to specify the ppp0 *peer* address not the local address
2023-06-30 10:17:33 +01:00
Daniel Barlow
5306b36181
ipv4 nat rules
2023-06-28 23:51:37 +01:00
Daniel Barlow
1f1164cc98
allow dhcp client on wan
2023-06-28 23:51:21 +01:00
Daniel Barlow
8affb151b5
rotuer: enable ipv6 forwarding
2023-06-28 22:31:01 +01:00
Daniel Barlow
a9848b9668
firewall: enable incoming ssh and dhcp6
2023-06-28 22:20:45 +01:00
Daniel Barlow
25eecabc6d
typo
2023-06-28 22:19:11 +01:00
Daniel Barlow
80b6f62896
comment-out example of allowed incoming
2023-06-27 22:33:24 +01:00
Daniel Barlow
c595ae0ccb
firewallgen: make nft shebang work
2023-06-27 21:26:23 +01:00
Daniel Barlow
64e0ef5931
use numeric proto number (tautology...) for HIP
2023-06-27 21:25:30 +01:00
Daniel Barlow
78d223a839
move nftables fib rule to the prerouting hook
2023-06-27 21:23:15 +01:00
Daniel Barlow
6101f3f3d8
load necessary kernel modules for firewall
2023-06-27 21:18:09 +01:00
Daniel Barlow
89693af82b
thonk
2023-06-26 20:50:18 +01:00
Daniel Barlow
591bd78509
extract writeKconfig to its own file
2023-06-26 20:49:43 +01:00
Daniel Barlow
15be80e9de
remove dead config option
2023-06-22 17:46:57 +01:00
Daniel Barlow
bc62f7df45
remove rsync openssl dependency
2023-06-22 17:34:44 +01:00
Daniel Barlow
26cb331d8b
remove dead config optiuon
2023-06-22 16:56:30 +01:00
Daniel Barlow
5e45817f98
example rotuer-secrets
2023-06-22 16:54:24 +01:00
Daniel Barlow
943820d4dd
add doc note about finding supported devices
2023-06-22 10:06:40 +01:00
Daniel Barlow
fc620df322
thunk
2023-06-22 09:40:27 +01:00
Daniel Barlow
6bc45c2b55
preinit: null-terminate argv array for execve
2023-06-22 09:29:44 +01:00
Daniel Barlow
b898364719
extend timeout for pppoe test
2023-06-20 23:39:46 +01:00
Daniel Barlow
0896c9c1d3
remove non-building ntp service from test config
2023-06-20 22:15:38 +01:00
Daniel Barlow
b002a94e07
rotuer: use firewallgen to make packet filter rules
2023-06-20 20:20:32 +01:00
Daniel Barlow
d79a1e15bb
get fennel from source instead of luarocks
2023-06-20 20:19:11 +01:00
Daniel Barlow
340f7211ef
remove unused packages
2023-06-20 20:13:59 +01:00
Daniel Barlow
3dd247a719
update arch for gl-ar750
...
not sure this is needed, tbh
2023-06-20 20:11:25 +01:00
Daniel Barlow
c1ba067fad
remove deps from chrony
...
it's trying to build Perl and all manner of stuff that for
our purposes I don't think we need
2023-06-20 20:09:17 +01:00
Daniel Barlow
435a36f267
delete unused derivations in overlay
2023-06-20 20:06:36 +01:00
Daniel Barlow
ce207e4763
chronyd: disable editline
...
it drags in ncurses, which is Too Much
2023-06-19 21:37:06 +01:00
Daniel Barlow
a7e7146887
preinit: disable nolibc
...
- it stopped working with 22.11->23.05
- linking statically against musl is about 17k, so
this is costing us 11k or so
2023-06-18 23:04:26 +01:00
Daniel Barlow
d66f5901a2
fix nftables syntax
2023-06-18 22:18:44 +01:00
Daniel Barlow
a65bb9d585
improve file-exists? function
2023-06-18 17:41:09 +01:00
Daniel Barlow
80639a7256
add firewallgen package, which creates an nft script
2023-06-18 17:40:16 +01:00
Daniel Barlow
994cca671b
þe saga continueth
2023-05-31 23:30:41 +01:00
Daniel Barlow
3f4dbfcfd3
ipv6 prefix delegation for rotuer
...
much tidying needed, but it works
2023-05-31 23:29:05 +01:00
Daniel Barlow
d82173133c
odhcpc script: mkdir
2023-05-30 21:00:20 +01:00
Daniel Barlow
19212b1eeb
add funky dd features reqd by ath10k_cal_data
2023-05-30 18:20:42 +01:00
Daniel Barlow
cb30ce52eb
rotuer: use writeFennelScript for odhcpc update script
2023-05-30 18:20:14 +01:00
Daniel Barlow
fdffdbb22a
add writeFennelScript function, make ifwait use it
2023-05-29 20:20:12 +01:00
Daniel Barlow
fa7e682e87
dhcp6c readiness notification
2023-05-26 18:36:44 +01:00
Daniel Barlow
447f068569
partly support getting IPv6 addresses
...
- gets interface id from ppp
- runs odhcpc to get RA and prefix delegation
- doesn't do anything useful with the data yet
2023-05-24 23:01:50 +01:00
Daniel Barlow
339c2d9873
upgrade to ppp 2.5.0
2023-05-22 23:31:57 +01:00
Daniel Barlow
3f6585f6be
mention min-copy-closure
2023-05-22 00:27:41 +01:00
Daniel Barlow
e83b33686f
typo
2023-05-22 00:20:52 +01:00
Daniel Barlow
35a5605266
improve(?) markup
2023-05-22 00:14:32 +01:00
Daniel Barlow
4429f2b177
grammar
2023-05-21 23:48:10 +01:00
Daniel Barlow
43fa9f0679
link to OpenWrt serial console docs
2023-05-21 23:41:42 +01:00
Daniel Barlow
805c2f7984
update CoC
2023-05-21 23:31:28 +01:00
Daniel Barlow
7bcf6b15c3
declare build product
2023-05-21 21:27:52 +01:00
Daniel Barlow
7020fa99ee
build manual in CI
2023-05-21 20:53:05 +01:00