diff options
Diffstat (limited to 'home-manager/features/cli/apps')
| -rw-r--r-- | home-manager/features/cli/apps/khal.nix | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/home-manager/features/cli/apps/khal.nix b/home-manager/features/cli/apps/khal.nix new file mode 100644 index 0000000..0f94499 --- /dev/null +++ b/home-manager/features/cli/apps/khal.nix @@ -0,0 +1,52 @@ +{ + config, + lib, + pkgs, + ... +}: let + cfg = config.features.cli.apps.khal; + + mkCalendarPath = name: lib.concatStrings [ "~/Sync/.calendars/" name ]; +in { + options.features.cli.apps.khal.enable = lib.mkEnableOption "khal"; + config = lib.mkIf cfg.enable { + home.packages = [ pkgs.khal ]; + home.shellAliases = { + ka = "khal at"; + kc = "khal calendar"; + ke = "khal edit"; + ki = "khal interactive"; + kl = "khal list"; + kn = "khal new"; + kp = "khal printcalendars"; + ks = "khal search"; + }; + home.file."khal-config" = { + target = ".config/khal/config"; + text = '' + [default] + default_calendar = school + + [calendars] + [[personal]] + path = ${mkCalendarPath "personal"} + + [[school]] + path = ${mkCalendarPath "school"} + + [view] + frame = color + + [locale] + dateformat = %m/%d/%Y + datetimeformat = %m/%d/%Y %I:%M %p + firstweekday = 0 + longdateformat = %m/%d/%Y + longdatetimeformat = %m/%d/%Y %I:%M %p + timeformat = %I:%M %p + unicode_symbols = true + weeknumbers = off + ''; + }; + }; +} |
