From 520313a733cd26dbd2692c2a8372aff1e1de657e Mon Sep 17 00:00:00 2001 From: triethyl Date: Sun, 2 Nov 2025 13:53:38 -0500 Subject: features: added calendar cli app --- home-manager/features/cli/apps/khal.nix | 52 +++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 home-manager/features/cli/apps/khal.nix (limited to 'home-manager/features/cli/apps') 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 + ''; + }; + }; +} -- cgit v1.2.3