Inspect the composition.nix
file
If you open the composition.nix
file, you will find the following:
{ pkgs, ... }: {
roles = {
foo = { pkgs, ... }:
{
# add needed package
# environment.systemPackages = with pkgs; [ socat ];
};
};
testScript = ''
foo.succeed("true")
'';
}
The composition is a function that takes a set as input ({ pkgs, ... }
) and returns a set containing:
-
a
testScript
string -
a
roles
set of NixOS configurations
What interest us for the moment is the roles
set.
In the example above, we define a single role named foo
with an empty configuration.
We can add packages to the environment by uncommenting the environment.systemPackages
line:
{ pkgs, ... }: {
roles = {
foo = { pkgs, ... }:
{
# add needed package
environment.systemPackages = with pkgs; [ socat ];
};
};
testScript = ''
foo.succeed("true")
'';
}