{ config, lib, pkgs, ... }: { # Upgrade Doom Emacs daily systemd.user.services.doom-upgrade = { description = "Upgrade Doom Emacs"; wantedBy = [ "default.target" ]; path = [ pkgs.emacs pkgs.git ]; serviceConfig = { Type = "oneshot"; ExecStart = "/bin/sh /home/coolneng/.emacs.d/bin/doom -y upgrade ; /bin/sh /home/coolneng/.emacs.d/bin/doom -y sync -u"; }; }; systemd.user.timers.doom-upgrade = { description = "Daily upgrade of Doom Emacs"; wantedBy = [ "default.target" ]; timerConfig = { OnCalendar = "20:00:00"; Unit = "doom-upgrade.service"; }; }; # Clean up Doom Emacs monthly systemd.user.services.doom-purge = { description = "Purge Doom Emacs"; wantedBy = [ "default.target" ]; path = [ pkgs.emacs ]; serviceConfig = { Type = "oneshot"; ExecStart = "/bin/sh /home/coolneng/.emacs.d/bin/doom purge"; }; }; systemd.user.timers.doom-purge = { description = "Monthly purge of Doom Emacs"; wantedBy = [ "default.target" ]; timerConfig = { OnCalendar = "13 22:00:00"; Unit = "doom-purge.service"; }; }; # Upgrade Neovim plugins weekly systemd.user.services.vim-plug-upgrade = { description = "Upgrade Vim-Plug"; wantedBy = [ "default.target" ]; path = [ pkgs.git pkgs.neovim ]; serviceConfig = { Type = "oneshot"; ExecStart = "${pkgs.neovim}/bin/nvim +PlugUpgrade +PlugUpdate +qa"; }; }; systemd.user.timers.vim-plug-upgrade = { description = "Weekly upgrade of Vim-Plug"; wantedBy = [ "default.target" ]; timerConfig = { OnCalendar = "Wed 18:00:00"; Unit = "vim-plug-upgrade.service"; }; }; }