33 lines
774 B
Nix
33 lines
774 B
Nix
{ pkgs, ... }:
|
|
|
|
let
|
|
name = "kitaab-sync";
|
|
# Note this will fail if index.wiki is open in vim while this runs
|
|
mkStartScript = name: pkgs.writeShellScript "${name}.sh" ''
|
|
set -euo pipefail
|
|
PATH=/run/current-system/sw/bin:/etc/profiles/per-user/anish/bin:
|
|
cd /home/anish/kitaab
|
|
vimwiki tags rebuild
|
|
git add -A
|
|
git diff-index --quiet HEAD || git commit -m 'syncing kitaab' # if nothing, don't exit 1
|
|
git push
|
|
exit 0
|
|
'';
|
|
in
|
|
{
|
|
systemd.user.services.kitaab-sync = {
|
|
Service = {
|
|
ExecStart = "${mkStartScript name}";
|
|
};
|
|
};
|
|
systemd.user.timers.kitaab-sync = {
|
|
Install = {
|
|
WantedBy = [ "timers.target" ];
|
|
PartOf = [ "kitaab-sync.service" ];
|
|
};
|
|
Timer = {
|
|
OnCalendar = [ "hourly" ];
|
|
};
|
|
};
|
|
}
|