programs.khal: add "addresses" option + tidy up (#5221)
- Add `accounts.<calendar|contact>.accounts.<name>.khal.addresses` option to enable new configuration option, "addresses", from khal, which is used for showing participation status [1]. - Remove mistaken new line in khal implementation, refer to [2]. - Make additions to the existing test case to check the new addresses feature. And remove the empty lines in expected configs. [1]: https://khal.readthedocs.io/en/latest/configure.html#the-calendars-section [2]: https://github.com/nix-community/home-manager/pull/5192#pullrequestreview-1975091763
This commit is contained in:
parent
1ffd393cba
commit
782eed8bb6
|
@ -31,5 +31,14 @@ with lib;
|
||||||
Priority of a calendar used for coloring (calendar with highest priority is preferred).
|
Priority of a calendar used for coloring (calendar with highest priority is preferred).
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
addresses = mkOption {
|
||||||
|
type = types.listOf types.str;
|
||||||
|
default = [ ];
|
||||||
|
description = ''
|
||||||
|
Email addresses to be associated with this account. Used to check the
|
||||||
|
participation status ("PARTSTAT"), refer to khal documentation.
|
||||||
|
'';
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,8 +45,10 @@ let
|
||||||
+ (optionalString
|
+ (optionalString
|
||||||
(value.khal.type == "birthdays" && value.khal ? thisCollection)
|
(value.khal.type == "birthdays" && value.khal ? thisCollection)
|
||||||
value.khal.thisCollection)
|
value.khal.thisCollection)
|
||||||
}\n "
|
}"
|
||||||
] ++ optional (value.khal.readOnly) "readonly = True"
|
] ++ optional (value.khal.readOnly) "readonly = True"
|
||||||
|
++ optional (value.khal.addresses != [ ])
|
||||||
|
"addresses= ${lib.concatStringsSep ", " value.khal.addresses}"
|
||||||
++ optional (value.khal.color != null) "color = '${value.khal.color}'"
|
++ optional (value.khal.color != null) "color = '${value.khal.color}'"
|
||||||
++ [ (toKeyValueIfDefined (getAttrs [ "type" "priority" ] value.khal)) ]
|
++ [ (toKeyValueIfDefined (getAttrs [ "type" "priority" ] value.khal)) ]
|
||||||
++ [ "\n" ]);
|
++ [ "\n" ]);
|
||||||
|
|
|
@ -30,6 +30,34 @@
|
||||||
url = "https://example.com/events.ical";
|
url = "https://example.com/events.ical";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
testWithAddresss = {
|
||||||
|
khal = {
|
||||||
|
enable = true;
|
||||||
|
addresses = [ "john.doe@email.com" ];
|
||||||
|
};
|
||||||
|
local = {
|
||||||
|
type = "filesystem";
|
||||||
|
fileExt = ".ics";
|
||||||
|
};
|
||||||
|
remote = {
|
||||||
|
type = "http";
|
||||||
|
url = "https://example.com/events.ical";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
testWithMultipleAddresss = {
|
||||||
|
khal = {
|
||||||
|
enable = true;
|
||||||
|
addresses = [ "john.doe@email.com" "another.brick@on.the.wall" ];
|
||||||
|
};
|
||||||
|
local = {
|
||||||
|
type = "filesystem";
|
||||||
|
fileExt = ".ics";
|
||||||
|
};
|
||||||
|
remote = {
|
||||||
|
type = "http";
|
||||||
|
url = "https://example.com/events.ical";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
[calendars]
|
[calendars]
|
||||||
[[test]]
|
[[test]]
|
||||||
path = /home/hm-user/$XDG_CONFIG_HOME/cal/test/
|
path = /home/hm-user/$XDG_CONFIG_HOME/cal/test/
|
||||||
|
|
||||||
readonly = True
|
readonly = True
|
||||||
color = '#ff0000'
|
color = '#ff0000'
|
||||||
priority=10
|
priority=10
|
||||||
|
@ -9,9 +8,24 @@ type=calendar
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[testWithAddresss]]
|
||||||
|
path = /home/hm-user/$XDG_CONFIG_HOME/cal/testWithAddresss/
|
||||||
|
addresses= john.doe@email.com
|
||||||
|
priority=10
|
||||||
|
type=calendar
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
[[testWithMultipleAddresss]]
|
||||||
|
path = /home/hm-user/$XDG_CONFIG_HOME/cal/testWithMultipleAddresss/
|
||||||
|
addresses= john.doe@email.com, another.brick@on.the.wall
|
||||||
|
priority=10
|
||||||
|
type=calendar
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[[testcontacts-automaticallyCollected]]
|
[[testcontacts-automaticallyCollected]]
|
||||||
path = /home/hm-user/$XDG_CONFIG_HOME/card/testcontacts/automaticallyCollected
|
path = /home/hm-user/$XDG_CONFIG_HOME/card/testcontacts/automaticallyCollected
|
||||||
|
|
||||||
priority=10
|
priority=10
|
||||||
type=birthdays
|
type=birthdays
|
||||||
|
|
||||||
|
@ -19,7 +33,6 @@ type=birthdays
|
||||||
|
|
||||||
[[testcontacts-default]]
|
[[testcontacts-default]]
|
||||||
path = /home/hm-user/$XDG_CONFIG_HOME/card/testcontacts/default
|
path = /home/hm-user/$XDG_CONFIG_HOME/card/testcontacts/default
|
||||||
|
|
||||||
priority=10
|
priority=10
|
||||||
type=birthdays
|
type=birthdays
|
||||||
|
|
||||||
|
@ -27,7 +40,6 @@ type=birthdays
|
||||||
|
|
||||||
[[testcontactsNoCollections]]
|
[[testcontactsNoCollections]]
|
||||||
path = /home/hm-user/$XDG_CONFIG_HOME/card/testcontactsNoCollections/
|
path = /home/hm-user/$XDG_CONFIG_HOME/card/testcontactsNoCollections/
|
||||||
|
|
||||||
priority=10
|
priority=10
|
||||||
type=birthdays
|
type=birthdays
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue