{ config, inputs, lib, pkgs, ... }: { config.my.scripts.update-org-agenda-cache = let user = inputs.self.lib.getFirstUser config.my.emacs.users; emacsPackage = config.home-manager.users.${user}.programs.doom-emacs.finalEmacsPackage; in { enable = lib.mkDefault false; install = config.my.emacs.enable; service = config.my.emacs.enable; name = "update-org-agenda-cache"; timer = "*:0/30"; description = "runs a function which builds a cache file."; package = pkgs.writeScriptBin "update-org-agenda-cache" '' #!/usr/bin/env nix-shell #! nix-shell -i bash -p bash ${emacsPackage}/bin/emacsclient --eval '(my/update-org-agenda-cache)' ''; }; }