diff --git a/desktop/.config/river/init b/desktop/.config/river/init
index 21dd169..1f142af 100755
--- a/desktop/.config/river/init
+++ b/desktop/.config/river/init
@@ -4,12 +4,6 @@
if [ -d "$TURNSTILE_ENV_DIR" ]; then
echo "$DISPLAY" >"$TURNSTILE_ENV_DIR/DISPLAY"
echo "$WAYLAND_DISPLAY" >"$TURNSTILE_ENV_DIR/WAYLAND_DISPLAY"
- echo "ADDING KEYCHAIN TO ENV"
- keychain --eval --quiet --agents ssh,gpg C414FF88A557F29AFEF76C7E73BA40D5AFAF49C9
- echo "$SSH_AUTH_SOCK">"$TURNSTILE_ENV_DIR/SSH_AUTH_SOCK"
- echo "$SSH_AGENT_PID">"$TURNSTILE_ENV_DIR/SSH_AGENT_PID"
- echo "$GPG_AGENT_INFO">"$TURNSTILE_ENV_DIR/GPG_AGENT_INFO"
- echo "DONE ADDING KEYCHAIN TO ENV"
fi
mod="Mod4"
diff --git a/desktop/.config/waybar/config b/desktop/.config/waybar/config
index 8b3dcf2..0d72df1 100644
--- a/desktop/.config/waybar/config
+++ b/desktop/.config/waybar/config
@@ -64,7 +64,6 @@
"format": "{icon}{0}", // issue tracked here https://github.com/Alexays/Waybar/issues/3623
"format-icons": {
"event": "",
- "event-today": " ",
"no-event": "",
},
},
diff --git a/desktop/.config/waybar/modules/khal.py b/desktop/.config/waybar/modules/khal.py
index 76f4280..6dc3971 100755
--- a/desktop/.config/waybar/modules/khal.py
+++ b/desktop/.config/waybar/modules/khal.py
@@ -27,16 +27,13 @@ for line in lines:
if len(clean_line) and clean_line[0] not in ["0", "1", "2"]:
clean_line = "\n" + clean_line + ""
new_lines.append(clean_line)
-
output = "\n".join(new_lines).strip()
-if today in output: # an event today!
- data["alt"] = "event-today"
+data["alt"] = "no-event"
+data["tooltip"] = output
+
+if today in output:
data["text"] = output.split("\n")[1]
-elif output: # an event in the week!
data["alt"] = "event"
- data["tooltip"] = output
-else: # no events
- data["alt"] = "no-event"
print(json.dumps(data))
diff --git a/nvim/.config/nvim/lua/core/commands.lua b/nvim/.config/nvim/lua/core/commands.lua
index 70f9365..ef17d87 100644
--- a/nvim/.config/nvim/lua/core/commands.lua
+++ b/nvim/.config/nvim/lua/core/commands.lua
@@ -5,35 +5,18 @@ vim.api.nvim_create_autocmd({ "TextYankPost" }, {
group = vim.api.nvim_create_augroup("highlightyanks", { clear = true }),
})
-local private_mode = function()
- vim.o.shada = ""
- vim.o.swapfile = false
- vim.o.undofile = false
- vim.o.backup = false
- vim.o.writebackup = false
- vim.o.shelltemp = false
- vim.o.history = 0
- vim.o.modeline = false
- vim.o.secure = true
-end
-- Special setting for editing gopass files - make sure nothing leaks outside the directories it
-- is supposed to
vim.api.nvim_create_autocmd({ "BufNewFile", "BufRead" }, {
- group = vim.api.nvim_create_augroup("passnoleak", { clear = true }),
pattern = {
"/dev/shm/gopass.*",
"/dev/shm/pass.?*/?*.txt",
"$TMPDIR/pass.?*/?*.txt",
"/tmp/pass.?*/?*.txt",
},
+ command = "setlocal noswapfile nobackup noundofile nowritebackup viminfo=",
desc = "Don't leak any information when editing potential password files",
- callback = private_mode,
-})
-vim.api.nvim_create_autocmd({ "BufNewFile", "BufReadPre" }, {
- group = vim.api.nvim_create_augroup("PrivateJrnl", {}),
- pattern = "*.jrnl",
- desc = "Don't leak information when editing jrnl files",
- callback = private_mode,
+ group = vim.api.nvim_create_augroup("passnoleak", { clear = true }),
})
-- remove line numbers from terminal buffers
diff --git a/nvim/.config/nvim/lua/plugins/pickers.lua b/nvim/.config/nvim/lua/plugins/pickers.lua
index 3682999..8072d32 100644
--- a/nvim/.config/nvim/lua/plugins/pickers.lua
+++ b/nvim/.config/nvim/lua/plugins/pickers.lua
@@ -56,6 +56,7 @@ return { -- file/item pickers and managers
end
end,
opts = {
+ fzf_opts = { ["--select-1"] = false },
keymap = {
builtin = {
true,
@@ -77,10 +78,7 @@ return { -- file/item pickers and managers
},
},
},
- defaults = { -- FIXME: Does not seem to work with single result and still closes instantly?
- jump1 = false,
- },
- },
+ }, -- FIXME: Does not seem to work with single result and still closes instantly?
config = function(_, opts)
opts.actions = opts.actions or { true }
opts.actions["ctrl-q"] = require("fzf-lua").actions.file_sel_to_qf
diff --git a/nvim/.config/nvim/lua/plugins/prose.lua b/nvim/.config/nvim/lua/plugins/prose.lua
index 04a0844..a38a2d6 100644
--- a/nvim/.config/nvim/lua/plugins/prose.lua
+++ b/nvim/.config/nvim/lua/plugins/prose.lua
@@ -168,49 +168,39 @@ local prose_plugs = {
-- bring zettelkasten commands
{
"zk-org/zk-nvim",
- opts = function()
+ config = function()
if require("core.util").is_available("which-key") then
require("which-key").add({
{ "n", group = "notes" },
{ "n", group = "note" },
{ "n", group = "note", mode = "v" },
})
- end
- require("zk.commands").add("ZkOrphans", function(opts)
- opts = vim.tbl_extend("force", { orphan = true }, opts or {})
- require("zk").edit(opts, { title = "Zk Orphans" })
- end)
- require("zk.commands").add("ZkGrep", function(opts)
- local collection = {}
- local list_opts = { select = { "title", "path", "absPath" } }
- require("zk.api").list(vim.env.ZK_NOTEBOOK_DIR, list_opts, function(_, notes)
- for _, note in ipairs(notes) do
- collection[note.absPath] = note.title or note.path
- end
+ require("zk.commands").add("ZkOrphans", function(opts)
+ opts = vim.tbl_extend("force", { orphan = true }, opts or {})
+ require("zk").edit(opts, { title = "Zk Orphans" })
+ end)
+ require("zk.commands").add("ZkGrep", function(opts)
+ local collection = {}
+ local list_opts = { select = { "title", "path", "absPath" } }
+ require("zk.api").list(vim.env.ZK_NOTEBOOK_DIR, list_opts, function(_, notes)
+ for _, note in ipairs(notes) do
+ collection[note.absPath] = note.title or note.path
+ end
+ end)
+ local options = vim.tbl_deep_extend("force", {
+ prompt_title = "Notes",
+ search_dirs = { vim.env.ZK_NOTEBOOK_DIR },
+ disable_coordinates = true,
+ path_display = function(_, path)
+ return collection[path]
+ end,
+ }, opts or {})
+ require("telescope.builtin").live_grep(options)
end)
- local search_dir = vim.env.ZK_NOTEBOOK_DIR
- local options = vim.tbl_deep_extend("force", {
- prompt = "Note Grep❯ ",
- -- cmd = "cd " .. search_dir .. "; rg --vimgrep",
- cwd = search_dir,
- disable_coordinates = true,
- path_display = function(_, path)
- return collection[path]
- end,
- }, opts or {})
- -- FIXME: Don't hard-code this so much?
- -- require("telescope.builtin").live_grep(options)
- require("fzf-lua").live_grep(options)
- end)
- local picker = "select"
- if require("core.util").is_available("fzf-lua") then
- picker = "fzf_lua"
- elseif require("core.util").is_available("telescope") then
- picker = "telescope"
end
require("zk").setup({
- picker = picker,
+ picker = "telescope",
lsp = {
auto_attach = {
enabled = true,
diff --git a/office/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py b/office/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py
new file mode 100755
index 0000000..f444c69
--- /dev/null
+++ b/office/.local/share/task/hooks/DISABLED.on-exit.sync-to-server-silent.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python3
+
+# From: https://gist.github.com/varunagrawal/2b93c5dc721520ff6876e940c420ab05
+# This hooks script syncs task warrior to the configured task server.
+# The on-exit event is triggered once, after all processing is complete.
+
+# Make sure hooks are enabled and this hook script is executable.
+# Run `task diag` for diagnostics on the hook.
+
+import sys
+import json
+import subprocess
+
+try:
+ tasks = json.loads(sys.stdin.readline())
+except:
+ # No input
+ sys.exit(0)
+
+# no tasks to work through, don't error
+if len(tasks) <= 0:
+ sys.exit(0)
+
+# Call the `sync` command
+# hooks=0 ensures that the sync command doesn't call the on-exit hook
+# verbose=nothing sets the verbosity to print nothing at all
+subprocess.Popen(["task", "rc.verbose=nothing", "rc.hooks=0", "sync"], close_fds=True)
+
+sys.exit(0)
diff --git a/office/.local/share/task/hooks/on-exit.git-backup b/office/.local/share/task/hooks/on-exit.git-backup
deleted file mode 100755
index eb4d96b..0000000
--- a/office/.local/share/task/hooks/on-exit.git-backup
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/sh
-# Automatically git commits, pushes and pulls if doable in the taskwarrior data directory
-#
-# Much of this taken from: https://github.com/mrschyte/taskwarrior-hooks/
-# with much gratitude
-#
-# The minimum amount of time required between 2 commits in seconds.
-# So only if the last commit is at least x seconds old will a new one
-# be created. Set to 0 to sync each taskwarrior change.
-MINIMUM_WAIT_TIME=600
-
-# Do not display status information.
-QUIET=true
-
-# Removes the tasks.json file after each run, keeping the
-# task directory clean.
-REMOVE_JSON=false
-
-if [ "${DISABLE_HOOKS}" = "true" ] || ! command -v git >/dev/null 2>&1; then
- exit 0;
-fi
-
-if [ "$1" != "api:2" ]; then
- printf "Taskwarrior uses different data API version than git plugin. Aborting!" 1>&2
- exit 1
-fi
-
-
-data_dir="$(echo "$5" | cut -f2 -d:)"
-command_run="$(echo "$3" | cut -f2 -d:)"
-
-if [ "$command_run" = "synchronize" ]; then
- DISABLE_HOOKS=true env task sync
-
- git -C "$data_dir" pull >/dev/null 2>&1
- pull_ret="$?"
- git -C "$data_dir" push >/dev/null 2>&1
- push_ret="$?"
- if [ "$pull_ret" -eq 0 ] && [ "$push_ret" -eq 0 ]; then
- [ $QUIET = "true" ] || echo "Git upstream synchronized."
- fi
-fi
-
-last_commit=$(git -C "$data_dir" log -1 --format="%at")
-# if now is not yet greater than last commit + wait time do nothing
-if [ "$(date "+%s")" -lt $((last_commit + MINIMUM_WAIT_TIME)) ]; then
- # TODO: Implement DEBUG msg level (info/debug) system
- # echo "Too early to check for changes, exiting."
- exit 0
-fi
-
-# echo "EXPORTING TASKS"
-DISABLE_HOOKS=true env task export > "$data_dir/tasks.json"
-# after any command, if there's changes add and commit
-if ! git -C "$data_dir" diff --exit-code >/dev/null 2>&1; then
- # echo "found changes"
- # need to run to fully update tasks that just got done
- DISABLE_HOOKS=true env task next >/dev/null 2>&1
-
- header="auto: ${2##* }"
- msg="full command: $2"
- git -C "$data_dir" commit "$data_dir/tasks.json" -m "$header" -m "$msg" --no-gpg-sign >/dev/null 2>&1
- [ $QUIET = "true" ] || echo "Backup up to git."
-fi
-[ "$REMOVE_JSON" = true ] && rm "$data_dir/tasks.json" >/dev/null 2>&1
diff --git a/office/.local/share/task/hooks/on-exit.git-sync b/office/.local/share/task/hooks/on-exit.git-sync
new file mode 100755
index 0000000..9de25c4
--- /dev/null
+++ b/office/.local/share/task/hooks/on-exit.git-sync
@@ -0,0 +1,39 @@
+#!/bin/sh
+# Automatically git commits, pushes and pulls if doable in the taskwarrior data directory
+#
+# Much of this taken from: https://github.com/mrschyte/taskwarrior-hooks/
+# with much gratitude
+
+if [ "${DISABLE_HOOKS}" = "true" ] || ! command -v git >/dev/null 2>&1; then
+ exit 0;
+fi
+
+if [ "$1" != "api:2" ]; then
+ printf "Taskwarrior uses different data API version than git plugin. Aborting!" 1>&2
+ exit 1
+fi
+
+data_dir="$(echo "$5" | cut -f2 -d:)"
+command_run="$(echo "$3" | cut -f2 -d:)"
+
+# after any command, if there's changes add and commit
+if ! git -C "$data_dir" diff --exit-code >/dev/null 2>&1; then
+ # need to run to fully update tasks that just got done
+ DISABLE_HOOKS=true env task next >/dev/null 2>&1
+
+ header="auto: ${2##* }"
+ msg="full command: $2"
+ git -C "$data_dir" commit -a -m "$header" -m "$msg" --no-gpg-sign >/dev/null 2>&1
+fi
+
+if [ "$command_run" = "synchronize" ]; then
+ DISABLE_HOOKS=true env task sync
+
+ git -C "$data_dir" pull >/dev/null 2>&1
+ pull_ret="$?"
+ git -C "$data_dir" push >/dev/null 2>&1
+ push_ret="$?"
+ if [ "$pull_ret" -eq 0 ] && [ "$push_ret" -eq 0 ]; then
+ echo Git upstream synchronized.
+ fi
+fi
diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py
index 058d0b4..6697977 100644
--- a/qutebrowser/config/config.py
+++ b/qutebrowser/config/config.py
@@ -1,12 +1,12 @@
import os
from typing import cast
-from freedirect.freedirect import Redirects
-
# pylint: disable=C0111
from qutebrowser.config.config import ConfigContainer # noqa: F401
from qutebrowser.config.configfiles import ConfigAPI
+from freedirect.freedirect import Redirects
+
config: ConfigAPI = cast(ConfigAPI, config) # noqa: F821 pylint: disable=E0602,C0103
c: ConfigContainer = cast(ConfigContainer, c) # noqa: F821 pylint: disable=E0602,C0103
@@ -25,7 +25,7 @@ c.content.javascript.log_message.excludes = {
"userscript:_qute_js": ["*TrustedHTML*"],
}
-term = os.getenv("TERMINAL", "wezterm")
+term = os.getenv("TERMINAL", "xterm")
c.completion.web_history.max_items = 1000
c.hints.uppercase = True
diff --git a/scripts/.local/bin/powermenu b/scripts/.local/bin/powermenu
index 71495c1..64f3cdf 100755
--- a/scripts/.local/bin/powermenu
+++ b/scripts/.local/bin/powermenu
@@ -85,11 +85,6 @@ case "$result" in
if [ -n "$POWERMENU_LOGOUT_CMD" ]; then eval "$POWERMENU_LOGOUT_CMD"; else
command -v i3 >/dev/null 2>&1 && i3-msg exit
command -v riverctl >/dev/null 2>&1 && riverctl exit
- # Try to heuristically find the program started by greetd and shut it down.
- # Generally this will just be a 'pause' program on my system.
- if command -v pgrep >/dev/null 2>&1 && pgrep greetd; then
- kill $(pgrep -P "$(pgrep greetd | tr '\n' ',')" pause)
- fi
fi
;;
"Suspend" | "$suspend_btn")
diff --git a/writing/zk/config/sh/alias.d/zk.sh b/writing/zk/config/sh/alias.d/zk.sh
index debc673..344b589 100644
--- a/writing/zk/config/sh/alias.d/zk.sh
+++ b/writing/zk/config/sh/alias.d/zk.sh
@@ -2,7 +2,7 @@
#
_zk_wiki() {
- zk --working-dir="$WIKIROOT" "$@"
+ zk --notebook-dir="$WIKIROOT" "$@"
}
n() {
@@ -26,9 +26,6 @@ if [ -n "${WIKIROOT}" ]; then
nn() { # 'new note'
_zk_wiki new "$@"
}
- nni() { # 'new note inbox'
- _zk_wiki new -t "${*}" inbox
- }
nnl() { # 'new note log'
_zk_wiki log "$@"
}