hammerspoon config & drop taskwarrior
This commit is contained in:
parent
d0930f097a
commit
c762b6bb81
6 changed files with 291 additions and 86 deletions
66
home/dot_hammerspoon/executable_git-sync.sh
Normal file
66
home/dot_hammerspoon/executable_git-sync.sh
Normal file
|
@ -0,0 +1,66 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
REPO_PATH="$1"
|
||||||
|
REMOTE_NAME="$2"
|
||||||
|
COMMIT_MESSAGE_TEMPLATE="$3"
|
||||||
|
|
||||||
|
cd "$REPO_PATH" || {
|
||||||
|
echo "Error: Cannot access repository at $REPO_PATH"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
if ! git rev-parse --git-dir > /dev/null 2>&1; then
|
||||||
|
echo "Error: Not a git repository"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sync_repo() {
|
||||||
|
echo "Starting git sync for $(pwd)"
|
||||||
|
|
||||||
|
# Check if there are any changes to commit
|
||||||
|
if [[ -n $(git status --porcelain) ]]; then
|
||||||
|
echo "Changes detected, committing..."
|
||||||
|
COMMIT_MESSAGE=$(eval echo "\"$COMMIT_MESSAGE_TEMPLATE\"")
|
||||||
|
git add .
|
||||||
|
git commit -m "$COMMIT_MESSAGE"
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "Changes committed successfully"
|
||||||
|
else
|
||||||
|
echo "Error committing changes"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "No changes to commit"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Fetch and pull from remote
|
||||||
|
echo "Fetching from remote..."
|
||||||
|
git fetch "$REMOTE_NAME"
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "Pulling changes..."
|
||||||
|
git pull "$REMOTE_NAME" $(git branch --show-current) --rebase
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "Pull completed successfully"
|
||||||
|
else
|
||||||
|
echo "Error during pull"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "Error fetching from remote"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Push to remote
|
||||||
|
echo "Pushing to remote..."
|
||||||
|
git push "$REMOTE_NAME" $(git branch --show-current)
|
||||||
|
if [[ $? -eq 0 ]]; then
|
||||||
|
echo "Push completed successfully"
|
||||||
|
else
|
||||||
|
echo "Error during push"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Git sync completed successfully"
|
||||||
|
}
|
||||||
|
|
||||||
|
sync_repo
|
156
home/dot_hammerspoon/init.lua.tmpl
Normal file
156
home/dot_hammerspoon/init.lua.tmpl
Normal file
|
@ -0,0 +1,156 @@
|
||||||
|
local preloadView = hs.webview.new({x=0, y=0, w=10, h=10}):html("<html></html>")
|
||||||
|
preloadView:hide()
|
||||||
|
hs.timer.doAfter(2, function() preloadView:delete() end) -- delete after 2 seconds
|
||||||
|
|
||||||
|
local GitSync = {}
|
||||||
|
|
||||||
|
GitSync.config = {
|
||||||
|
repoPath = "/Users/matthew.dillon/notebook",
|
||||||
|
remoteName = "pingo",
|
||||||
|
syncInterval = 60,
|
||||||
|
commitMessage = "Auto-sync: $(date +\"%Y-%m-%d %H:%M:%S\") from $(hostname)"
|
||||||
|
}
|
||||||
|
|
||||||
|
GitSync.scriptPath = os.getenv("HOME") .. "/.hammerspoon/git-sync.sh"
|
||||||
|
|
||||||
|
GitSync.timer = nil
|
||||||
|
|
||||||
|
GitSync.caffeineWatcher = nil
|
||||||
|
|
||||||
|
function GitSync.runSync(reason)
|
||||||
|
reason = reason or "periodic"
|
||||||
|
print("Git sync triggered: " .. reason)
|
||||||
|
|
||||||
|
local task = hs.task.new(GitSync.scriptPath, function(exitCode, stdOut, stdErr)
|
||||||
|
if exitCode == 0 then
|
||||||
|
print("Git sync completed successfully (" .. reason .. ")")
|
||||||
|
if stdOut and stdOut ~= "" then
|
||||||
|
print("Output: " .. stdOut)
|
||||||
|
end
|
||||||
|
else
|
||||||
|
print("Git sync failed (" .. reason .. ") with exit code: " .. exitCode)
|
||||||
|
if stdErr and stdErr ~= "" then
|
||||||
|
print("Error: " .. stdErr)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end, {
|
||||||
|
GitSync.config.repoPath,
|
||||||
|
GitSync.config.remoteName,
|
||||||
|
GitSync.config.commitMessage
|
||||||
|
})
|
||||||
|
|
||||||
|
task:start()
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.startPeriodicSync()
|
||||||
|
if GitSync.timer then
|
||||||
|
GitSync.timer:stop()
|
||||||
|
end
|
||||||
|
|
||||||
|
GitSync.timer = hs.timer.doEvery(GitSync.config.syncInterval, function()
|
||||||
|
GitSync.runSync("periodic")
|
||||||
|
end)
|
||||||
|
|
||||||
|
print("Git periodic sync started (interval: " .. GitSync.config.syncInterval .. " seconds)")
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.stopPeriodicSync()
|
||||||
|
if GitSync.timer then
|
||||||
|
GitSync.timer:stop()
|
||||||
|
GitSync.timer = nil
|
||||||
|
print("Git periodic sync stopped")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.handlePowerEvent(eventType)
|
||||||
|
if eventType == hs.caffeinate.watcher.systemWillSleep then
|
||||||
|
print("System going to sleep, running git sync...")
|
||||||
|
GitSync.runSync("pre-sleep")
|
||||||
|
elseif eventType == hs.caffeinate.watcher.systemDidWake then
|
||||||
|
print("System woke up, running git sync...")
|
||||||
|
-- Add a small delay to ensure network is available
|
||||||
|
hs.timer.doAfter(5, function()
|
||||||
|
GitSync.runSync("post-wake")
|
||||||
|
end)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.startPowerEventMonitoring()
|
||||||
|
GitSync.caffeineWatcher = hs.caffeinate.watcher.new(GitSync.handlePowerEvent)
|
||||||
|
GitSync.caffeineWatcher:start()
|
||||||
|
print("Git power event monitoring started")
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.stopPowerEventMonitoring()
|
||||||
|
if GitSync.caffeineWatcher then
|
||||||
|
GitSync.caffeineWatcher:stop()
|
||||||
|
GitSync.caffeineWatcher = nil
|
||||||
|
print("Git power event monitoring stopped")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.start()
|
||||||
|
GitSync.startPeriodicSync()
|
||||||
|
GitSync.startPowerEventMonitoring()
|
||||||
|
|
||||||
|
GitSync.runSync("initial")
|
||||||
|
|
||||||
|
print("Git auto-sync initialized")
|
||||||
|
print("Repository: " .. GitSync.config.repoPath)
|
||||||
|
print("Remote: " .. GitSync.config.remoteName)
|
||||||
|
print("Sync interval: " .. GitSync.config.syncInterval .. " seconds")
|
||||||
|
end
|
||||||
|
|
||||||
|
function GitSync.stop()
|
||||||
|
GitSync.stopPeriodicSync()
|
||||||
|
GitSync.stopPowerEventMonitoring()
|
||||||
|
print("Git auto-sync stopped")
|
||||||
|
end
|
||||||
|
|
||||||
|
GitSync.start()
|
||||||
|
|
||||||
|
if hs.menubar then
|
||||||
|
GitSync.menubar = hs.menubar.new()
|
||||||
|
GitSync.menubar:setTitle("🦖")
|
||||||
|
GitSync.menubar:setTooltip("Git Auto-Sync")
|
||||||
|
GitSync.menubar:setMenu({
|
||||||
|
{ title = "Sync Now", fn = function() GitSync.runSync("manual") end },
|
||||||
|
{ title = "Start Auto-Sync", fn = GitSync.start },
|
||||||
|
{ title = "Stop Auto-Sync", fn = GitSync.stop },
|
||||||
|
{ title = "-" },
|
||||||
|
{ title = "Repository: " .. GitSync.config.repoPath, disabled = true }
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
-- Make GitSync available globally for console access
|
||||||
|
_G.GitSync = GitSync
|
||||||
|
|
||||||
|
local filePath = "/Users/matthew.dillon/notebook/inbox.md"
|
||||||
|
|
||||||
|
hs.hotkey.bind({"cmd", "shift"}, "J", function()
|
||||||
|
local button, text = hs.dialog.textPrompt(
|
||||||
|
"Add To-Do",
|
||||||
|
"Enter your tasks (one per line):",
|
||||||
|
"",
|
||||||
|
"OK",
|
||||||
|
"Cancel"
|
||||||
|
)
|
||||||
|
if button == "OK" and text ~= "" then
|
||||||
|
-- Split input into lines
|
||||||
|
local lines = {}
|
||||||
|
for line in text:gmatch("[^\r\n]+") do
|
||||||
|
table.insert(lines, "- [ ] " .. line)
|
||||||
|
end
|
||||||
|
-- Concatenate lines with newlines
|
||||||
|
local formatted = table.concat(lines, "\n") .. "\n"
|
||||||
|
-- Append to file
|
||||||
|
local file = io.open(filePath, "a")
|
||||||
|
if file then
|
||||||
|
file:write(formatted)
|
||||||
|
file:close()
|
||||||
|
hs.alert.show("Tasks added!")
|
||||||
|
else
|
||||||
|
hs.alert.show("Failed to open file.")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end)
|
|
@ -1,65 +1,65 @@
|
||||||
-----BEGIN AGE ENCRYPTED FILE-----
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBWTnpXNllPa2JmNGY5QXFL
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBzbFpuVTQxckd0NFRhVTU5
|
||||||
K3hGd3NQTTJXQ2x1WFFwdjdwbDJES1IrRWlvCmVUNE9WWHNQbU9YdjhjT01aSUhL
|
NjA5NUJJQko0aFJUeDNvVm52SHR2U3FBVkQwClRYY2sxUzFPQm5MaUozM0IyeDds
|
||||||
eEVvNnRUM3UxYmo1bkVSZHN1YTAxUFUKLS0tIGpveWd0RkRyS2FSMW9rREFhRGx3
|
TkRaN1VhQkUzaU1lSVljS3JNRDcvSnMKLS0tIENoQTM3VWpZVnNwZnZnLytEbURE
|
||||||
VHAxcWJWYVF3Nlc1dUlRR3dHdjNXaWMKzj2pT5MhWvBwXplqgbJ2hcXhxNoKDRUa
|
VVVqcURtSWdTMCtVSk5ET0tTeGVzZ1EKnyvWVnGxA8tCO/6bsC1ViKWft69Bym0+
|
||||||
jKlUepKkG6/V74cSaAOCez7hgKRhQlvGS/JLTY3kHgtcKYgHQZyBqRcjgw8CZdKI
|
AelFEQuZHP379i2nzvv/gGcSXftajV94euTFEUds7bSUU/euPFc3MAClOb30rSP+
|
||||||
bDOA0Zg4Uss/kFSPgAKkcHn+/1CqUXDO6dG+FfuE20N7ecB+//jmq6UUAFzpC+Kd
|
NWACnZ37FdsQf6vunFlDko8dUeOSVMjUUxQ706b1EXHq4DtJzUsOcrvS1VHSemQq
|
||||||
tcHl3MlmyZPtiBjoIvDd4N6DaNAVnRchEuHeUn2ekwZBNT+Oqm/zf9Ht44A7Nb/J
|
FLBhW/fu2NRipJm5kdUpaUQHAODP7jeOjvxkbT0erHsdwWwEbqXNAMO32X546w0/
|
||||||
AJPq1TQvn1NlXQhZxPGdyOTMPH2YHHqOFrLsSuHlAs86gS85oXLILTb0cVFou4Vw
|
UeRHZQ0UGderh6Kl9AnWj843laOxYQzSTCmvTKlL00Lp44sV9Mf9aRL908V66gy4
|
||||||
jcHTiV0dCxXTyPKLmXA9+pnoyzAx/wqoRK5/rsL8eIj9mz8GObHBWseh+kZKqvEI
|
KUGbxsOFw3BaRBHp9mXjPrYEUG8hHhtTjkxgFHHqfTmhD+jOoR80k7NFcmM9J0It
|
||||||
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
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
|
|
@ -3,9 +3,11 @@ name = {{ .name | quote }}
|
||||||
email = {{ .email_personal | quote }}
|
email = {{ .email_personal | quote }}
|
||||||
|
|
||||||
[git]
|
[git]
|
||||||
push-bookmark-prefix = "{{ .github_personal }}_jj_"
|
|
||||||
private-commits = "description(glob:'private:*') | bookmarks('merge')"
|
private-commits = "description(glob:'private:*') | bookmarks('merge')"
|
||||||
|
|
||||||
|
[templates]
|
||||||
|
git_push_bookmark = '"{{ .github_personal }}_jj_" ++ change_id.short()'
|
||||||
|
|
||||||
[colors]
|
[colors]
|
||||||
"diff removed token" = { fg = "red", underline = false }
|
"diff removed token" = { fg = "red", underline = false }
|
||||||
"diff added token" = { fg = "green", underline = false }
|
"diff added token" = { fg = "green", underline = false }
|
||||||
|
@ -22,5 +24,5 @@ diff-formatter = ":git"
|
||||||
--when.repositories = ["~/Klaviyo", "~/.klaviyocli"]
|
--when.repositories = ["~/Klaviyo", "~/.klaviyocli"]
|
||||||
[--scope.user]
|
[--scope.user]
|
||||||
email = {{ .email_work | quote }}
|
email = {{ .email_work | quote }}
|
||||||
[--scope.git]
|
[--scope.templates]
|
||||||
push-bookmark-prefix = "2025_{{ .github_work }}_jj_"
|
git_push_bookmark = '"2025_{{ .github_work }}_jj_" ++ change_id.short()'
|
||||||
|
|
|
@ -1,18 +0,0 @@
|
||||||
data.location={{ .chezmoi.homeDir }}/.task
|
|
||||||
news.version=3.4.1
|
|
||||||
|
|
||||||
# must be specified bc taskrc not in default ~/.taskrc location
|
|
||||||
data.location=~/.local/share/task
|
|
||||||
hooks.location=~/.config/task/hooks
|
|
||||||
|
|
||||||
include solarized-dark-256.theme
|
|
||||||
|
|
||||||
report.list.columns=id,start.age,depends.indicator,priority,project,tags,recur.indicator,scheduled.countdown,due,until.remaining,description.count
|
|
||||||
report.list.labels=id,active,d,p,project,tags,r,sch,due,until,description
|
|
||||||
|
|
||||||
report.next.columns=id,start.age,depends,priority,project,tags,recur,scheduled.countdown,due.relative,until.remaining,description
|
|
||||||
report.next.labels=id,active,deps,p,project,tag,recur,s,due,until,description
|
|
||||||
|
|
||||||
sync.server.url={{ .task_url }}
|
|
||||||
sync.server.client_id={{ .task_client_id }}
|
|
||||||
sync.encryption_secret={{ .task_encryption_secret }}
|
|
|
@ -18,6 +18,7 @@ brew install \
|
||||||
glow \
|
glow \
|
||||||
go \
|
go \
|
||||||
golangci-lint \
|
golangci-lint \
|
||||||
|
hammerspoon \
|
||||||
helix \
|
helix \
|
||||||
inlyne \
|
inlyne \
|
||||||
jj \
|
jj \
|
||||||
|
@ -29,8 +30,6 @@ brew install \
|
||||||
presenterm \
|
presenterm \
|
||||||
ripgrep \
|
ripgrep \
|
||||||
sqlite \
|
sqlite \
|
||||||
task \
|
|
||||||
taskwarrior-tui \
|
|
||||||
tree \
|
tree \
|
||||||
watch \
|
watch \
|
||||||
wget \
|
wget \
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue