mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-11-10 09:43:30 +01:00
40 lines
954 B
Nix
40 lines
954 B
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
|
|
let
|
|
cfg = config.system.nixos-init;
|
|
in
|
|
{
|
|
options.system.nixos-init = {
|
|
enable = lib.mkEnableOption ''
|
|
nixos-init, a system for bashless initialization.
|
|
|
|
This doesn't use any `activationScripts`. Anything set in these options is
|
|
a no-op here.
|
|
'';
|
|
|
|
package = lib.mkPackageOption pkgs "nixos-init" { };
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
assertions = [
|
|
{
|
|
assertion = config.boot.initrd.systemd.enable;
|
|
message = "nixos-init can only be used with boot.initrd.systemd.enable";
|
|
}
|
|
{
|
|
assertion = config.system.etc.overlay.enable;
|
|
message = "nixos-init can only be used with system.etc.overlay.enable";
|
|
}
|
|
{
|
|
assertion = config.services.userborn.enable || config.systemd.sysusers.enable;
|
|
message = "nixos-init can only be used with services.userborn.enable or systemd.sysusers.enable";
|
|
}
|
|
];
|
|
};
|
|
}
|