From 5c9774e906175da0b608af38c5c9de53dae2c541 Mon Sep 17 00:00:00 2001 From: chn Date: Wed, 3 Jul 2024 09:58:40 +0800 Subject: [PATCH] system.initrd: Enable sulogin on boot failure --- modules/system/initrd.nix | 30 +++++++++++++----------------- 1 file changed, 13 insertions(+), 17 deletions(-) diff --git a/modules/system/initrd.nix b/modules/system/initrd.nix index 7aa5da68..65b5f922 100644 --- a/modules/system/initrd.nix +++ b/modules/system/initrd.nix @@ -12,22 +12,18 @@ inputs: }; }; }; - config = - let - inherit (inputs.config.nixos.system) initrd; - inherit (inputs.lib) mkIf mkMerge; - in mkMerge - [ - { boot.initrd.systemd.enable = true; } - ( - mkIf (initrd.sshd.enable) + config = let inherit (inputs.config.nixos.system) initrd; in inputs.lib.mkMerge + [ + { boot.initrd.systemd.enable = true; } + ( + inputs.lib.mkIf (initrd.sshd.enable) + { + boot = { - boot = - { - initrd.network = { enable = true; ssh = { enable = true; hostKeys = initrd.sshd.hostKeys; }; }; - kernelParams = [ "ip=dhcp" ]; - }; - } - ) - ]; + initrd.network = { enable = true; ssh = { enable = true; hostKeys = initrd.sshd.hostKeys; }; }; + kernelParams = [ "ip=dhcp" "boot.shell_on_fail" "systemd.setenv=SYSTEMD_SULOGIN_FORCE=1" ]; + }; + } + ) + ]; }