os/doc/api-reference-nixos.md
2023-01-28 21:49:10 +01:00

192 lines
2.8 KiB
Markdown
Executable file

# NixOS API Container
Configure your nixos modules, profiles & suites.
## nixos
hosts, modules, suites, and profiles for NixOS
_*Type*_:
submodule or path convertible to it
_*Default*_
```
{}
```
## nixos.hostDefaults
Defaults for all hosts.
the modules passed under hostDefaults will be exported
to the 'nixosModules' flake output.
They will also be added to all hosts.
_*Type*_:
submodule
_*Default*_
```
{}
```
## nixos.hostDefaults.channelName
Channel this host should follow
_*Type*_:
channel defined in `channels`
## nixos.hostDefaults.exportedModules
modules to include in all hosts and export to nixosModules output
_*Type*_:
list of valid modules or anything convertible to it or path convertible to it
_*Default*_
```
[]
```
## nixos.hostDefaults.externalModules
The `externalModules` option has been removed.
Any modules that should be exported should be defined with the `exportedModules`
option and all other modules should just go into the `modules` option.
_*Type*_:
list of valid modules or anything convertible to it
_*Default*_
```
[]
```
## nixos.hostDefaults.modules
modules to include that won't be exported
meant importing modules from external flakes
_*Type*_:
list of valid modules or anything convertible to it or path convertible to it
_*Default*_
```
[]
```
## nixos.hostDefaults.system
system for this host
_*Type*_:
null or system defined in `supportedSystems`
_*Default*_
```
null
```
## nixos.hosts
configurations to include in the nixosConfigurations output
_*Type*_:
attribute set of submodules
_*Default*_
```
{}
```
## nixos.hosts.\<name\>.channelName
Channel this host should follow
_*Type*_:
null or channel defined in `channels`
_*Default*_
```
null
```
## nixos.hosts.\<name\>.modules
modules to include
_*Type*_:
list of valid modules or anything convertible to it or path convertible to it
_*Default*_
```
[]
```
## nixos.hosts.\<name\>.system
system for this host
_*Type*_:
null or system defined in `supportedSystems`
_*Default*_
```
null
```
## nixos.hosts.\<name\>.tests
tests to run
_*Type*_:
list of valid NixOS test or path convertible to its or anything convertible to it
_*Default*_
```
[]
```
_*Example*_
```
{"_type":"literalExpression","text":"[\n {\n name = \"testname1\";\n machine = { ... };\n testScript = ''\n # ...\n '';\n }\n ({ corutils, writers, ... }: {\n name = \"testname2\";\n machine = { ... };\n testScript = ''\n # ...\n '';\n })\n ./path/to/test.nix\n];\n"}
```
## nixos.importables
Packages of paths to be passed to modules as `specialArgs`.
_*Type*_:
attribute set
_*Default*_
```
{}
```
## nixos.importables.suites
collections of profiles
_*Type*_:
null or attribute set of list of paths or anything convertible to its or path convertible to it
_*Default*_
```
null
```