programs.khal: Simplify calendar setup (#5073)

* programs.khal: fix build failure due to null value

* calendar: allow null value for primaryCollection

* calendar / programs.khal: set default values to avoid common errors
This commit is contained in:
7FM 2024-03-06 14:09:53 +01:00 committed by GitHub
parent 613384a511
commit 40c57ce052
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 9 additions and 6 deletions

View file

@ -18,12 +18,13 @@ let
type = mkOption {
type = types.enum [ "filesystem" "singlefile" ];
default = "filesystem";
description = "The type of the storage.";
};
fileExt = mkOption {
type = types.nullOr types.str;
default = null;
default = ".ics";
description = "The file extension to use.";
};
@ -98,7 +99,8 @@ let
};
primaryCollection = mkOption {
type = types.str;
type = types.nullOr types.str;
default = null;
description = ''
The primary collection of the account. Required when an
account has multiple collections.
@ -106,8 +108,8 @@ let
};
local = mkOption {
type = types.nullOr (localModule name);
default = null;
type = localModule name;
default = { };
description = ''
Local configuration for the calendar.
'';
@ -129,6 +131,7 @@ in {
options.accounts.calendar = {
basePath = mkOption {
type = types.str;
example = ".calendar";
apply = p:
if hasPrefix "/" p then p else "${config.home.homeDirectory}/${p}";
description = ''

View file

@ -5,8 +5,8 @@ with lib;
{
options.khal = {
type = mkOption {
type = types.nullOr (types.enum [ "calendar" "discover" ]);
default = null;
type = types.enum [ "calendar" "discover" ];
default = "calendar";
description = ''
Either a single calendar (calendar which is the default) or a directory with multiple calendars (discover).
'';