Personal-use NixOS configuration

Start work on NetworkOptimizer module

+55 -3
+3 -3
flake.lock
··· 61 61 ] 62 62 }, 63 63 "locked": { 64 - "lastModified": 1765096045, 65 - "narHash": "sha256-I6im9WGZ330pAfXqDcIQhdivdb0sFJClnuglQ3E5HEU=", 64 + "lastModified": 1769756108, 65 + "narHash": "sha256-VZ21vi+umeUfCWXleIrekHDvPvFcxi9thfuq5pVNUpQ=", 66 66 "owner": "encode42", 67 67 "repo": "nixos-packages", 68 - "rev": "bfd97d74a2a3fe3e4d1325f0d401cc88d15a1cc1", 68 + "rev": "a7b960766089209d37582bd392c09196dbdfee88", 69 69 "type": "github" 70 70 }, 71 71 "original": {
+27
hosts/index/config/web/network-optimizer.nix
··· 1 + { flakeRoot, ... }: 2 + 3 + let 4 + host = "network-optimizer.lan"; 5 + 6 + networkOptimizerModule = import (flakeRoot + /packages/server/web/network-optimizer.nix) { 7 + hosts = [ 8 + { 9 + name = host; 10 + ssl = "internal"; 11 + } 12 + ]; 13 + }; 14 + in 15 + { 16 + imports = [ 17 + networkOptimizerModule 18 + ]; 19 + 20 + services.network-optimizer = { 21 + environment = { 22 + REVERSE_PROXIED_HOST_NAME = host; 23 + }; 24 + 25 + environmentFile = "/mnt/apps/network-optimizer/.network-optimizer.env"; 26 + }; 27 + }
+1
hosts/index/default.nix
··· 47 47 ./config/web/forgejo.nix 48 48 ./config/web/linkwarden.nix 49 49 ./config/web/miniflux.nix 50 + ./config/web/network-optimization.nix 50 51 ./config/web/vaultwarden.nix 51 52 #./config/web/wakapi.nix 52 53
+24
packages/server/web/network-optimizer.nix
··· 1 + { 2 + hosts ? [ ], 3 + }: 4 + 5 + { 6 + config, 7 + lib, 8 + flakeLib, 9 + ... 10 + }: 11 + 12 + { 13 + services.network-optimizer = { 14 + enable = true; 15 + 16 + environment = { 17 + BIND_LOCALHOST_ONLY = true; 18 + }; 19 + }; 20 + 21 + services.caddy.virtualHosts = flakeLib.mkProxies hosts '' 22 + reverse_proxy :${config.services.network-optimizer.port} 23 + ''; 24 + }