diff --git a/hosts/nixos/harmonica-sd/configuration.nix b/hosts/nixos/harmonica-sd/configuration.nix index 13683b2..238d2c8 100644 --- a/hosts/nixos/harmonica-sd/configuration.nix +++ b/hosts/nixos/harmonica-sd/configuration.nix @@ -8,7 +8,7 @@ ./sd-image.nix "${inputs.nixpkgs}/nixos/modules/installer/sd-card/sd-image-aarch64.nix" ./hardware-configuration.nix - ../../../modules + ../../../modules/nixos ]; osbmModules = { diff --git a/hosts/nixos/harmonica/configuration.nix b/hosts/nixos/harmonica/configuration.nix index ea6b6a7..61ae7e1 100644 --- a/hosts/nixos/harmonica/configuration.nix +++ b/hosts/nixos/harmonica/configuration.nix @@ -6,7 +6,7 @@ { imports = [ ./hardware-configuration.nix - ../../../modules + ../../../modules/nixos ]; osbmModules = { diff --git a/hosts/nixos/pochita/configuration.nix b/hosts/nixos/pochita/configuration.nix index 1895e48..048a3eb 100644 --- a/hosts/nixos/pochita/configuration.nix +++ b/hosts/nixos/pochita/configuration.nix @@ -7,7 +7,7 @@ { imports = [ ./hardware-configuration.nix - ../../../modules + ../../../modules/nixos inputs.raspberry-pi-nix.nixosModules.raspberry-pi inputs.nixos-hardware.nixosModules.raspberry-pi-5 ]; diff --git a/hosts/nixos/tartarus/configuration.nix b/hosts/nixos/tartarus/configuration.nix index 6877026..b39e53d 100644 --- a/hosts/nixos/tartarus/configuration.nix +++ b/hosts/nixos/tartarus/configuration.nix @@ -7,7 +7,7 @@ { imports = [ ./hardware-configuration.nix - ../../../modules + ../../../modules/nixos ]; osbmModules = { diff --git a/hosts/nixos/wallfacer/configuration.nix b/hosts/nixos/wallfacer/configuration.nix index ebd5959..c7eb70a 100644 --- a/hosts/nixos/wallfacer/configuration.nix +++ b/hosts/nixos/wallfacer/configuration.nix @@ -2,7 +2,7 @@ { imports = [ ./hardware-configuration.nix - ../../../modules + ../../../modules/nixos ]; osbmModules = { enableKDE = false; diff --git a/hosts/nixos/ymir/configuration.nix b/hosts/nixos/ymir/configuration.nix index b8fe661..2dfff76 100644 --- a/hosts/nixos/ymir/configuration.nix +++ b/hosts/nixos/ymir/configuration.nix @@ -6,7 +6,7 @@ { imports = [ ./hardware-configuration.nix - ../../../modules + ../../../modules/nixos ]; osbmModules = { diff --git a/modules/default.nix b/modules/default.nix new file mode 100644 index 0000000..c3bdd53 --- /dev/null +++ b/modules/default.nix @@ -0,0 +1,7 @@ +# Main module entry point +# Import the new NixOS module system +{ + imports = [ + ./nixos + ]; +} diff --git a/modules/nixos/hardware/wakeOnLan.nix b/modules/nixos/hardware/wakeOnLan.nix new file mode 100644 index 0000000..b6bfaa9 --- /dev/null +++ b/modules/nixos/hardware/wakeOnLan.nix @@ -0,0 +1,25 @@ +{ + pkgs, + lib, + config, + ... +}: +{ + config = lib.mkMerge [ + (lib.mkIf config.osbmModules.hardware.wakeOnLan.enable { + networking.interfaces.enp3s0.wakeOnLan.enable = true; + # The services doesn't actually work atm, define an additional service + # see https://github.com/NixOS/nixpkgs/issues/91352 + systemd.services.wakeonlan = { + description = "Reenable wake on lan every boot"; + after = [ "network.target" ]; + serviceConfig = { + Type = "simple"; + RemainAfterExit = "true"; + ExecStart = "${pkgs.ethtool}/sbin/ethtool -s enp3s0 wol g"; + }; + wantedBy = [ "default.target" ]; + }; + }) + ]; +}