# 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;
}
