lib: _: rec { my = import ./my.nix lib; dns = import ./dns.nix lib; isEven = number: assert (builtins.isInt number) || (builtins.isFloat number); builtins.div number 2 == 0; isOdd = !isEven; pow = base: exponent: assert (builtins.isInt base) && (builtins.isInt exponent); assert exponent > 0; builtins.foldl' (x: _: x * base) 1 (builtins.genList _ exponent); comcat = builtins.concatStringsSep ","; mapListToAttrs = f: xs: builtins.listToAttrs (map (name: { name = if builtins.isList name then builtins.elemAt name (builtins.length name - 1) else name; value = f name; }) xs); mkTcpMem = min: ini: max: assert min <= ini && ini <= max; builtins.concatMapStrings (x: toString x + " ") (map (pow 2) [min ini max]); }