When the base modules that are provided by devshell are not enough, it is possible to extend it.
devshell.toml schema options that are
Declared in: the
folder in the schema documentation are loaded on demand.
In order to load an extra module, use the
<name> in the import section. For
example to make the
locale options available, import
imports = ["locale"]
Make sure to add this at the first statement in the file.
Now that the module has been loaded, the
devshell.toml understands the
imports = ["locale"] [locale] lang = "en_US.UTF-8"
Building your own modules requires to understand the Nix language. If Nix this is too complicated, please reach out to the issue tracker and describe your use-case. We want to be able to support a wide variety of development scenario.
In the same way as previously introduced, devshell will also load files that
are relative to the
devshell.toml. For example:
imports = ["mymodule.nix"]
Will load the
mymodule.nix file in the project repository and extend the
devshell.toml schema accordingly.