Configure kassandra config better
This commit is contained in:
parent
679eb18400
commit
140763b529
|
@ -1,9 +1,34 @@
|
||||||
{ ... }: {
|
{ pkgs, ... }: let
|
||||||
|
dhallFiles = pkgs.runCommand "kassandra-config-src" {} ''
|
||||||
|
mkdir $out
|
||||||
|
${pkgs.kassandra2}/bin/kassandra2 print-types > $out/types.dhall
|
||||||
|
ln -s ${./kassandra}/{config,backend}.dhall $out
|
||||||
|
ln -s ${../../private/kassandra-uiConfig.dhall} $out/uiConfig.dhall
|
||||||
|
'';
|
||||||
|
backend = pkgs.dhallPackages.buildDhallPackage {
|
||||||
|
name = "kassandra-backend-config";
|
||||||
|
code = "${dhallFiles}/backend.dhall : (${dhallFiles}/types.dhall).BackendConfig";
|
||||||
|
source = true;
|
||||||
|
dependencies = [ pkgs.dhallPackages.Prelude ];
|
||||||
|
};
|
||||||
|
standalone = pkgs.dhallPackages.buildDhallPackage {
|
||||||
|
name = "kassandra-standalone-config";
|
||||||
|
code = "${dhallFiles}/config.dhall : (${dhallFiles}/types.dhall).StandaloneConfig";
|
||||||
|
source = true;
|
||||||
|
dependencies = [ pkgs.dhallPackages.Prelude ];
|
||||||
|
};
|
||||||
|
|
||||||
|
dhallResult = pkgs.runCommand "kassandra-config" {} ''
|
||||||
|
mkdir $out
|
||||||
|
ln -s ${backend}/source.dhall $out/backend.dhall
|
||||||
|
ln -s ${standalone}/source.dhall $out/config.dhall
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
{
|
||||||
home.file = {
|
home.file = {
|
||||||
"kassandra-config" = {
|
"kassandra-config" = {
|
||||||
target = ".config/kassandra";
|
target = ".config/kassandra";
|
||||||
source = ./kassandra;
|
source = dhallResult.out;
|
||||||
recursive = true;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -117,6 +117,127 @@ StandaloneAccount = < RemoteAccount :
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
>,
|
>,
|
||||||
|
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
|
||||||
|
| ConfigListWidget :
|
||||||
|
{ name : Text, limit : Optional Natural }
|
||||||
|
>
|
||||||
|
, configuredLists :
|
||||||
|
List
|
||||||
|
{ name : Text
|
||||||
|
, list :
|
||||||
|
< 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 }
|
||||||
|
| DefinitionList :
|
||||||
|
{ elements :
|
||||||
|
List
|
||||||
|
< ConfigList :
|
||||||
|
{ name : Text
|
||||||
|
, limit : Optional Natural
|
||||||
|
}
|
||||||
|
| ListElement :
|
||||||
|
{ item :
|
||||||
|
< TaskwarriorTask :
|
||||||
|
{ uuid : Text }
|
||||||
|
| AdHocTask :
|
||||||
|
{ description : Text }
|
||||||
|
| HabiticaTask :
|
||||||
|
{ task :
|
||||||
|
< HabiticaDaily
|
||||||
|
| HabiticaTodo
|
||||||
|
>
|
||||||
|
}
|
||||||
|
| Mail : { id : Text }
|
||||||
|
>
|
||||||
|
}
|
||||||
|
>
|
||||||
|
}
|
||||||
|
| ChildrenList : { uuid : Text }
|
||||||
|
| DependenciesList : { uuid : Text }
|
||||||
|
| HabiticaList :
|
||||||
|
{ list : < HabiticaDailys | HabiticaTodos > }
|
||||||
|
| Mails
|
||||||
|
>
|
||||||
|
}
|
||||||
|
, uiFeatures :
|
||||||
|
{ sortInTag : Bool
|
||||||
|
, treeOption : < NoTree | PartOfTree | DependsTree >
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
, filterTag : Text
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
Widget = < SearchWidget | ConfigListWidget : { name : Text, limit : Optional Natural } >,
|
Widget = < SearchWidget | ConfigListWidget : { name : Text, limit : Optional Natural } >,
|
||||||
NamedListQuery = { name : Text
|
NamedListQuery = { name : Text
|
||||||
, list :
|
, list :
|
||||||
|
|
|
@ -1,69 +0,0 @@
|
||||||
let types = ./types.dhall
|
|
||||||
|
|
||||||
let Prelude =
|
|
||||||
{ List.map
|
|
||||||
=
|
|
||||||
https://prelude.dhall-lang.org/v20.1.0/List/map.dhall sha256:dd845ffb4568d40327f2a817eb42d1c6138b929ca758d50bc33112ef3c885680
|
|
||||||
}
|
|
||||||
|
|
||||||
let confWid =
|
|
||||||
\(name : Text) ->
|
|
||||||
types.Widget.ConfigListWidget { name, limit = None Natural }
|
|
||||||
|
|
||||||
let listElement =
|
|
||||||
\(el : types.ListItem) ->
|
|
||||||
types.DefinitionElement.ListElement { item = el }
|
|
||||||
|
|
||||||
let simpleTask =
|
|
||||||
\(desc : Text) ->
|
|
||||||
listElement (types.ListItem.AdHocTask { description = desc })
|
|
||||||
|
|
||||||
let defList =
|
|
||||||
\(name : Text) ->
|
|
||||||
\(list : List types.DefinitionElement) ->
|
|
||||||
{ name, list = types.ListQuery.DefinitionList { elements = list } }
|
|
||||||
|
|
||||||
let defSimpleList =
|
|
||||||
\(name : Text) ->
|
|
||||||
\(list : List Text) ->
|
|
||||||
defList
|
|
||||||
name
|
|
||||||
(Prelude.List.map Text types.DefinitionElement simpleTask list)
|
|
||||||
|
|
||||||
in { configuredLists =
|
|
||||||
[ { name = "Task Baum", list = types.ListQuery.TagList { name = "root" } }
|
|
||||||
, defSimpleList
|
|
||||||
"Orga Routine"
|
|
||||||
[ "Maintenance"
|
|
||||||
, "Kassandra 1 Dialog"
|
|
||||||
, "Inbox sortieren"
|
|
||||||
, "Tasks in Taskbaum einsortieren"
|
|
||||||
, "Tagesagenda für morgen mit Taglisten"
|
|
||||||
, "Habitica kontrollieren"
|
|
||||||
, "Await checken"
|
|
||||||
]
|
|
||||||
, defSimpleList "Wochen Routine" [ "Projekte durchgehen" ]
|
|
||||||
, defSimpleList
|
|
||||||
"Tee kochen"
|
|
||||||
[ "Wasser filtern"
|
|
||||||
, "Wasser kochen"
|
|
||||||
, "Wasser aufgießen"
|
|
||||||
, "Teebeutel entnehmen"
|
|
||||||
, "Neues Wasser filtern"
|
|
||||||
]
|
|
||||||
, defList
|
|
||||||
"Morgen Routine"
|
|
||||||
[ simpleTask "Wiegen"
|
|
||||||
, simpleTask "Podcast anmachen"
|
|
||||||
, simpleTask "Anziehen"
|
|
||||||
, types.DefinitionElement.ConfigList
|
|
||||||
{ name = "Tee kochen", limit = None Natural }
|
|
||||||
, simpleTask "Zähne Putzen"
|
|
||||||
, simpleTask "Rasieren"
|
|
||||||
, simpleTask "Frühstücken"
|
|
||||||
]
|
|
||||||
]
|
|
||||||
, uiFeatures = { sortInTag = False, treeOption = types.TreeOption.NoTree }
|
|
||||||
, viewList =
|
|
||||||
[ confWid "Task Baum", confWid "Orga Routine", confWid "Morgen Routine" ]
|
|
||||||
}
|
|
1
home-manager/roles/kassandra/uiConfig.dhall
Symbolic link
1
home-manager/roles/kassandra/uiConfig.dhall
Symbolic link
|
@ -0,0 +1 @@
|
||||||
|
../../../private/kassandra-uiConfig.dhall
|
|
@ -34,7 +34,7 @@
|
||||||
"branch": "master",
|
"branch": "master",
|
||||||
"ref": "master",
|
"ref": "master",
|
||||||
"repo": "git@hera.m-0.eu:kassandra2",
|
"repo": "git@hera.m-0.eu:kassandra2",
|
||||||
"rev": "23a25a654dd571e64db80b1920fc6105b9628505",
|
"rev": "0f2e5ad6580f00029d2c18357dbaadb9528cc48e",
|
||||||
"type": "git"
|
"type": "git"
|
||||||
},
|
},
|
||||||
"logfeed": {
|
"logfeed": {
|
||||||
|
|
|
@ -12,6 +12,7 @@ in {
|
||||||
upterm = unstable.upterm;
|
upterm = unstable.upterm;
|
||||||
syncthing = unstable.syncthing;
|
syncthing = unstable.syncthing;
|
||||||
vimPlugins = unstable.vimPlugins;
|
vimPlugins = unstable.vimPlugins;
|
||||||
|
dhallPackages = unstable.dhallPackages;
|
||||||
fzf = unstable.fzf;
|
fzf = unstable.fzf;
|
||||||
matrix-synapse-tools.rust-synapse-compress-state = unstable.matrix-synapse-tools.rust-synapse-compress-state;
|
matrix-synapse-tools.rust-synapse-compress-state = unstable.matrix-synapse-tools.rust-synapse-compress-state;
|
||||||
}
|
}
|
||||||
|
|
2
private
2
private
|
@ -1 +1 @@
|
||||||
Subproject commit 4936a6fc7e714c182f355d246db0a085c0602a12
|
Subproject commit 5795136d2dd2a4619933e2a7a0a779e96ca81e5a
|
Loading…
Reference in a new issue