{ 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"; }; }; # Push password-store changes to git systemd.user.services.password-store-push = { description = "Push password-store changes to git"; wantedBy = [ "default.target" ]; path = [ pkgs.pass-wayland pkgs.git pkgs.gitAndTools.pass-git-helper ]; script = "${pkgs.pass-wayland}/bin/pass git push"; serviceConfig.Type = "oneshot"; }; systemd.user.timers.password-store-push = { description = "Daily password-store git push"; wantedBy = [ "default.target" ]; timerConfig = { OnCalendar = "18:00:00"; Unit = "password-store-push.service"; }; }; }