diff --git a/nixos/common/modules/ssh-luks-wifi.nix b/nixos/common/modules/ssh-luks-wifi.nix new file mode 100644 index 00000000..9417d992 --- /dev/null +++ b/nixos/common/modules/ssh-luks-wifi.nix @@ -0,0 +1,19 @@ +{ pkgs, ... }: let interface = "wlp170s0"; in { + boot.initrd = { + systemd = { + enable = true; + + packages = [ pkgs.wpa_supplicant ]; + initrdBin = [ pkgs.wpa_supplicant ]; + targets.initrd.wants = [ "wpa_supplicant@${interface}.service" ]; + + # prevent WPA supplicant from requiring `sysinit.target`. + services."wpa_supplicant@".unitConfig.DefaultDependencies = false; + + network.enable = true; + network.networks."FBI Van#2.4" = { + matchConfig.Name = interface; + networkConfig.DHCP = "yes"; + }; + }; +} diff --git a/nixos/common/modules/ssh-luks.nix b/nixos/common/modules/ssh-luks.nix index a7b646d1..413e5bb0 100644 --- a/nixos/common/modules/ssh-luks.nix +++ b/nixos/common/modules/ssh-luks.nix @@ -1,16 +1,20 @@ -{ ... }: { +{ lib, wireless, ... }: { # https://nixos.wiki/wiki/Remote_LUKS_Unlocking # Unlock command: # ssh root@<Local_IP_Address> "Password" + + imports = [ ] + lib.optional (builtins.isString wireless) ./ssh-luks-wifi.nix; + boot.initrd = { enable = true; systemd.users.root.shell = "/bin/systemd-tty-ask-password-agent"; availableKernelModules = [ - "cdc_ncm" # frameworks - "e1000e" # nuc-server + "cdc_ncm" # frameworks + "e1000e" # nuc-server "iwlwifi" # Add WiFi driver modules for your hardware "cfg80211" # Wireless configuration API ]; + network.enable = true; network.ssh = { enable = true;