diff --git a/home-manager/modules/obsidian.nix b/home-manager/modules/obsidian.nix new file mode 100644 index 0000000..d802ecd --- /dev/null +++ b/home-manager/modules/obsidian.nix @@ -0,0 +1,32 @@ +{ user, pkgs, ... }: +let + vaultDir = "/home/${user}/para"; + gitSyncObsidian = pkgs.writeScriptBin "git-sync-obsidian" '' + #!/bin/sh + + VAULT_DIR="${vaultDir}" + cd "$VAULT_DIR" || exit 1 + git add . + git commit -m "$(date '+%Y-%m-%d %H:%M:%S')" || exit 0 + ''; +in { + home.packages = [ gitSyncObsidian ]; + + systemd.user.services.git-sync-obsidian = { + Unit.Description = "Commit Obsidian Vault changes with git"; + Service = { + ExecStart = "${gitSyncObsidian}/bin/git-sync-obsidian"; + Type = "simple"; + }; + Install.WantedBy = [ "timers.target" ]; + }; + + systemd.user.timers.git-sync-obsidian = { + Unit.Description = "Run Git Sync for Obsidian Vault"; + Timer = { + OnCalendar = "*:0/15"; + Persistent = true; + }; + Install.WantedBy = [ "timers.target" ]; + }; +}