os/doc/api-reference-nixos.md

192 lines
2.8 KiB
Markdown
Raw Normal View History

# NixOS API Container
2023-01-28 20:49:10 +00:00
Configure your nixos modules, profiles & suites.
## nixos
2023-01-28 20:49:10 +00:00
hosts, modules, suites, and profiles for NixOS
2023-01-28 20:49:10 +00:00
_*Type*_:
submodule or path convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
{}
```
## nixos.hostDefaults
2023-01-28 20:49:10 +00:00
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.
2023-01-28 20:49:10 +00:00
_*Type*_:
submodule
2023-01-28 20:49:10 +00:00
_*Default*_
```
{}
```
## nixos.hostDefaults.channelName
2023-01-28 20:49:10 +00:00
Channel this host should follow
2023-01-28 20:49:10 +00:00
_*Type*_:
channel defined in `channels`
## nixos.hostDefaults.exportedModules
2023-01-28 20:49:10 +00:00
modules to include in all hosts and export to nixosModules output
2023-01-28 20:49:10 +00:00
_*Type*_:
list of valid modules or anything convertible to it or path convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
[]
```
## nixos.hostDefaults.externalModules
2023-01-28 20:49:10 +00:00
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.
2023-01-28 20:49:10 +00:00
_*Type*_:
list of valid modules or anything convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
[]
```
## nixos.hostDefaults.modules
2023-01-28 20:49:10 +00:00
modules to include that won't be exported
meant importing modules from external flakes
2023-01-28 20:49:10 +00:00
_*Type*_:
list of valid modules or anything convertible to it or path convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
[]
```
## nixos.hostDefaults.system
2023-01-28 20:49:10 +00:00
system for this host
2023-01-28 20:49:10 +00:00
_*Type*_:
null or system defined in `supportedSystems`
2023-01-28 20:49:10 +00:00
_*Default*_
```
null
```
## nixos.hosts
2023-01-28 20:49:10 +00:00
configurations to include in the nixosConfigurations output
2023-01-28 20:49:10 +00:00
_*Type*_:
attribute set of submodules
2023-01-28 20:49:10 +00:00
_*Default*_
```
{}
```
## nixos.hosts.\<name\>.channelName
2023-01-28 20:49:10 +00:00
Channel this host should follow
2023-01-28 20:49:10 +00:00
_*Type*_:
null or channel defined in `channels`
2023-01-28 20:49:10 +00:00
_*Default*_
```
null
```
## nixos.hosts.\<name\>.modules
2023-01-28 20:49:10 +00:00
modules to include
2023-01-28 20:49:10 +00:00
_*Type*_:
list of valid modules or anything convertible to it or path convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
[]
```
## nixos.hosts.\<name\>.system
2023-01-28 20:49:10 +00:00
system for this host
2023-01-28 20:49:10 +00:00
_*Type*_:
null or system defined in `supportedSystems`
2023-01-28 20:49:10 +00:00
_*Default*_
```
null
```
## nixos.hosts.\<name\>.tests
2023-01-28 20:49:10 +00:00
tests to run
2023-01-28 20:49:10 +00:00
_*Type*_:
list of valid NixOS test or path convertible to its or anything convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
[]
```
2023-01-28 20:49:10 +00:00
_*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
2023-01-28 20:49:10 +00:00
Packages of paths to be passed to modules as `specialArgs`.
2023-01-28 20:49:10 +00:00
_*Type*_:
attribute set
2023-01-28 20:49:10 +00:00
_*Default*_
```
{}
```
## nixos.importables.suites
2023-01-28 20:49:10 +00:00
collections of profiles
2023-01-28 20:49:10 +00:00
_*Type*_:
null or attribute set of list of paths or anything convertible to its or path convertible to it
2023-01-28 20:49:10 +00:00
_*Default*_
```
null
```