mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-10 03:23:29 +03:00

I was confused why I could not get an emergency access console despite setting systemd.emergencyMode=true. Turns out there is another similar option `boot.initrd.systemd.emergencyAccess` that I should have used. This is confusing and this change should make it more clear vie the docs of both these options.
41 lines
866 B
Nix
41 lines
866 B
Nix
{
|
|
config,
|
|
lib,
|
|
options,
|
|
...
|
|
}:
|
|
{
|
|
|
|
###### interface
|
|
|
|
options = {
|
|
|
|
systemd.enableEmergencyMode = lib.mkOption {
|
|
default = true;
|
|
type = lib.types.bool;
|
|
description = ''
|
|
Whether to enable emergency mode, which is an
|
|
{command}`sulogin` shell started on the console if
|
|
mounting a filesystem fails. Since some machines (like EC2
|
|
instances) have no console of any kind, emergency mode doesn't
|
|
make sense, and it's better to continue with the boot insofar
|
|
as possible.
|
|
|
|
For initrd emergency access, use ${options.boot.initrd.systemd.emergencyAccess} instead.
|
|
'';
|
|
};
|
|
|
|
};
|
|
|
|
###### implementation
|
|
|
|
config = {
|
|
|
|
systemd.additionalUpstreamSystemUnits = lib.optionals config.systemd.enableEmergencyMode [
|
|
"emergency.target"
|
|
"emergency.service"
|
|
];
|
|
|
|
};
|
|
|
|
}
|