2942c465b9
add ssh module
2023-08-10 22:53:21 +01:00
2a29a00dfe
much text, such doc, very wow
2023-08-09 22:27:37 +01:00
3669a4000f
explain (badly) the module/service dynamic
2023-08-09 22:27:18 +01:00
f7b507587d
print modules in consistent (alphabetical) order
2023-08-09 22:26:50 +01:00
be044cb59e
doc: print headline for modules with no preamble
2023-08-07 23:08:41 +01:00
5cff862ae9
add preamble text to each service-providing-module
2023-08-07 23:03:49 +01:00
615c2de537
extract module top-level comment to docs
2023-08-07 22:14:58 +01:00
6d619ee8b5
add some missing descriptions
2023-08-07 21:43:12 +01:00
59a41a712b
fix underline
2023-08-06 22:26:00 +01:00
f3e32115ee
extremely hacky first pass at autogenerated module docs
2023-08-06 22:25:37 +01:00
2414dd4b55
convert ntp to serviceDefn
2023-08-05 14:16:54 +01:00
93e04bb834
convert bridge service to serviceDefn
2023-08-05 14:10:14 +01:00
f82501d278
update hostapd to "build" syntax
2023-08-05 12:21:18 +01:00
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
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
c3631f4c9d
improve grammar of mkEnableOption descriptions
2023-08-04 20:19:27 +01:00
4689cebf8d
fix illegal module options
2023-08-04 20:07:06 +01:00
7fad66ff27
fix makestep type
2023-07-22 23:50:01 +01:00
9994c161d4
DRY up wireless config
2023-07-22 23:37:01 +01:00
bf1d9beec1
add first version of ntp module
2023-07-22 23:25:25 +01:00
e952f55f40
markup
2023-07-20 12:07:09 +01:00
4396afa97b
inline excessive lets
2023-07-20 12:05:36 +01:00
9b70fd62f6
extract bridge to module-based services
2023-07-20 12:02:09 +01:00
86e73317ee
alias config.system.service
2023-07-20 11:28:45 +01:00
5bf8e8522a
update wlan test to use module
2023-07-16 17:56:07 +01:00
648ea5613b
use module-based-service for hostapd
2023-07-16 17:51:50 +01:00
17abd42cf3
mote that modules are in a state of flux
2023-07-16 17:51:50 +01:00
f73a9d82dc
add comments
2023-07-16 17:51:50 +01:00
1117f98afc
remove redundant let
2023-07-16 17:51:50 +01:00
d7f3e05063
turn nftables firewall into a service-providing module
2023-07-16 17:51:50 +01:00
73e5916cc5
thunk
2023-07-15 23:40:16 +01:00
669af24247
make a module for dnsmasq
2023-07-14 23:18:21 +01:00
5fee3e54d2
use ppp module in pppoe test
2023-07-14 22:23:11 +01:00
df6cfe1cd5
move pppoe service derivation into ppp module dir
2023-07-14 21:35:59 +01:00
c13defc891
rename modules/ppp.nix -> modules/ppp/default.nix
2023-07-14 21:08:33 +01:00
682183a88d
move typeChecked into pkgs.liminix.lib
2023-07-14 20:22:29 +01:00
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
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
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
492317623d
more thoughts about modules
2023-07-13 11:54:50 +01:00
0f57ae2a32
fix section order
2023-07-09 15:18:19 +01:00
2d05695d99
add cautionary note about flashing from openwrt
...
h/t matthewcroughan, thank you for your service
2023-07-09 15:12:18 +01:00
a1dff5b92d
document flash.scr
2023-07-08 23:43:15 +01:00
7c06f30675
set ipv6 wan address to that provided by dhcpv6
2023-07-08 23:08:25 +01:00
c7ead8559b
shell.nix: set FENNEL_PATH for interactive convenience
2023-07-08 23:08:25 +01:00
a19d12d6d7
fennelrepl add PREFIX/?/init.lua to lua load path
2023-07-08 23:08:25 +01:00
b5cd0cc2d5
fennelrepl: fix bug which introduced whitespace in package.path
2023-07-08 23:08:24 +01:00
0c41e9305c
extract service output watcher to fennel module
2023-07-08 23:08:24 +01:00
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
e7de889403
explain why all the examples are misspelled
2023-07-07 17:45:23 +01:00