navi
Safe HaskellNone
LanguageGHC2021

Navi.Config.Types

Description

Provides configuration types.

Synopsis

Config

data Config Source #

Config holds the data from ConfigToml once it has been processed (e.g., all user defined Events are parsed).

Constructors

MkConfig 

Fields

Instances

Instances details
Show Config Source # 
Instance details

Defined in Navi.Config.Types

(k ~ A_Lens, a ~ NonEmpty AnyEvent, b ~ NonEmpty AnyEvent) => LabelOptic "events" k Config Config a b Source # 
Instance details

Defined in Navi.Config.Types

(k ~ A_Lens, a ~ Logging, b ~ Logging) => LabelOptic "logging" k Config Config a b Source # 
Instance details

Defined in Navi.Config.Types

(k ~ A_Lens, a ~ NoteSystem 'ConfigPhaseToml, b ~ NoteSystem 'ConfigPhaseToml) => LabelOptic "noteSystem" k Config Config a b Source # 
Instance details

Defined in Navi.Config.Types

data ConfigErr Source #

ConfigErr represents the errors we can encounter when attempting to parse a config file.

Logging

data Logging Source #

Logging configuration.

Constructors

MkLogging 

Fields

Instances

Instances details
Show Logging Source # 
Instance details

Defined in Navi.Config.Types

Eq Logging Source # 
Instance details

Defined in Navi.Config.Types

Methods

(==) :: Logging -> Logging -> Bool #

(/=) :: Logging -> Logging -> Bool #

(k ~ A_Lens, a ~ Maybe LogLoc, b ~ Maybe LogLoc) => LabelOptic "location" k Logging Logging a b Source # 
Instance details

Defined in Navi.Config.Types

(k ~ A_Lens, a ~ Maybe LogLevel, b ~ Maybe LogLevel) => LabelOptic "severity" k Logging Logging a b Source # 
Instance details

Defined in Navi.Config.Types

(k ~ A_Lens, a ~ Maybe FilesSizeMode, b ~ Maybe FilesSizeMode) => LabelOptic "sizeMode" k Logging Logging a b Source # 
Instance details

Defined in Navi.Config.Types

data LogLoc Source #

Log location configuration.

Constructors

DefPath 
Stdout 
File OsPath 

Instances

Instances details
Show LogLoc Source # 
Instance details

Defined in Navi.Config.Types

Eq LogLoc Source # 
Instance details

Defined in Navi.Config.Types

Methods

(==) :: LogLoc -> LogLoc -> Bool #

(/=) :: LogLoc -> LogLoc -> Bool #

data FilesSizeMode Source #

Determines what to do if the log file surpasses the given size threshold.

Constructors

FilesSizeModeWarn (Bytes 'B Natural)

Print a warning.

FilesSizeModeDelete (Bytes 'B Natural)

Delete the file.

Instances

Instances details
Show FilesSizeMode Source # 
Instance details

Defined in Navi.Config.Types

Eq FilesSizeMode Source # 
Instance details

Defined in Navi.Config.Types

defaultLogging :: Logging Source #

Default logging i.e. log errors and use the default path.

Note System

data NoteSystem (p :: ConfigPhase) Source #

Configuration for notification systems.

Constructors

AppleScript

For use with osx.

DBus (DBusF p)

For use with a running notification server that receives messages via DBus.

NotifySend

For use with the notify-send tool.

defaultNoteSystem :: NoteSystem 'ConfigPhaseToml Source #

Default notification system i.e. DBus for linux, AppleScript for osx.