<infinisil>
eyJhb: Nope, but it's not much different from Nixos modules
<infinisil>
Well, they are nixos modules
<infinisil>
Just with a different top-level option set
cole-h has quit [Ping timeout: 276 seconds]
<eyJhb>
Yeah, and I am wondering how I can set stuff. Is there just the same with nodes.nodeName.configuration = { lib, ... }: { services.xxx.enable = true; }?
<eyJhb>
Because I tried to look at the current modules, but they are very... Compact... :D
<eyJhb>
*actually the original idea was writing a router module, so that I could easily forward stuff to my server :D
<infinisil>
eyJhb: Yeah just like that, or even `nodes.nodeName.configuration.services.xxx.enable = true
<infinisil>
eyJhb: What would the module do?
cole-h has joined #nixus
cole-h has quit [Ping timeout: 246 seconds]
colemickens has quit [Ping timeout: 240 seconds]
veleiro has quit [Ping timeout: 268 seconds]
colemickens has joined #nixus
veleiro has joined #nixus
<eyJhb>
infinisil: Basically just specify with node is my router, and then specifying which ports should be open for which hosts, ie. portfarwarding :D
<infinisil>
eyJhb: I see, so I guess that's something like `options.router.networks.<name>.{router,clients}, where router and clients are options of type types.str, indicating node names
<infinisil>
Then in the config section you do `config.nodes = mkMerge [ (lib.mapAttrs' (name: value: nameValuePair value.router { <router config>; }) config.router.networks) <client config> ]`