mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-12 20:55:31 +03:00
nixos/systemd: clarify what enableStrictShellChecks checks (#401460)
This commit is contained in:
commit
86a1af8a7b
2 changed files with 41 additions and 4 deletions
|
@ -398,9 +398,21 @@ rec {
|
||||||
|
|
||||||
enableStrictShellChecks = mkOption {
|
enableStrictShellChecks = mkOption {
|
||||||
type = types.bool;
|
type = types.bool;
|
||||||
description = "Enable running shellcheck on the generated scripts for this unit.";
|
description = ''
|
||||||
# The default gets set in systemd-lib.nix because we don't have access to
|
Enable running `shellcheck` on the generated scripts for this unit.
|
||||||
# the full NixOS config here.
|
|
||||||
|
When enabled, scripts generated by the unit will be checked with
|
||||||
|
`shellcheck` and any errors or warnings will cause the build to
|
||||||
|
fail.
|
||||||
|
|
||||||
|
This affects all scripts that have been created through the
|
||||||
|
`script`, `reload`, `preStart`, `postStart`, `preStop` and
|
||||||
|
`postStop` options for systemd services. This does not affect
|
||||||
|
command lines passed directly to `ExecStart`, `ExecReload`,
|
||||||
|
`ExecStartPre`, `ExecStartPost`, `ExecStop` or `ExecStopPost`.
|
||||||
|
'';
|
||||||
|
# The default gets set in systemd-lib.nix because we don't have
|
||||||
|
# access to the full NixOS config here.
|
||||||
defaultText = literalExpression "config.systemd.enableStrictShellChecks";
|
defaultText = literalExpression "config.systemd.enableStrictShellChecks";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -226,7 +226,32 @@ in
|
||||||
package = mkPackageOption pkgs "systemd" { };
|
package = mkPackageOption pkgs "systemd" { };
|
||||||
|
|
||||||
enableStrictShellChecks = mkEnableOption "" // {
|
enableStrictShellChecks = mkEnableOption "" // {
|
||||||
description = "Whether to run shellcheck on the generated scripts for systemd units.";
|
description = ''
|
||||||
|
Whether to run `shellcheck` on the generated scripts for systemd
|
||||||
|
units.
|
||||||
|
|
||||||
|
When enabled, all systemd scripts generated by NixOS will be checked
|
||||||
|
with `shellcheck` and any errors or warnings will cause the build to
|
||||||
|
fail.
|
||||||
|
|
||||||
|
This affects all scripts that have been created through the `script`,
|
||||||
|
`reload`, `preStart`, `postStart`, `preStop` and `postStop` options for
|
||||||
|
systemd services. This does not affect command lines passed directly
|
||||||
|
to `ExecStart`, `ExecReload`, `ExecStartPre`, `ExecStartPost`,
|
||||||
|
`ExecStop` or `ExecStopPost`.
|
||||||
|
|
||||||
|
It therefore also does not affect systemd units that are coming from
|
||||||
|
packages and that are not defined through the NixOS config. This option
|
||||||
|
is disabled by default, and although some services have already been
|
||||||
|
fixed, it is still likely that you will encounter build failures when
|
||||||
|
enabling this.
|
||||||
|
|
||||||
|
We encourage people to enable this option when they are willing and
|
||||||
|
able to submit fixes for potential build failures to Nixpkgs. The
|
||||||
|
option can also be enabled or disabled for individual services using
|
||||||
|
the `enableStrictShellChecks` option on the service itself, which will
|
||||||
|
take precedence over the global setting.
|
||||||
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
units = mkOption {
|
units = mkOption {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue