nixos/home/routing-common: Dynamically return WAN IP DNS
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 17m8s
All checks were successful
CI / Check, build and cache Nix flake (push) Successful in 17m8s
This commit is contained in:
@@ -8,6 +8,18 @@ let
|
||||
inherit (lib.flake) defaultSystems;
|
||||
in
|
||||
rec {
|
||||
pow =
|
||||
let
|
||||
pow' = base: exponent: value:
|
||||
# FIXME: It will silently overflow on values > 2**62 :(
|
||||
# The value will become negative or zero in this case
|
||||
if exponent == 0
|
||||
then 1
|
||||
else if exponent <= 1
|
||||
then value
|
||||
else (pow' base (exponent - 1) (value * base));
|
||||
in base: exponent: pow' base exponent base;
|
||||
|
||||
attrsToNVList = mapAttrsToList nameValuePair;
|
||||
|
||||
inherit (import ./net.nix { inherit lib; }) net;
|
||||
@@ -29,6 +41,8 @@ rec {
|
||||
ports = checked (elemAt m 1);
|
||||
};
|
||||
|
||||
netBroadcast = net': net.cidr.host ((pow 2 (net.cidr.size net')) - 1) net';
|
||||
|
||||
mkDefaultSystemsPkgs = path: args': genAttrs defaultSystems (system: import path ((args' system) // { inherit system; }));
|
||||
mkApp = program: { type = "app"; inherit program; };
|
||||
mkShellApp = pkgs: name: text: mkApp (pkgs.writeShellScript name text).outPath;
|
||||
|
Reference in New Issue
Block a user