Commit graph

826 commits

Author SHA1 Message Date
Daniel Barlow
aecbe08f08 add o+x permission on service-state directories
this is needed for resolvconf, which writes resolv.conf as
an output and wants to make it world-readable
2023-08-28 22:02:28 +01:00
Daniel Barlow
ff2d3e1a63 TODO comments 2023-08-28 22:02:28 +01:00
Daniel Barlow
8688d47c65 rotuer: create resolv.conf 2023-08-28 22:02:28 +01:00
Daniel Barlow
e86daf9bbc default value for services.default
as a default default target, start all the services
2023-08-28 22:02:28 +01:00
Daniel Barlow
23ccfec5fb update examples so they build again 2023-08-28 22:02:28 +01:00
Daniel Barlow
00c8ea66ea add service fir dhcp v4 client 2023-08-28 22:02:28 +01:00
Daniel Barlow
31f0213b6f convert network link/address to module-based-service
... and make bridge use it.

We also had to convert bridge back into a pair of services.
Downstreams want to depend on the bridge it self being configured
even if not necessarily all the members are up. e.g. don't want
to break ssh on lan if there's a misconfigured wlan device
2023-08-28 22:02:28 +01:00
Daniel Barlow
1580857fde extract common "interface up" code to a string
so that bridge service can use it
2023-08-28 22:02:28 +01:00
Daniel Barlow
04b59536d8 more thoughts 2023-08-28 22:02:28 +01:00
Daniel Barlow
540a1dfd76 remove interface.device
build-time uses can mostly be replaced with interface.name

for runtime uses, switch to $(output ${interface} name)
2023-08-28 22:02:28 +01:00
Daniel Barlow
6da0e67621 create outputs for network interface 2023-08-27 22:41:26 +01:00
Daniel Barlow
485ecc03b0 serviceDefn build function handles dependencies
in a bit of a hacky way, we culd clean this up
2023-08-27 22:40:54 +01:00
Daniel Barlow
6b28f5dd79 chrony: drop privileges 2023-08-27 22:40:49 +01:00
Daniel Barlow
81b56fb6a3 new type for interface (presently just alias to service) 2023-08-27 22:39:37 +01:00
Daniel Barlow
2ad203ce1f delete unused functoins in liminix-tools 2023-08-21 19:29:00 +01:00
Daniel Barlow
f4ad4d3ce1 update bridge service doc 2023-08-18 23:58:06 +01:00
Daniel Barlow
5c8ee0578f check off some TODO items 2023-08-16 23:35:27 +01:00
Daniel Barlow
767b154eb2 fix pppoe test 2023-08-16 23:35:12 +01:00
Daniel Barlow
6f92f8fa8b merge bridge services into one 2023-08-16 23:29:53 +01:00
Daniel Barlow
a019e59a80 improve doc 2023-08-16 22:52:16 +01:00
Daniel Barlow
625146d821 escape backslash in service type 2023-08-16 22:26:40 +01:00
Daniel Barlow
1b8536ff81 describe hostname option 2023-08-16 22:26:40 +01:00
Daniel Barlow
bd908307c4 print module pathname if it contains services
so that the user knows what to add to their imports
2023-08-16 22:26:40 +01:00
Daniel Barlow
d7785d9d75 if no preamble, print module pathname as headline
this was supposed to work already but was broken
2023-08-16 22:26:40 +01:00
Daniel Barlow
f93c03c98a improve descriptions for base and busybox 2023-08-16 22:26:31 +01:00
Daniel Barlow
519de0b55c module docs: service modules are listed after plain modules 2023-08-12 20:10:40 +01:00
Daniel Barlow
f20d1cfc01 print description only if present 2023-08-12 18:16:20 +01:00
Daniel Barlow
e039783e67 exclude outputs from doc 2023-08-12 18:16:06 +01:00
Daniel Barlow
dc4b7ebffd module docs: print examples 2023-08-11 21:12:57 +01:00
Daniel Barlow
bd8d00fe13 TODO for modules phase 2023-08-11 18:28:30 +01:00
Daniel Barlow
b81604870b extract kernel config options from base module
we then "import" them straight back into base.nix - it's not
as though you can opt out of having a kernel. But this means
they'll appear separately in the documentation
2023-08-11 18:15:17 +01:00
Daniel Barlow
3ea40f95dc convert pppoe to serviceDefn 2023-08-10 22:53:45 +01:00
Daniel Barlow
2942c465b9 add ssh module 2023-08-10 22:53:21 +01:00
Daniel Barlow
2a29a00dfe much text, such doc, very wow 2023-08-09 22:27:37 +01:00
Daniel Barlow
3669a4000f explain (badly) the module/service dynamic 2023-08-09 22:27:18 +01:00
Daniel Barlow
f7b507587d print modules in consistent (alphabetical) order 2023-08-09 22:26:50 +01:00
Daniel Barlow
be044cb59e doc: print headline for modules with no preamble 2023-08-07 23:08:41 +01:00
Daniel Barlow
5cff862ae9 add preamble text to each service-providing-module 2023-08-07 23:03:49 +01:00
Daniel Barlow
615c2de537 extract module top-level comment to docs 2023-08-07 22:14:58 +01:00
Daniel Barlow
6d619ee8b5 add some missing descriptions 2023-08-07 21:43:12 +01:00
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