1
1
mirror of https://github.com/divnix/digga.git synced 2024-11-30 00:48:21 +03:00
digga/doc/api-reference-nixos.md
David Arnold 8a8f92fb42 imp: add per host tests
this allow users to specifiy per hosts tests in the host api container
under `.test`.

test must be an attrs or a function that is invoked as a package and
that returns an attrs which can be consumed by nixos' `mkTest`.

tests must have a name, so that they can be told apart in the
flake's check attribue.
2022-02-23 15:23:14 -08:00

3.4 KiB
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.externalModules

modules to include that won't be exported meant importing modules from external flakes

Type: list of valid modules or anything convertible to it

Default

[]

nixos.hostDefaults.modules

modules to include in all hosts and export to nixosModules output

Type: list of valid modules or anything 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

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":"literalExample","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

nixos.profiles

WARNING: The 'suites' and profiles options have been deprecated, you can now create both with the importables option. rakeLeaves can be used to create profiles and by passing a module or rec set to importables, suites can access profiles. Example:

importables = rec {
  profiles = digga.lib.rakeLeaves ./profiles;
  suites = with profiles; { };
}

See https://github.com/divnix/digga/pull/30 for more details

Type: list of paths or path convertible to it

Default

[]

nixos.suites

WARNING: The 'suites' and profiles options have been deprecated, you can now create both with the importables option. rakeLeaves can be used to create profiles and by passing a module or rec set to importables, suites can access profiles. Example:

importables = rec {
  profiles = digga.lib.rakeLeaves ./profiles;
  suites = with profiles; { };
}

See https://github.com/divnix/digga/pull/30 for more details

Type: function that evaluates to a(n) attrs or path convertible to it