18 lines
481 B
Nix
18 lines
481 B
Nix
{ 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}";
|
|
}
|