From 7f09b9fab440926393a5cc0aaef6c2da20d7e6a3 Mon Sep 17 00:00:00 2001 From: Matthew Ryan Dillon Date: Sun, 14 Sep 2025 09:21:38 -0400 Subject: [PATCH] misc edits --- home/bin/encrypted_executable_kwork.sh.age | 77 ++++----- home/dot_hammerspoon/executable_git-sync.sh | 66 -------- home/dot_hammerspoon/init.lua.tmpl | 156 ------------------ home/encrypted_dot_zshklaviyo.age | 173 ++++++++++---------- home/run_once_01install-packages.sh.tmpl | 1 - 5 files changed, 127 insertions(+), 346 deletions(-) delete mode 100644 home/dot_hammerspoon/executable_git-sync.sh delete mode 100644 home/dot_hammerspoon/init.lua.tmpl diff --git a/home/bin/encrypted_executable_kwork.sh.age b/home/bin/encrypted_executable_kwork.sh.age index e841c61..e03f6f5 100644 --- a/home/bin/encrypted_executable_kwork.sh.age +++ b/home/bin/encrypted_executable_kwork.sh.age @@ -1,40 +1,41 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXUUU4cUdkaUlwYTd1aFpl -dlBRZUgrMzJ0RmE0VUpNMW9DQ1ArVDJ0NjFFCmRvNkNjU3crbktoc1l6bjJpVUl4 -M2NwWm9BdUhVaUZ2cHFhSWFTVVZYa00KLS0tIE5TQkw3aHl6TEoraXl0WThOS1ln -YzdpbldkcTRjeGNYSzV3YXVGR0pQYlEK59pMsvBsL7rw7yTfTAD244/jRr7orREM -4F6SjSc/8UqoaXa0F5aoQkUSj3HJ0OD4FV6/Ge//5Zn8h8Cv3nWIF1hQF8iweJXJ -U1RQSgnZlZuPpMVJw0/po8n9Sq6PtgEvENT3Ut42IosaJF4w9wVfAevnZgx6w3kM -x4VYGP1VfYIYQrwSD1ljgRNhiNWrUW0pNnUQ6eBsrPJlxsnhNw3TznYRMywY78uM -fcLn0MvyrNCBS7YTu14fDJdv5It67aatvsB0Z33srsOXsSWkN1Y8tCVw3WpkIAZN -KMwFOExFe01N9AixYQmZ1kCU58kGmNRvur8667mvtKMLZCltXHrPXgjDs7BHQs3S -Q0SBUacmKjsLB3XciMOTYoP3FQYBq7fUa2JxGq7LVzt7IYUvc8eo3AzCOHu4x2de -XAs3Kwy/V/6uZH3dY3Wk/n9RTc0A3KcUdhwgtSXzWLAQVcQvLytYWzpJcsGtldDG -iaUuWYI3grWIE0CGeAIzSy0ARZKztlL6xYZQqaAmG0aSt5gsIzoTOfsa7JfW3NzP -opjNXXBqmiJfigWy7cxT9FxvlJ6tBlSwuaGAm25HGVqDuqZ6W/C2y8wLYPuWmGYA -a7Of4KxVpVy3pRaQzk0rfJqInKgatUdW/Qx72WCMxe9CI5XDl/SWD/502gcPiMjN -bPlJvmCKeyN9kebhooi0kMm4zQypyTfan/P9nfKUIMClCqNVzlHMxYr8xAEpvSOT -gXUjA8QtGIG2LtRI7GiKYA6NSIT+UylrPd99HykoSeeRZisvnay0lFqxnI0pzwqV -esOG4+g55kgOp4GBOu4DlpBumgwTZeuBhxgeK0mt0zXcknyyRSHKdwiJ7K5IrD40 -uGS0d9koWQ5hD4aagOYywHgFkX5eFIs9j/HfO8pdTwoi7885WUOXn+mUn8/q0WA4 -spfVTlw49yYUBifYjOhcI1hbu5nNiVlJqDMJrRSMUWv17a/Eg2uNei6qZ9gs3rNs -4EnZGGUD1XEI51XnD3UV0Zn14BgTXHL+GHYSDn/RvXOltrHFllnRP6EnAZhKqfhZ -bpPckPIOIaM9TGXj6BRMtFLCza77sVhWbL5ZmbGjYLRKLXJByP3n7sIaAUjqP8Ul -3npKv3DSE/7G0p/IArmNBC8xE06qOuldOWo8c0K3aIpDFx9t4EZZhSDOqifiN3aE -awFGRv9DR8xqiOFPsVRbplYUE7tfvEK6uv1yF5Tk9rZCVXSX+exjgLN0d5DbC/1K -e1nTpVEaHJ3wumOWenFQuBms5dBCF6ygyZ+bY589vLCz0xAcOvWNNCBCAbia66gp -aAvNwh2UdxcGA3WFzkRYciaXtrIkQsKahGFNRuSopp1OF+w0RdLBqgiDeBP4BsP3 -6jRY4EUhJkcfTw+S5VxH64pp2eWLQQVRdN7SMPj3e/MpeJ8xPdhwKBFAGf4UEE2d -8LvSmrYiC9Jj7rdyDHL2mjUtn0CZ/0XiHImA4/s0G2UlTtwmO/Jq4zFGtOF26tvD -p6C4Q7/qWXJTFdy9Fw/IgYlC5QgViaYVziOPAgzlYlhVHLE6xoEjUmU2SUQZJW+t -STeYdMvBWdyV9eXljOD+i7YaQpIkDySTEDM1p7duuL/AlWkF+Yv6gwYumUXiS8au -BTPT1MRVh+NWfIypNtZnAlwZjSyAuDv3+wZnJ5NtloOtx5BtS5sK4RDMWmzDScnX -XrEtYyBcmqZW0bOc5QgrBUwtJWQzWXP9HRqI5qOvwZ/moAZ71zwmpY8kUcDDAk9M -SMBhD0o79I10EgNKalLnNqfnbTF0d46q4Lf3lsIJsBPZ4FsY891LDH5X2fRP6LHA -Dm9tA9GgXSuwZIKVGVHF4MUlTdQEyySUeXlZdqPfVjNUjA5aC3Wc0nNShmDH8erS -gSv6pNLZBfiXdzQCCfscb21abwKG2PFYuWlDWG0g+WkToh8E/miZy9/UeOmSKpSA -1RazjtBiCJzKuzAyfmD+SCOmNo7AiVMDHJGug5mJQRvmAWbq7A6qwFmHwEjcWs+I -8/9bpcSPIIRrHrpK1JnvI+3vn/OQXeZYEcomgOXVSzWvCvljXTAl9C5Vz1TGnt9a -wx6mRbehoeKiuhqP++kGQkZGepdvKRVqsL1utf/nOgBbj86T/uYp07fX1B/XbRLC -WOOhdrGGewKiZodf4oObqPJQ9iGfwhR/U4s= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBpMzQ5MlhYT09rVmRTb3Nr +OUpyZTlqTUZOZlAwR01TWTg0THBQZUZtTzBZCjFxY3I5NXNIb2ZuUk0xbFVyMXpX +aC9iWm01bXNWZUVBRVdYdjRlb2ltV3MKLS0tIHJsbUo0WlNIK2dEcUhFOWNydlow +SXNzb05tSnAvUWloZVBOREdtdjNHMTQK3Zrd7C2sODbcZHN2ZF0C3sbD7zpEdY6V +O3bY1mPhIRd3mncob7DQuFVWv7Ih6XBnA7Fl6qQEN8JpwG5LGkgOWya/BVNwzTqr +kQXy5Zrp5o3/4/Je3hiXhRcxveHCs1FbLu02lCDiazRFsvsyxIY19f/Ba4H4D2LB +aYlK0vFZnepip+ZDCA3VCZfXgXDM/QTqwJmiZYKShF3P8px+cyr/YOa+D8uMioC5 +YH+X+/HapEmH/6f7whrIXhYJx+hQDXbfnk8/hOQyprGzXSYYUXpks+2ogFwy/75v +jd7MIEqxxlyDX13JoDVV2dU7mu4LB26npjLjwFpzkA+TRzhQO9RBSET+E4izmG+t +cTJii8E4N8dwqV2+cu+5i50Ab0JxvLG3+eQP+vPxi6A54wxSsXZW3WUFTtdlblHw ++l8U05TPBmmQlHJhS1Rb4GM496yjgDxBwB06oaYA43PeNBESUFHPxsSOzmrL2+lE +SWkohCw0L93VT98iRVMlHn0DGdJvxtr9rFBz1k7oKjJeDyKrGNbRFdpPwX84jG6w +jAz/G1eeHZAWU9K9FemwCyUlaN689F2Sz5NH16TW/flreJnjzQojy/Fwrv0IVX1D +kx1c3BjqwZDoTFp763j+gSiwhjucj2RR7beoGMCOZ8T0OyALNGzUHWbGLFaooUoO +koGWKFLtJ5Wz4J1nUTdczF0oBsnhqoh9z+Q7Xg6HgBmD04Klc0k1TYH1JfhZjB75 +EzQwzVGTwFZTGqdKbdksaH1SVWT9y6FQLCgSHklA5IocKgiqT/9ccKdwFZ8F2n4Q +1UhI/PhbrelCGqLSmztvwwHBGN5ANC3oB/BXIT23tF28jo1bC5eV87BS1h7/K/T2 +R24JZGzwTRSmtdIszbqFmz0LoJQueXP3bTOnaCyvgrjio+5i5gS0Uzw5ElGtqRvw +e+lqtVuMBn42E6uR/LHTgzUaxJmO+I9XmFIXvc/1ySRSyRBzV0Ij9Tb/opREJJGT +GXOjYq6qRmypRJ/tICgsZVcB3xuWhmSWsuDrfG6d+npujeJGbYzapxk8enoIFcxJ +WjbpOfg+CrSzrHgWhpm3Ye3ZEhFyKWf6/EVqsuE+X6fRVgzf6CqgTJQr3YvafQaG +iGv3pHYsfEavbkpLnSX2g/lcL2qqYgpF03PQJ3ck54khlQl2T+Bi478otTPYgT9/ +aljyqc+qKlVx4yn0WqgaB8eYfLWEL/OXaWo5lraQT0++4xPTjOTpsbsORM0J+XLt +DoQ20J7UGArjkHFfq22z1NKGxUVCzG+4WoKA5B8J0GJ0UQXLTCYvZEZEKsHqGGWM +5UI3uoEKpagrd8sPP+aGEXXQJfo4S09yc6/5O+VdAS1k4stHdzMCzaJulwCur8YG +JnJ3TwaoX0tp/PT7IXjNhmQsGHpjSptLAbDwoyHx2uZm/yd+zg2Rr6VtGkjlxe5q +rZQNg7raUCGQDIA8tvaGrJgqi7gxUjHRZXShSlK0gzJL88AyEu95ExNvd+AAnXzJ +c2x/zUtGHoNYpno3wELZ6oSbpgYnHVLrZRySm6Hf95kjPaSmhH+UBUO9Qd6lVGPu +E2ldl1iMS7kkXn7EGt+JlThJ9e7sPUjT1b+qjr1A/tCaDhQ+SLtzkJoVB9dYXeEc +CRbW+xorDYwmYXYW2ab1wGSaeVByB462Dkcmg+P+5wWIoQWFsfWL75iyEvr+nrsD +XMzaeCcwFTpGo5+7c+YNrCiat+Oj8/u/f0OKJ7kO79vPX9IuqEgGAfen36BATFWA +UDEKPrm54UAaUOCGrNGYS01qj/RtQaIDj6nqnk7MqLe+tO159ragOm9SMzdB7p8t +pWNPd+eYYEL+WPiTf4cIyF+AcdEaqx8Mxdajuc4lzjkU4eS5uQv2zLfRjHuMGSvp +TmgpZpOmVNw1NRsId7wq0gj9QLhQrjRA6dHrY2q5qMtHGtrM5ffIpXNEi4Dw9/qz +95txQZTXJf4Js8+W9A67QU0mTikLzpk774x+149qaVWlBC6GMHlAmmOKVHmkmMy7 +uhIk0j3XanTLZvbKcX/K/omF+QLCXKTCfiNLS/Qa14Dbkmq7AAnr18weN788WFn9 +NhgFhZfLEe2l7Rj5KWPEi+hn2BabTVvRDb4M8r/9a4uNuxavPLpO7CMbXEPd55YV +qdpDohWo7Un7arye5ew2JE05j257PXxfvbtVVQQrUlOJDvjFu8B3ddB953CHZ4wC +R7mAZF0R5VjZQ4DXBXSREjqLSDo= -----END AGE ENCRYPTED FILE----- diff --git a/home/dot_hammerspoon/executable_git-sync.sh b/home/dot_hammerspoon/executable_git-sync.sh deleted file mode 100644 index 423bb22..0000000 --- a/home/dot_hammerspoon/executable_git-sync.sh +++ /dev/null @@ -1,66 +0,0 @@ -#!/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 diff --git a/home/dot_hammerspoon/init.lua.tmpl b/home/dot_hammerspoon/init.lua.tmpl deleted file mode 100644 index 4024da9..0000000 --- a/home/dot_hammerspoon/init.lua.tmpl +++ /dev/null @@ -1,156 +0,0 @@ -local preloadView = hs.webview.new({x=0, y=0, w=10, h=10}):html("") -preloadView:hide() -hs.timer.doAfter(2, function() preloadView:delete() end) -- delete after 2 seconds - -local GitSync = {} - -GitSync.config = { - repoPath = "{{ .chezmoi.homeDir }}/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) diff --git a/home/encrypted_dot_zshklaviyo.age b/home/encrypted_dot_zshklaviyo.age index 27c0943..47e76af 100644 --- a/home/encrypted_dot_zshklaviyo.age +++ b/home/encrypted_dot_zshklaviyo.age @@ -1,87 +1,90 @@ -----BEGIN AGE ENCRYPTED FILE----- -YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAza280UmpqZjBzWlF6eVg5 -Vjh1OFZYMG5tejE4am1mWGNmTVprRzdjU3hFCjh1V05NQXhwWE5IQnZka05vZUMy -eUJkQXZCM1VuZ2ZpdUt3ekhMUEE5UVEKLS0tIEI4ZlN4R0xjYUpBLzVlWXNjZ0VO -OFpzN2dBektpM2NtMkkwaTRLaGpoRlkKBdUq1Wwk2B0b5XDXQ1e4C/4ja3ZQbkjn -nDNYyevmQrJ4MHXK27R3XK2HY5OUx9NdKQxfUbER07mv2ZywemdhLQOoKPkZiJU3 -XfllBkHdce3GNT3gPwB0aOvoYV8cG+9lxAJEMGujqJwMosxJiPADbFSgEaHOEqga -0dF+7VCOLqWeUIvPLqar1j6QtKZVRC9zp5LFnoR2CRyobnEjZCnems+77mfWmeEM -jgOH15NP5vQyUZzZsQ/sRX2OVosqCZDy3RbUaIXtkTBlvPmCxUxEDlCgiXVL7bCD -qYOPwoOAp4TdWekpS28YTLnPm7S20wNamvzdPzunufQjxpkuuikZmcNLF2xxGAor -uIoLGRSVyOuCozz4ZdHN00gVElflCOE3V8GWE/mMMBYQ+ZuD0GijnBYIysvFU0UX -5E9LxZAa/BB+tw/9hAK91wa06Fs/g9jyBggSSQeKxpnKk5pZ4/b1nLL3YCvSKJqZ -B95NEi7Vc91O8oIyjGMNTjbCaLimUwmv2k1Xo833p+UTSO9oIHhkT26cwESxBsL9 -L64excHap5zRAFT3CXhB+kSp1OXZJ2QF09XZOhtkLhM9H+AarEKH5BTpUhT7rOKh -O02k/kBiGl8fHnINlU2FCIBeWYSJ1j8bMGzBR1tlpOZ21GaXyuvCLvIDoNDBrRjy -nqAq8mUXqYwur3HCRGWhKKwIMHX7Ruqu5Mg7E/EZ/S/JaPnRM5oTxPSEWrEyRbnz -6+MQJ8zmUPPBVu9UTDvOUlkIV0pTDDMQDhv09xzhQiwndKbvGnt2CPHtIhZ+wQgN -QG4kPc2a8cFttWSkoJwx1hn2ORG833+EUkF0Y6j7X892mfSXW8c2/E5dsSYqDzar -4YbwDb1gmhgvYCGuKmQbquRiRADUckmX49ZFSSmqJBYyYXJeOUoAMAvsPWqieJ16 -jRqBdFpSLZnbCRlsB6c3gBd9U2hwrc3Q8DW+WyOWUGMPeMBJzEAWCBOiW5t3HZQE -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 -mPV02iEmBZa00r6F5nOvRgnMuLdyTTEqwP8SsKmgG1Xw2IO95TG3PwKy83MO1HM5 -eAE0tFmZuxdwmCNdlFie43MbXif/+BR7AjxR3GnjzCj+7JhWyfSgchZk1Q5anzT/ -4OuUzJr2STpCTzgQTTLpCi8pyF8SduwRUMHhzjSdDc1wy5npHcENT+af3Ly+X0iI -TqzKPfPgJH1JYrAQxieo8gm4Ole6wGai/pkOAWVM+MBOGM/AsHcmoyzMK/AIgpHd -ymASJP0yW/xSQfi5DL5vQUMGKfGGh1dG10EEYoYDssqi6e0+m2FLRHC8HGWT5eFw -mKkrQqisjYAJVaK8J/e+h19G3T9Y/xgTBD/2TGAcgqkfsLBjKz/ZHiyG6tioCr2I -bAdZKVaa2ObunrWAb/MWLrKOxTUM3ucygkklzI+wEChr6/LalWVKfO5fXHHEsU+Z -tdPInADFPEpgQ0fDECnoipNrxa/UOlRpMHXguR99foxgzj2Jwrmw9+PQE02RnAFi -rsK4Ll4AaX+crCZ01SYmc7fucN7PY7azgYRzxrH9Vs/YrBI= +YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvVGF5ZE5KV1ZqajBMREFp +SlBWWlNVdnE1NWFkSStSNE16dGxsY1E3WUU0Cmg1aVYwU2tncFZqNEdpNnovUzRJ +b3I2Qms5cTNBL3BOMmJBVHJpQ0Y4amsKLS0tIC9JMlFZT1o2Tm00Qko2WEhvcWJt +VEp1eUwwRTFBRHR3TkJ4eU5MUnRLMFUKqtpY73n9s7/gkvNpPm0LtISYXPyau6Tv +rk5HgJ4WS7OgbT4v7401Ztvay5hFdjzVh8RWvgWB7Smap6gnrWpJJuN3vC0xUrmF +wrGHciLxOTCSW1EvOEA0euwYRs9RnNKzrTo5S9koS7fvuw/1Xy+/FdBMh4oGzall +lk9Ug0TtbfAq1BFsmvW4Y7gV2a74us7p82pwwp8mudQ9wcuD8Yt0Aq+V7EOevTQa +ej11U5Spo7nRwSQ5t7evG4fDzVN6sRTZenPr0R+b4E8+8GidEi/vZNIPVmwv/W7O +/nqufkGwbvkChEEVcuYziYhqz4Jwzj4XxaO9OgkzlaWUznCjT/fipCvhtySN2/zW +JTgWw5JAHkgDlsgSRjGIhYT2gsp4uyhU/ANqgkWodzovNBAmrj9FOV0ZmrJ8Vlfy +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 +vrVZips= -----END AGE ENCRYPTED FILE----- diff --git a/home/run_once_01install-packages.sh.tmpl b/home/run_once_01install-packages.sh.tmpl index 780e26f..4ec8b53 100644 --- a/home/run_once_01install-packages.sh.tmpl +++ b/home/run_once_01install-packages.sh.tmpl @@ -18,7 +18,6 @@ brew install \ glow \ go \ golangci-lint \ - hammerspoon \ helix \ inlyne \ jj \