python312Packages.tencentcloud-sdk-python: 3.0.1291 -> 3.0.1292 (#369707)
[NixPkgs.git] / nixos / modules / system / boot / loader / init-script / init-script.nix
blob5c4974f32ae07a90b4f1d11749e5eed04eaccc28
2   config,
3   lib,
4   pkgs,
5   ...
6 }:
8 with lib;
10 let
12   initScriptBuilder = pkgs.substituteAll {
13     src = ./init-script-builder.sh;
14     isExecutable = true;
15     inherit (pkgs) bash;
16     inherit (config.system.nixos) distroName;
17     path = [
18       pkgs.coreutils
19       pkgs.gnused
20       pkgs.gnugrep
21     ];
22   };
28   ###### interface
30   options = {
32     boot.loader.initScript = {
34       enable = mkOption {
35         default = false;
36         type = types.bool;
37         description = ''
38           Some systems require a /sbin/init script which is started.
39           Or having it makes starting NixOS easier.
40           This applies to some kind of hosting services and user mode linux.
42           Additionally this script will create
43           /boot/init-other-configurations-contents.txt containing
44           contents of remaining configurations. You can copy paste them into
45           /sbin/init manually running a rescue system or such.
46         '';
47       };
48     };
50   };
52   ###### implementation
54   config = mkIf config.boot.loader.initScript.enable {
56     system.build.installBootLoader = initScriptBuilder;
58   };