{ pkgs, ... }: with pkgs.lib; let generate-mac-address = hostname: interface: pkgs.stdenv.mkDerivation { name = "mk-mac-${hostname}-${interface}"; phases = [ "installPhase" ]; installPhase = '' echo ${hostname}-${interface} | sha1sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/02:\1:\2:\3:\4:\5/' > $out ''; }; in { generate-mac-address = hostname: interface: let pkg = generate-mac-address hostname interface; in builtins.readFile "${pkg}"; }