devos/doc/concepts/suites.md
2021-06-05 10:10:05 -07:00

723 B

Suites

Suites provide a mechanism for users to easily combine and name collecitons of profiles. For good examples, check out the suites defined in the community branch.

suites are a special case of an importable which get passed as a special argument (one that can be use in an imports line) to your hosts.

They are defined with the suites argument in either the home or nixos namespace. Suites should be passed as a function that take profiles as an argument.

Definition

rec {
  workstation = [ profiles.develop profiles.graphical users.nixos ];
  mobileWS = workstation ++ [ profiles.laptop ];
}

Usage

hosts/my-laptop.nix:

{ suites, ... }:
{
  imports = suites.mobileWS;
}