Skip to content

Profiles Configuration

A profile is a set of software needed for a particular use case. All profiles configuration files are in modules/profiles.

To add a new profile, do the following:

  1. Create your own configuration file using modules/profiles/mvp-user-trial.nix as a reference.
  2. Depending on the location of your reference appvms, services, or programs change the includes to point to them.
  3. Create a new enable option to enable the profile, for example, new-cool-profile.
  4. In the lower section, under the correct area appvms, services, programs, make sure to describe additional definitions you need.

For example, a safe-and-unsave-browsing.nix file with a simple setup that includes business-vm and chrome-vm could look like this:

config = lib.mkIf cfg.enable {
ghaf = {
reference = {
appvms = {
enable = true;
chromium-vm = true;
business-vm = true;
};
services = {
enable = true;
};
programs = {
};
};
profiles = {
laptop-x86 = {
enable = true;
netvmExtraModules = [../reference/services];
guivmExtraModules = [../reference/programs];
inherit (config.ghaf.reference.appvms) enabled-app-vms;
};
};
};
};