- router.dnsProviders: named accounts at DNS providers, used by dynamic DNS and certificates (ddclient and lego provider lists in pkgs/router-webui/providers.json). Schema 2 migrates router.ddns. - router.acme: a Let's Encrypt certificate for the web UI via security.acme (DNS-01, resolver 1.1.1.1), served and reloaded by the web UI; Certificate page. - Web UI: password change (web UI and root), reboot button, HTTP to HTTPS redirect (router.webui.httpPort), grouped menu. - Latest kernel (linuxPackages_latest); 7.3 and 7.3.0 are the same kernel for the reboot hint. - SPECS.md: wanted later (REST API, GraphQL, MCP). Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AeFqV9dZrK6nipHkPfyM4F
20 lines
551 B
Nix
20 lines
551 B
Nix
# A router keeps routing with the lid shut: laptops make fine routers, but
|
|
# logind suspends them on lid close by default. Also picks the kernel.
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
{
|
|
config = lib.mkIf config.router.enable {
|
|
# Newest hardware support (and nftables/WireGuard fixes) over the LTS default.
|
|
boot.kernelPackages = lib.mkDefault pkgs.linuxPackages_latest;
|
|
services.logind.settings.Login = {
|
|
HandleLidSwitch = "ignore";
|
|
HandleLidSwitchExternalPower = "ignore";
|
|
HandleLidSwitchDocked = "ignore";
|
|
};
|
|
};
|
|
}
|