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