···116116117117: The `lychee` package to use.
118118119119+## `shellcheck` {#tester-shellcheck}
120120+121121+Runs files through `shellcheck`, a static analysis tool for shell scripts.
122122+123123+:::{.example #ex-shellcheck}
124124+# Run `testers.shellcheck`
125125+126126+A single script
127127+128128+```nix
129129+testers.shellcheck {
130130+ name = "shellcheck";
131131+ src = ./script.sh;
132132+}
133133+```
134134+135135+Multiple files
136136+137137+```nix
138138+let
139139+ inherit (lib) fileset;
140140+in
141141+testers.shellcheck {
142142+ name = "shellcheck";
143143+ src = fileset.toSource {
144144+ root = ./.;
145145+ fileset = fileset.unions [
146146+ ./lib.sh
147147+ ./nixbsd-activate
148148+ ];
149149+ };
150150+}
151151+```
152152+153153+:::
154154+155155+### Inputs {#tester-shellcheck-inputs}
156156+157157+[`src` (path or string)]{#tester-shellcheck-param-src}
158158+159159+: The path to the shell script(s) to check.
160160+ This can be a single file or a directory containing shell files.
161161+ All files in `src` will be checked, so you may want to provide `fileset`-based source instead of a whole directory.
162162+163163+### Return value {#tester-shellcheck-return}
164164+165165+A derivation that runs `shellcheck` on the given script(s).
166166+The build will fail if `shellcheck` finds any issues.
167167+119168## `testVersion` {#tester-testVersion}
120169121170Checks that the output from running a command contains the specified version string in it as a whole word.