1
0
Fork 0
nixos-config/home-manager/roles/kassandra/types.dhall
2021-09-03 21:26:39 +02:00

947 lines
40 KiB
Plaintext

{
StandaloneAccount = < RemoteAccount :
{ backend :
Optional
{ url : Text
, user : Text
, password :
< Prompt
| Password : { plaintext : Text }
| PasswordCommand : { command : Text }
>
}
}
| LocalAccount :
{ userConfig :
{ localBackend :
< TaskwarriorBackend :
{ taskRcPath : Optional Text
, taskDataPath : Optional Text
, taskConfig : List { name : Text, value : Text }
, taskBin : Optional Text
, hookListenPort :
< Port : { port : Natural }
| PortRange : { min : Natural, max : Natural }
>
, hookSuffix : Text
, createHooksOnStart : Bool
, removeHooksOnExit : Bool
}
| GitBackend :
{ directoryPath : Text
, commit : Bool
, configureMerge : Bool
, createIfMissing : Bool
, origin : Optional Text
, pushOnWrite : Bool
, watchFiles : Bool
, pullTimerSeconds : Optional Natural
}
>
, uiConfig :
{ viewList :
List
< SearchWidget
| DefinitionElementWidget :
{ name : Text
, definitionElement :
< ConfigList :
{ name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task : < HabiticaDaily | HabiticaTodo >
}
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
}
>
, configuredLists :
List
{ name : Text
, list :
List
< ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
}
, uiFeatures :
{ sortInTag : Bool
, treeOption : < NoTree | PartOfTree | DependsTree >
}
}
}
}
>,
BackendConfig = { users :
List
{ mapKey : Text
, mapValue :
{ passwordHash : Text
, userConfig :
{ localBackend :
< TaskwarriorBackend :
{ taskRcPath : Optional Text
, taskDataPath : Optional Text
, taskConfig : List { name : Text, value : Text }
, taskBin : Optional Text
, hookListenPort :
< Port : { port : Natural }
| PortRange : { min : Natural, max : Natural }
>
, hookSuffix : Text
, createHooksOnStart : Bool
, removeHooksOnExit : Bool
}
| GitBackend :
{ directoryPath : Text
, commit : Bool
, configureMerge : Bool
, createIfMissing : Bool
, origin : Optional Text
, pushOnWrite : Bool
, watchFiles : Bool
, pullTimerSeconds : Optional Natural
}
>
, uiConfig :
{ viewList :
List
< SearchWidget
| DefinitionElementWidget :
{ name : Text
, definitionElement :
< ConfigList :
{ name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task :
< HabiticaDaily | HabiticaTodo >
}
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list : < HabiticaDailys | HabiticaTodos >
}
| Mails
>
}
>
, configuredLists :
List
{ name : Text
, list :
List
< ConfigList :
{ name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task :
< HabiticaDaily | HabiticaTodo >
}
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
}
, uiFeatures :
{ sortInTag : Bool
, treeOption : < NoTree | PartOfTree | DependsTree >
}
}
}
, filterTag : Text
}
}
},
Widget = < SearchWidget
| DefinitionElementWidget :
{ name : Text
, definitionElement :
< ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask : { task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList : { list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
}
>,
NamedListQuery = { name : Text
, list :
List
< ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask : { task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList : { list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
},
LocalBackend = < TaskwarriorBackend :
{ taskRcPath : Optional Text
, taskDataPath : Optional Text
, taskConfig : List { name : Text, value : Text }
, taskBin : Optional Text
, hookListenPort :
< Port : { port : Natural }
| PortRange : { min : Natural, max : Natural }
>
, hookSuffix : Text
, createHooksOnStart : Bool
, removeHooksOnExit : Bool
}
| GitBackend :
{ directoryPath : Text
, commit : Bool
, configureMerge : Bool
, createIfMissing : Bool
, origin : Optional Text
, pushOnWrite : Bool
, watchFiles : Bool
, pullTimerSeconds : Optional Natural
}
>,
TreeOption = < NoTree | PartOfTree | DependsTree >,
PortConfig = < Port : { port : Natural } | PortRange : { min : Natural, max : Natural } >,
TaskwarriorOption = { name : Text, value : Text },
StandaloneConfig = { backends :
List
{ name : Text
, backend :
< RemoteAccount :
{ backend :
Optional
{ url : Text
, user : Text
, password :
< Prompt
| Password : { plaintext : Text }
| PasswordCommand : { command : Text }
>
}
}
| LocalAccount :
{ userConfig :
{ localBackend :
< TaskwarriorBackend :
{ taskRcPath : Optional Text
, taskDataPath : Optional Text
, taskConfig : List { name : Text, value : Text }
, taskBin : Optional Text
, hookListenPort :
< Port : { port : Natural }
| PortRange : { min : Natural, max : Natural }
>
, hookSuffix : Text
, createHooksOnStart : Bool
, removeHooksOnExit : Bool
}
| GitBackend :
{ directoryPath : Text
, commit : Bool
, configureMerge : Bool
, createIfMissing : Bool
, origin : Optional Text
, pushOnWrite : Bool
, watchFiles : Bool
, pullTimerSeconds : Optional Natural
}
>
, uiConfig :
{ viewList :
List
< SearchWidget
| DefinitionElementWidget :
{ name : Text
, definitionElement :
< ConfigList :
{ name : Text
, limit : Optional Natural
}
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task :
< HabiticaDaily
| HabiticaTodo
>
}
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list :
< HabiticaDailys | HabiticaTodos >
}
| Mails
>
}
>
, configuredLists :
List
{ name : Text
, list :
List
< ConfigList :
{ name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task :
< HabiticaDaily
| HabiticaTodo
>
}
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches :
{ filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list :
< HabiticaDailys | HabiticaTodos >
}
| Mails
>
}
, uiFeatures :
{ sortInTag : Bool
, treeOption : < NoTree | PartOfTree | DependsTree >
}
}
}
}
>
}
},
PasswordConfig = < Prompt
| Password : { plaintext : Text }
| PasswordCommand : { command : Text }
>,
AccountConfig = { passwordHash : Text
, userConfig :
{ localBackend :
< TaskwarriorBackend :
{ taskRcPath : Optional Text
, taskDataPath : Optional Text
, taskConfig : List { name : Text, value : Text }
, taskBin : Optional Text
, hookListenPort :
< Port : { port : Natural }
| PortRange : { min : Natural, max : Natural }
>
, hookSuffix : Text
, createHooksOnStart : Bool
, removeHooksOnExit : Bool
}
| GitBackend :
{ directoryPath : Text
, commit : Bool
, configureMerge : Bool
, createIfMissing : Bool
, origin : Optional Text
, pushOnWrite : Bool
, watchFiles : Bool
, pullTimerSeconds : Optional Natural
}
>
, uiConfig :
{ viewList :
List
< SearchWidget
| DefinitionElementWidget :
{ name : Text
, definitionElement :
< ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
}
>
, configuredLists :
List
{ name : Text
, list :
List
< ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask :
{ task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList :
{ list : < HabiticaDailys | HabiticaTodos > }
| Mails
>
}
, uiFeatures :
{ sortInTag : Bool
, treeOption : < NoTree | PartOfTree | DependsTree >
}
}
}
, filterTag : Text
},
DefinitionElement = < ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask : { task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList : { list : < HabiticaDailys | HabiticaTodos > }
| Mails
>,
ListQuery = List
< ConfigList : { name : Text, limit : Optional Natural }
| ListElement :
{ item :
< TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask : { task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}
| QueryList :
{ query :
List
< HasProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
| HasntProperty :
{ property :
< DescriptionMatches : { filter : Text }
| ParentBlocked
| Blocked
| Waiting
| Pending
| Completed
| Deleted
| IsParent
| OnList
| HasTag : { tag : Text }
| HasParent
>
}
>
}
| TagList : { name : Text }
| ChildrenList : { uuid : Text }
| DependenciesList : { uuid : Text }
| HabiticaList : { list : < HabiticaDailys | HabiticaTodos > }
| Mails
>,
RemoteBackend = { url : Text
, user : Text
, password :
< Prompt
| Password : { plaintext : Text }
| PasswordCommand : { command : Text }
>
},
ListItem = < TaskwarriorTask : { uuid : Text }
| AdHocTask : { description : Text }
| HabiticaTask : { task : < HabiticaDaily | HabiticaTodo > }
| Mail : { id : Text }
>
}