Configuration

Understanding Noti's Configuration

Noti looks for configuration files in the following locations (in order of priority):

  1. $XDG_CONFIG_HOME/noti/config.toml
  2. $HOME/.config/noti/config.toml

Hot Reload

Noti supports hot-reloading configuration changes. Simply save your config file, and Noti will automatically apply the new settings.

Types

Before of all properties, need to understand a few primitive types. The complex types like array or table will be explained in place.

TypeDescription
boolA boolean value
u8An unsigned integer of 8 bit
u16An unsigned integer of 16 bit
StringA string,typically used as an enumeration variant
[...]An array containing various type. Used as tuple
[T; from..to]An array with elements of type T, where the number of elements can vary between from and to (inclusive)
ColorA color value. Either string or table
PathThe path to particular file or directory

Configuration Structure

The Noti configuration is divided into four main property groups:

Each of them belongs to specific idea. So the reading order is not matter. But we recommend you to go to through from the first one to the last one.

Importing

You can import configuration files from other files:

use = [
    "$XDG_CONFIG_HOME/noti/themes.toml",
    "~/.config/noti/layouts/layout.toml",
    "./apps/*"
]

Note:

  • Current configuration file takes precedence
  • Avoid importing the same file multiple time
  • Avoid circular dependencies
  • Merge behavior is not guaranteed, so declare configurations carefully