13 lines
No EOL
567 B
Nix
13 lines
No EOL
567 B
Nix
{ pkgs, lib, ... }: rec {
|
|
calc = (import ((builtins.fetchTarball "https://gist.github.com/duairc/5c9bb3c922e5d501a1edb9e7b3b845ba/archive/3885f7cd9ed0a746a9d675da6f265d41e9fd6704.tar.gz") + "/net.nix" ) { inherit lib; }).lib.net;
|
|
regex.ipv4 =
|
|
let
|
|
compRegex = "(25[0-5]|(2[0-4]|10|1?[1-9])?[0-9])";
|
|
in
|
|
"(${compRegex}\\.){3}${compRegex}";
|
|
|
|
regex.cidr4 = "${regex.ipv4}/(3[0-2]|[1-2]?[0-9])";
|
|
regex.ipOrCidr4 = "(${regex.ipv4}|${regex.cidr4})";
|
|
ipv4ToInt = ipv4: calc.ip.diff ipv4 "0.0.0.0";
|
|
intToipv4 = inte: calc.ip.add "0.0.0.0" inte;
|
|
} |