aboutsummaryrefslogtreecommitdiffstats
path: root/modules/office/calcurse/default.nix
diff options
context:
space:
mode:
authorArpit Chakladar <arpitchakladar+git@gmail.com>2026-09-02 01:13:38 +0530
committerArpit Chakladar <arpitchakladar+git@gmail.com>2026-09-02 01:13:38 +0530
commite61d4b9a561893ad1cc4220fa319b1d25287048a (patch)
treedb3e975baba569cab4171bcaeee04e906ef01bb1 /modules/office/calcurse/default.nix
parent2d3f222078fa5d569842a2e9fd316da1e566a7af (diff)
downloadhome-manager-config-e61d4b9a561893ad1cc4220fa319b1d25287048a.tar.gz
home-manager-config-e61d4b9a561893ad1cc4220fa319b1d25287048a.zip
feat(office/calcurse): wrapped calcurse with PAGER=nvim, todos show completed
- using nvim as the pager for calcurse, seems to work better - now completed todos also appear in the todos section just at the bottom
Diffstat (limited to 'modules/office/calcurse/default.nix')
-rw-r--r--modules/office/calcurse/default.nix22
1 files changed, 18 insertions, 4 deletions
diff --git a/modules/office/calcurse/default.nix b/modules/office/calcurse/default.nix
index 619ee23..6de00cc 100644
--- a/modules/office/calcurse/default.nix
+++ b/modules/office/calcurse/default.nix
@@ -5,25 +5,39 @@
pkgs,
...
}:
+let
+ calcursePackage =
+ if config.development.nixvim.enable then
+ pkgs.symlinkJoin {
+ name = "calcurse-wrapped";
+ paths = [ pkgs.calcurse ];
+ nativeBuildInputs = [ pkgs.makeWrapper ];
+ postBuild = ''
+ wrapProgram $out/bin/calcurse --set PAGER "nvim"
+ '';
+ meta = pkgs.calcurse.meta // {
+ mainProgram = "calcurse";
+ };
+ }
+ else
+ pkgs.calcurse;
+in
{
options.office.calcurse = {
enable = lib.mkEnableOption "Enables calcurse.";
package = lib.mkOption {
type = lib.types.package;
readOnly = true;
- default = pkgs.calcurse;
+ default = calcursePackage;
description = "The calcurse package to use.";
};
};
-
config = lib.mkIf config.office.calcurse.enable {
home.packages = [ config.office.calcurse.package ];
-
xdg.configFile."calcurse/conf" = {
source = ./conf;
force = true;
};
-
xdg.configFile."calcurse/keys" = {
source = ./keys;
force = true;