29 lines
791 B
Nix
29 lines
791 B
Nix
# Shared MAC address to station mapping and case builder for stateless-kiosk modules
|
|
{ lib }:
|
|
let
|
|
hostmap = {
|
|
"00:e0:4c:46:0b:32" = "1";
|
|
"00:e0:4c:46:07:26" = "2";
|
|
"00:e0:4c:46:05:94" = "3";
|
|
"00:e0:4c:46:07:11" = "4";
|
|
"00:e0:4c:46:08:02" = "5";
|
|
"00:e0:4c:46:08:5c" = "6";
|
|
};
|
|
# macCaseBuilder: builds a shell case statement from a hostmap
|
|
# varName: the shell variable to assign
|
|
# prefix: optional string to prepend to the value (default: "")
|
|
# attrset: attribute set to use (default: hostmap)
|
|
macCaseBuilder =
|
|
{
|
|
varName,
|
|
prefix ? "",
|
|
attrset ? hostmap,
|
|
}:
|
|
lib.concatStringsSep "\n" (
|
|
lib.mapAttrsToList (mac: val: " ${mac}) ${varName}=${prefix}${val} ;;") attrset
|
|
);
|
|
in
|
|
{
|
|
inherit hostmap macCaseBuilder;
|
|
}
|