MyNixOS website logo

Environment variables to always set at login.

The values may refer to other environment variables using POSIX.2 style variable references. For example, a variable parameter may be referenced as $parameter or ${parameter}. A default value foo may be given as per ${parameter:-foo} and, similarly, an alternate value bar can be given as per ${parameter:+bar}.

Note, these variables may be set in any order so no session variable may have a runtime dependency on another session variable. In particular code like

home.sessionVariables = {
  FOO = "Hello";
  BAR = "$FOO World!";
};

may not work as expected. If you need to reference another session variable (even if it is declared by using other options like ), then do so inside Nix instead. The above example then becomes

home.sessionVariables = {
  FOO = "Hello";
  BAR = "${config.home.sessionVariables.FOO} World!";
};
Declarations
Type
lazy attribute set of (string or path or signed integer or floating point number)
Default
{ }
Example
{
  EDITOR = "emacs";
  GS_OPTIONS = "-sPAPERSIZE=a4";
}