{ config, lib, pkgs, ... }: { # Upgrade Doom Emacs daily systemd.user.services.doom-upgrade = { description = "Upgrade Doom Emacs"; wantedBy = [ "default.target" ]; path = with pkgs; [ bash emacsPgtkGcc git coreutils ]; script = '' ${pkgs.bash}/bin/bash -c "/home/coolneng/.emacs.d/bin/doom -y upgrade" ${pkgs.bash}/bin/bash -c "/home/coolneng/.emacs.d/bin/doom sync" ''; serviceConfig = { Type = "oneshot"; }; }; systemd.user.timers.doom-upgrade = { description = "Daily upgrade of Doom Emacs"; wantedBy = [ "default.target" ]; timerConfig = { OnCalendar = "22:00:00"; Unit = "doom-upgrade.service"; }; }; # Clean up Doom Emacs monthly systemd.user.services.doom-purge = { description = "Purge Doom Emacs"; wantedBy = [ "default.target" ]; path = with pkgs; [ bash emacsPgtkGcc git coreutils ]; script = '' ${pkgs.bash}/bin/bash -c "/home/coolneng/.emacs.d/bin/doom -y purge" ''; serviceConfig = { Type = "oneshot"; }; }; 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 ]; script = "${pkgs.neovim}/bin/nvim +PlugUpgrade +PlugUpdate +qa"; serviceConfig = { Type = "oneshot"; }; }; 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"; }; }; }