48 lines
1.3 KiB
Nix
48 lines
1.3 KiB
Nix
{
|
|
config,
|
|
pkgs,
|
|
hostname,
|
|
...
|
|
}:
|
|
{
|
|
systemd.services."wol${config.my.laninterface}" = {
|
|
description = "Wake-on-LAN for ${config.my.laninterface}";
|
|
after = [ "network.target" ];
|
|
wantedBy = [ "multi-user.target" ];
|
|
serviceConfig = {
|
|
Type = "oneshot";
|
|
ExecStart = "${pkgs.ethtool}/bin/ethtool -s ${config.my.laninterface} wol g";
|
|
RandomizedDelaySec = "30s";
|
|
};
|
|
};
|
|
environment.systemPackages = [ pkgs.ethtool ];
|
|
|
|
my.wolipv6address = "2a01:e0a:9cc:99d0:8f3a:6b2c:41d7:e9f5";
|
|
|
|
boot.initrd = {
|
|
network = {
|
|
enable = true;
|
|
ssh = {
|
|
enable = true;
|
|
port = 65234;
|
|
authorizedKeys = [
|
|
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ2+PXfG/37rsvcVr2RAHzXmGHMr8+8iBH//1YS+zWd3"
|
|
]; # ta clé publique
|
|
hostKeys = [ "/etc/ssh/ssh_host_ed25519_key" ];
|
|
};
|
|
postCommands = ''
|
|
ip -6 addr add ${config.my.wolipv6address}/64 dev ${config.my.laninterface}
|
|
ip -6 route add default via fe80::224:d4ff:fea5:65bd dev ${config.my.laninterface}
|
|
'';
|
|
};
|
|
availableKernelModules = [ "r8169" ];
|
|
|
|
};
|
|
|
|
boot = {
|
|
kernelParams = [
|
|
"ip=${config.my.ipv4address}::255.255.255.0:${config.my.ipv4gateway}:${hostname}:${config.my.laninterface}:off"
|
|
];
|
|
};
|
|
}
|