aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--README.md2
-rw-r--r--TODO.md149
-rw-r--r--bash/.bashrc29
-rw-r--r--cargo/.local/share/cargo/config.toml6
-rwxr-xr-xcliphist/.local/bin/cliphist-wmenu6
-rw-r--r--docker/.config/zsh/.zshrc.d/20-docker.zsh16
-rwxr-xr-xfzf/.local/bin/live-grep.sh34
-rw-r--r--gdb/.config/profile.d/50-gdb.sh2
-rwxr-xr-xgdb/install.sh10
-rw-r--r--git.md99
-rwxr-xr-xgit/.local/bin/git-bump27
-rw-r--r--git/.local/bin/git-ignore20
-rw-r--r--gnupg/.config/zsh/.zshrc.d/20-gnupg.zsh9
-rwxr-xr-xgnupg/.local/bin/pinentry-auto38
-rw-r--r--i3/.config/i3/config162
-rwxr-xr-xi3blocks/.local/lib/i3blocks/i3blocks-dunst (renamed from i3blocks/.local/bin/i3blocks-dunst)0
-rwxr-xr-xi3blocks/.local/lib/i3blocks/i3blocks-miniflux (renamed from i3blocks/.local/bin/i3blocks-miniflux)0
-rwxr-xr-xi3blocks/.local/lib/i3blocks/i3blocks-notmuch (renamed from i3blocks/.local/bin/i3blocks-notmuch)0
-rwxr-xr-xi3blocks/.local/lib/i3blocks/i3blocks-title (renamed from i3blocks/.local/bin/i3blocks-title)0
-rw-r--r--i3status-rs/.config/i3status-rust/config.toml (renamed from i3status/.config/i3status-rust/config.toml)10
-rwxr-xr-xi3status-rs/.local/lib/i3status-rust/i3status-miniflux9
-rwxr-xr-xi3status-rs/.local/lib/i3status-rust/i3status-notmuch (renamed from i3status/.local/bin/notmuch-status)0
-rw-r--r--i3status/.config/systemd/user/rss-status.service12
-rw-r--r--i3status/.config/systemd/user/rss-status.timer10
-rwxr-xr-xi3status/.local/bin/rss-status15
-rwxr-xr-xinstall.sh15
-rw-r--r--lazygit/.config/lazygit/config.yml4
-rwxr-xr-xnotmuch/.local/lib/notmuch/notmuch-notify (renamed from notmuch/.local/bin/notmuch-notify)0
-rwxr-xr-xnvim/.local/lib/nvim/pkgbuildcheck (renamed from nvim/.local/bin/pkgbuildcheck)0
-rw-r--r--sh/.config/profile.d/20-cargo.sh (renamed from cargo/.config/profile.d/20-cargo.sh)0
-rw-r--r--sh/.config/profile.d/20-docker.sh (renamed from docker/.config/profile.d/20-docker.sh)0
-rwxr-xr-xsh/.local/bin/ff20
-rwxr-xr-xsh/.local/bin/passmenu14
-rw-r--r--sway/.config/sway/config23
-rw-r--r--sway/.config/sway/config.d/50-zoom.conf16
-rw-r--r--sway/.config/zsh/.zshrc.d/90-wmenu.zsh3
-rwxr-xr-xsway/.local/bin/sway-ssh10
-rwxr-xr-xsway/.local/bin/sway_ssh4
-rwxr-xr-xsway/.local/bin/wmenu16
-rwxr-xr-xsway/.local/bin/wmenu-run (renamed from sway/.local/bin/wmenu_path)0
-rwxr-xr-xsway/.local/lib/sway/import-gsettings (renamed from sway/.local/bin/import-gsettings)0
-rw-r--r--tiny/.config/tiny/config.yml147
-rw-r--r--tmux/.config/tmux/ssh.conf9
-rw-r--r--tmux/.config/tmux/tmux.conf6
-rwxr-xr-xtmux/.local/bin/timestamp.sh167
-rwxr-xr-xtmux/.local/bin/tmux-sshr62
-rwxr-xr-xtmux/.local/bin/tmux-windowizer14
-rw-r--r--wezterm/.config/wezterm/wezterm.lua37
-rw-r--r--wired/.config/systemd/user/wired.service11
-rw-r--r--wired/.config/wired/wired.ron172
-rw-r--r--yubikey.md93
-rw-r--r--zk/.config/zk/config.toml40
-rwxr-xr-xzk/.local/bin/zkf22
53 files changed, 85 insertions, 1485 deletions
diff --git a/README.md b/README.md
index 24dc59c..04d087e 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
## Install
```sh
-git clone https://git.sr.ht/~tobyvin/.dotfiles ~/.dotfiles && cd ~/.dotfiles && ./install.sh
+git clone https://git.tobyvin.dev/.dotfiles ~/.dotfiles && cd ~/.dotfiles && ./install.sh
```
## Getting started
diff --git a/TODO.md b/TODO.md
deleted file mode 100644
index e107024..0000000
--- a/TODO.md
+++ /dev/null
@@ -1,149 +0,0 @@
-# TODO
-
-- ~~migrate from makefile to install.sh script~~
-- package installs?
- - install.sh per package?
-- cli
- - zsh
- - neovim
- - fzf
- - bat
- - rg
- - fd
- - exa
- - lsd
- - handlr
-- gui
- - zathura
- - feh
- - firefox
-- document system level changes?
- - greetd/sway
- - nvidia (?)
- - mkinit stuff
- - pam
- - pam-u2f.so
- - pam_rssh
- - networkd
- - bind fallback
- - pacman
- - Color
- - UseSyslog
- - VerbosePkgLists
-
-## pam
-
-- unlock gpg-agent/ssh-agent on login
- - pass pin from login directly to agents?
-
-## email
-
-- migrate to local email server
-- setup mail client
- - MUA
- - aerc
- - mutt
- - Maildir
- - OfflineIMAP
- - fdm
- - mailctl
- - mailnotify
-
-## zk
-
-- might not be best option for todos
-- use fzf-tmux for interactive selection
-- fails when `$ZK_NOTEBOOK_DIR` is set to hidden dir
- - e.g. `export ZK_NOTEBOOK_DIR="$HOME/.notebook"`
-
-## ssh
-
-- possible to use pam_u2f over ssh?
- - if not, alternative for sudo auth without password
- - [pam_rssh](https://github.com/z4yx/pam_rssh)
-
-## tmux
-
-- emulate sway workspace switching
- - on C-#, if tab # does not exist, create it and switch
- - move active tab to # with S-#
-- add keymap for opening zk/todos in initial session
-- yank
- - fix yanking whitespace under prompt
- - add vim-like keymaps for yanking start>end/cursor>end/cursor>start
- - add vim-like keymaps for deleting start>end/cursor>end/cursor>start
- - add vim-like keymaps for selecting start>end/cursor>end/cursor>start
-- tmux-sessionizer
- - improve search
- - long runtime on initial search
- - more robust filter
- - add keybind for creating repo from current input value
- - zk does this, start there
-- ssh session management
- - nested sessions
- - remap C-s to ssh-sessionizer
- - tmux-sessionizer but for ssh targets
- - remap C-S to ssh-switcher
- - tmux-sessions but for connected/existing ssh targets
- - run different local tmux config if connecting to remote tmux session
- - hides local UI
- - remote all remaps except for the "switch ssh/host"
-- rewrite in rust?
- - unify all tools into single rust binary
- - tmuxctl create
- - tmux-sessionizer
- - tmuxctl switch
- - tmux-sessions
- - tmuxctl switch --ssh
- - tmuxctl create --ssh
- - host/session creating
- - host/session switching
-
-## nvim
-
-- fix lua syntax highlighting bug
-- fix lag when quickly navigating (large?) files, e.g. plugins.lua
-- setup harpoon
- - possible to replace tabline with harpoon marks? (currently buffers)
-- reorganize lsp configs
-- reorganize dap configs
-- fix lsp document symbols error in sh files
-
-## wsl
-
-- delay usbip service ExecStart until server started
- - run on user slice (but needs to be run root?)
-- fix having to restart wsl for clipboard support
- - possibly done by changing the startup task on windows?
-
-## sway
-
-- toggle swayidle/swaylock
-- pipewire
- - set default audio sink (Possibly fixed?)
- - session manager?
- - add filter config to dotfiles (done)
-- firefox
- - crash when reorganizing tabs
- - [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1721453)
- - crash when reloading sway
-- discord
- - crashing on screenshare (when sharing OR viewing)
-- notifications
- - streamlink-gui not using notify daemon
-- swayr
- - rebind
- - alt-tab mru
- - $mod-tab select window
-- window layouts
- - floating
- - pulseaudio volume control
- - workspace ordering (1-2 on output 1?)
- - open streamlink stuff on output 2
-- swaybar
- - open pulseaudio volume control on volume click
- - fix media not updating
-- rbw
- - possibly move to [pass](https://www.passwordstore.org/)?
- - login issues
- - dep services wait until unlocked?
diff --git a/bash/.bashrc b/bash/.bashrc
index fa713b3..eae9a0b 100644
--- a/bash/.bashrc
+++ b/bash/.bashrc
@@ -1,39 +1,12 @@
#!/usr/bin/bash
+# shellcheck disable=1090
export HISTFILE=$XDG_STATE_HOME/bash/history
-# Aliases
-alias ls='ls --color=tty'
-alias l='ls -lah'
-alias la='ls -lAh'
-alias ll='ls -lh'
-alias lla='ls -lA'
-alias lsa='ls -lah'
-alias grep='grep --color'
-alias ipa="ip -s -c -h a"
-alias untar="tar -zxvf"
-alias td=". td.sh"
-alias vim=nvim
-alias dexec="docker exec -it"
-alias dps="docker ps"
-alias dc="docker compose"
-alias dce="docker compose exec"
-alias dcps="docker compose ps"
-alias dcls="docker compose ls"
-alias dcdn="docker compose down"
-alias dcup="docker compose up"
-alias dcupd="docker compose up -d"
-alias dcl="docker compose logs"
-alias dclf="docker compose logs -f"
-alias dct="docker context"
-alias dcu="docker context use"
-
if [[ $- == *i* ]] && [ -d "$BASHCOMPDIR" ]; then
for f in "$BASHCOMPDIR"/*; do
- # shellcheck disable=1090
source "$f"
done
fi
-# shellcheck disable=1090
command -v starship >/dev/null 2>&1 && source <(starship init bash)
diff --git a/cargo/.local/share/cargo/config.toml b/cargo/.local/share/cargo/config.toml
deleted file mode 100644
index 25d5215..0000000
--- a/cargo/.local/share/cargo/config.toml
+++ /dev/null
@@ -1,6 +0,0 @@
-[registries.crates-io]
-protocol = "sparse"
-
-[target.x86_64-pc-windows-gnu]
-linker = "/usr/bin/x86_64-w64-mingw32-gcc"
-ar = "/usr/bin/x86_64-w64-mingw32-ar"
diff --git a/cliphist/.local/bin/cliphist-wmenu b/cliphist/.local/bin/cliphist-wmenu
deleted file mode 100755
index 951014e..0000000
--- a/cliphist/.local/bin/cliphist-wmenu
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-
-set -e
-
-selection="$(cliphist list | "$@")"
-echo "$selection" | cliphist decode | wl-copy
diff --git a/docker/.config/zsh/.zshrc.d/20-docker.zsh b/docker/.config/zsh/.zshrc.d/20-docker.zsh
deleted file mode 100644
index 46efdae..0000000
--- a/docker/.config/zsh/.zshrc.d/20-docker.zsh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/bin/zsh
-# vim:ft=sh
-
-alias dexec="docker exec -it"
-alias dps="docker ps"
-alias dc="docker compose"
-alias dce="docker compose exec"
-alias dcps="docker compose ps"
-alias dcls="docker compose ls"
-alias dcdn="docker compose down"
-alias dcup="docker compose up"
-alias dcupd="docker compose up -d"
-alias dcl="docker compose logs"
-alias dclf="docker compose logs -f"
-alias dct="docker context"
-alias dcu="docker context use"
diff --git a/fzf/.local/bin/live-grep.sh b/fzf/.local/bin/live-grep.sh
deleted file mode 100755
index 4a19bd8..0000000
--- a/fzf/.local/bin/live-grep.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-
-need() {
- for need_cmd in "$@"; do
- if ! command -v "$need_cmd" >/dev/null 2>&1; then
- printf "live-grep: command not found: %s\n" "$need_cmd" >&2
- exit 1
- fi
- done
-}
-
-need "rg" "bat"
-
-INITIAL_QUERY="${*:-}"
-RG_PREFIX="rg --column --line-number --no-heading --color=always --smart-case "
-PREVIEW_CMD='bat --color=always {1} --highlight-line {2} 2>/dev/null || bat --color=always {}'
-INITIAL_CMD="$RG_PREFIX --files"
-
-if [ $# -gt 0 ]; then
- INITIAL_CMD="$RG_PREFIX '$INITIAL_QUERY'"
-fi
-
-# shellcheck disable=2046
-set -- $(
- FZF_DEFAULT_COMMAND="$INITIAL_CMD" fzf \
- --ansi --color="hl:-1:underline,hl+:-1:underline:reverse" \
- --bind="change:reload:sleep 0.1; [ -n {q} ] && ($RG_PREFIX -- {q} || true) || $RG_PREFIX --files" \
- --disabled --query="$INITIAL_QUERY" --delimiter=":" \
- --preview="cat {1} | rg --passthru -i --color always -- {q}" --preview-window='up,60%,border-bottom,+{2}+3/3,~3'
-)
-
-if [ $# -gt 0 ]; then
- xdg-open "$1" "+$2"
-fi
diff --git a/gdb/.config/profile.d/50-gdb.sh b/gdb/.config/profile.d/50-gdb.sh
index 86c085a..377a19e 100644
--- a/gdb/.config/profile.d/50-gdb.sh
+++ b/gdb/.config/profile.d/50-gdb.sh
@@ -1,4 +1,4 @@
#!/bin/sh
-export GDBHISTFILE="$XDG_DATA_HOME/gdb/history"
+export GDBHISTFILE="$XDG_STATE_HOME/gdb/history"
export DEBUGINFOD_URLS="https://debuginfod.elfutils.org/"
diff --git a/gdb/install.sh b/gdb/install.sh
new file mode 100755
index 0000000..55230df
--- /dev/null
+++ b/gdb/install.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+pkgname=gdb
+
+if ! command -v "$pkgname" >/dev/null; then
+ printf '%s: %s not found, skipping...\n' "$0" "$pkgname"
+ exit 0
+fi
+
+mkdir -pv "${XDG_STATE_HOME}/gdb"
diff --git a/git.md b/git.md
deleted file mode 100644
index c6ae4ac..0000000
--- a/git.md
+++ /dev/null
@@ -1,99 +0,0 @@
-# Git
-
-My personal cheat sheet of commands for various tools and workflows
-
-- [Git](#git)
- - [Split out subfolder into new repository](#split-out-subfolder-into-new-repository)
- - [(Optional) Migrate original subdir to submodule](#optional-migrate-original-subdir-to-submodule)
-
-## Split out subfolder into new repository
-
-*Be sure you are inside the original repo*
-
-```sh
-cd <orignal_repository>/<subdir-to-split>
-```
-
-Set local variables for use
-
-```sh
-username="$(git config user.username)"
-subdir="$(git rev-parse --show-prefix)"
-newrepo="$(basename $subdir)"
-oldrepo="$(git rev-parse --show-toplevel)"
-cd $oldrepo
-```
-
-Create a new branch containing only the sub-directory using `git subtree`
-
-```sh
-git subtree split -P $subdir -b $newrepo
-```
-
-Create a temp git repo and pull in the newly created branch
-
-```sh
-cd $(mktemp -d)
-
-git init && git pull $oldrepo $newrepo
-```
-
-Copy over the git artifacts from original repo's root directory
-
-```sh
-cp -rt ./ $oldrepo/.gitignore $oldrepo/.gitattributes $oldrepo/.vscode
-```
-
-Commit changes
-
-```sh
-git add -A && git commit -m "split out $newrepo into submodule"
-```
-
-Create a new remote repository using something like [gh](https://github.com/cli/cli)
-
-```sh
-gh repo create $username/$newrepo
-```
-
-(Optional) You can also just create the new remote repository manually and set the new local repository's remote with
-
-```sh
-git remote add origin https://github.com/$username/$newrepo
-```
-
-Push newly created repository to remote
-
-```sh
-git push -u origin master
-```
-
-### (Optional) Migrate original subdir to submodule
-
-Switch back into the original repository
-
-```sh
-cd $oldrepo
-```
-
-Remove the `subdir` from git and the filesystem
-
-```sh
-git rm -rf $subdir
-rm -rf $subdir
-```
-
-Add the newly created remote repository as a submodule at the `subdir`'s path
-
-```sh
-git submodule add git@github.com:$username/$newrepo $subdir
-git submodule update --init --recursive
-```
-
-Commit the changes to the original repository and push to remote
-
-```sh
-git commit -m "split out $newrepo into submodule"
-git push -u origin master
-```
-
diff --git a/git/.local/bin/git-bump b/git/.local/bin/git-bump
deleted file mode 100755
index d75a755..0000000
--- a/git/.local/bin/git-bump
+++ /dev/null
@@ -1,27 +0,0 @@
-#!/bin/sh
-
-tag="$(git describe --abbrev=0 2>/dev/null)"
-IFS=. read -r major minor patch <<EOF
-${tag#v}
-EOF
-
-case "$1" in
-major)
- major=$((major + 1))
- minor=0
- patch=0
- ;;
-minor)
- minor=$((minor + 1))
- patch=0
- ;;
-patch)
- patch=$((patch + 1))
- ;;
-*)
- echo "Invalid semver argument given (major|minor|patch): $1" 1>&2
- exit 1
- ;;
-esac
-
-git shortlog "$tag"..HEAD | git tag -s "v${major}.${minor}.${patch}" --file -
diff --git a/git/.local/bin/git-ignore b/git/.local/bin/git-ignore
deleted file mode 100644
index 7df638d..0000000
--- a/git/.local/bin/git-ignore
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# Create useful gitignore files
-# Usage: gi [param]
-# param is a comma separated list of ignore profiles.
-# If param is ommited choose interactively.
-
-__gi() {
- curl -L -s https://www.gitignore.io/api/"$*"
-}
-
-if [ "$#" -eq 0 ]; then
- IFS=$IFS+","
- for item in $(__gi list); do
- echo "$item"
- done | fzf --multi --ansi | paste -s -d "," - |
- { read -r result && __gi "$result"; }
-else
- __gi "$@"
-fi
diff --git a/gnupg/.config/zsh/.zshrc.d/20-gnupg.zsh b/gnupg/.config/zsh/.zshrc.d/20-gnupg.zsh
deleted file mode 100644
index 0b3c422..0000000
--- a/gnupg/.config/zsh/.zshrc.d/20-gnupg.zsh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/zsh
-# vim:ft=sh
-
-if [ -t 0 ] && [ -z "$SSH_TTY" ]; then
- export GPG_TTY="$(tty)"
- export PINENTRY_USER_DATA=USE_TTY=1
-fi
-
-gpg-connect-agent updatestartuptty /bye >/dev/null 2>&1
diff --git a/gnupg/.local/bin/pinentry-auto b/gnupg/.local/bin/pinentry-auto
deleted file mode 100755
index b788361..0000000
--- a/gnupg/.local/bin/pinentry-auto
+++ /dev/null
@@ -1,38 +0,0 @@
-#!/bin/sh
-# Choose between pinentry-tty and pinentry-x11 based on whether
-# $PINENTRY_USER_DATA contains USE_TTY=1
-#
-# Based on:
-# https://kevinlocke.name/bits/2019/07/31/prefer-terminal-for-gpg-pinentry
-#
-# Note: Environment detection is difficult.
-# - stdin is Assuan pipe, preventing tty checking
-# - configuration info (e.g. ttyname) is passed via Assuan pipe, preventing
-# parsing or fallback without implementing Assuan protocol.
-# - environment is sanitized by atfork_cb in call-pinentry.c (removing $GPG_TTY)
-#
-# $PINENTRY_USER_DATA is preserved since 2.08 https://dev.gnupg.org/T799
-#
-# Format of $PINENTRY_USER_DATA not specified (that I can find), pinentry-mac
-# assumes comma-separated sequence of NAME=VALUE with no escaping mechanism
-# https://github.com/GPGTools/pinentry-mac/blob/v0.9.4/Source/AppDelegate.m#L78
-# and recognizes USE_CURSES=1 for curses fallback
-# https://github.com/GPGTools/pinentry-mac/pull/2
-#
-# To the extent possible under law, Kevin Locke <kevin@kevinlocke.name> has
-# waived all copyright and related or neighboring rights to this work
-# under the terms of CC0: https://creativecommons.org/publicdomain/zero/1.0/
-
-set -Ceu
-
-# Use pinentry-tty if $PINENTRY_USER_DATA contains USE_TTY=1
-case "${PINENTRY_USER_DATA-}" in
-*USE_TTY=1*)
- # Note: Change to pinentry-curses if a Curses UI is preferred.
- exec pinentry-curses "$@"
- ;;
-esac
-
-# Otherwise, use any X11 UI (configured by Debian Alternatives System)
-# Note: Will fall back to curses if $DISPLAY is not available.
-exec pinentry-gtk-2 "$@"
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
deleted file mode 100644
index ded8a6f..0000000
--- a/i3/.config/i3/config
+++ /dev/null
@@ -1,162 +0,0 @@
-set $mod Mod4
-set $menu dmenu
-
-set $left h
-set $down j
-set $up k
-set $right l
-
-set $base00 #1d2021
-set $base01 #3c3836
-set $base02 #504945
-set $base03 #665c54
-set $base04 #bdae93
-set $base05 #d5c4a1
-set $base06 #ebdbb2
-set $base07 #fbf1c7
-set $base08 #fb4934
-set $base09 #fe8019
-set $base0A #fabd2f
-set $base0B #b8bb26
-set $base0C #8ec07c
-set $base0D #83a598
-set $base0E #d3869b
-set $base0F #d65d0e
-
-# Property Border BG Text Indicator Child Border
-client.focused $base05 $base0D $base00 $base0D $base0D
-client.focused_inactive $base01 $base01 $base05 $base03 $base01
-client.unfocused $base01 $base00 $base05 $base01 $base01
-client.urgent $base08 $base08 $base00 $base08 $base08
-client.placeholder $base00 $base00 $base05 $base00 $base00
-client.background $base07
-
-font pango:FiraCode Nerd Font 15
-focus_on_window_activation focus
-default_border pixel
-hide_edge_borders smart
-
-exec_always --no-startup-id feh --bg-fill ~/.local/share/gruvbox/arch_left.png ~/.local/share/gruvbox/i3wm_right.png
-
-# for_window [shell=".*"] inhibit_idle fullscreen
-for_window [class="Pavucontrol" title="^Volume Control$"] border none, floating enable
-for_window [class="streamlink-twitch-gui" title="^Streamlink Twitch GUI$"] border none, floating enable
-for_window [class="gnome-calculator" title="Calculator"] border none, floating enable
-for_window [class="Firefox" title="Firefox — Sharing Indicator"] kill
-
-bindsym $mod+q kill
-bindsym $mod+Shift+r restart
-bindsym $mod+Shift+c reload
-bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Do you really want to exit i3?' -B 'Yes, exit i3' 'i3-msg exit'"
-bindsym $mod+ctrl+q exec --no-startup-id loginctl lock-session
-bindsym $mod+Escape exec --no-startup-id powermenu list | $menu | powermenu
-bindsym $mod+space exec --no-startup-id j4-dmenu-desktop --no-generic --dmenu='$menu' --term="$TERMINAL"
-bindsym $mod+Shift+space exec --no-startup-id dmenu-run
-bindsym $mod+p exec --no-startup-id passmenu
-bindsym $mod+Shift+p exec --no-startup-id passmenu --type
-bindsym $mod+y exec --no-startup-id yubikey-oath-dmenu --notify --clipboard
-bindsym $mod+Shift+y exec --no-startup-id yubikey-oath-dmenu --notify --type
-bindsym $mod+Return exec $TERMINAL
-bindsym $mod+w exec $BROWSER
-# bindsym Print exec slurp | grim -g - - | wl-copy --type image/png
-# bindsym $mod+Print exec /usr/share/sway/scripts/grimshot --notify save area
-
-bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +5%
-bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -5%
-bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle
-bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle
-bindsym XF86AudioPlay exec --no-startup-id playerctl play-pause
-bindsym XF86AudioNext exec --no-startup-id playerctl next
-bindsym XF86AudioPrev exec --no-startup-id playerctl previous
-bindsym XF86MonBrightnessDown exec --no-startup-id brightnessctl set 5%-
-bindsym XF86MonBrightnessUp exec --no-startup-id brightnessctl set +5%
-
-bindsym $mod+$left focus left
-bindsym $mod+$down focus down
-bindsym $mod+$up focus up
-bindsym $mod+$right focus right
-
-bindsym $mod+Left focus left
-bindsym $mod+Down focus down
-bindsym $mod+Up focus up
-bindsym $mod+Right focus right
-
-bindsym $mod+Shift+$left move left
-bindsym $mod+Shift+$down move down
-bindsym $mod+Shift+$up move up
-bindsym $mod+Shift+$right move right
-
-bindsym $mod+Shift+Left move left
-bindsym $mod+Shift+Down move down
-bindsym $mod+Shift+Up move up
-bindsym $mod+Shift+Right move right
-
-bindsym $mod+Ctrl+$left move workspace to output left
-bindsym $mod+Ctrl+$down move workspace to output down
-bindsym $mod+Ctrl+$up move workspace to output up
-bindsym $mod+Ctrl+$right move workspace to output right
-
-bindsym $mod+Ctrl+Left move workspace to output left
-bindsym $mod+Ctrl+Down move workspace to output down
-bindsym $mod+Ctrl+Up move workspace to output up
-bindsym $mod+Ctrl+Right move workspace to output right
-
-bindsym $mod+1 workspace number 1
-bindsym $mod+2 workspace number 2
-bindsym $mod+3 workspace number 3
-bindsym $mod+4 workspace number 4
-bindsym $mod+5 workspace number 5
-bindsym $mod+6 workspace number 6
-bindsym $mod+7 workspace number 7
-bindsym $mod+8 workspace number 8
-bindsym $mod+9 workspace number 9
-bindsym $mod+0 workspace number 10
-bindsym $mod+Ctrl+6 workspace back_and_forth
-
-bindsym $mod+Shift+1 move container to workspace number 1; workspace number 1
-bindsym $mod+Shift+2 move container to workspace number 2; workspace number 2
-bindsym $mod+Shift+3 move container to workspace number 3; workspace number 3
-bindsym $mod+Shift+4 move container to workspace number 4; workspace number 4
-bindsym $mod+Shift+5 move container to workspace number 5; workspace number 5
-bindsym $mod+Shift+6 move container to workspace number 6; workspace number 6
-bindsym $mod+Shift+7 move container to workspace number 7; workspace number 7
-bindsym $mod+Shift+8 move container to workspace number 8; workspace number 8
-bindsym $mod+Shift+9 move container to workspace number 9; workspace number 9
-bindsym $mod+Shift+0 move container to workspace number 10
-
-bindsym $mod+f fullscreen
-bindsym $mod+Shift+backslash split toggle
-bindsym $mod+minus splith
-bindsym $mod+backslash splitv
-bindsym $mod+r mode 'resize'
-mode 'resize' {
- bindsym $left resize shrink width 10px
- bindsym $down resize grow height 10px
- bindsym $up resize shrink height 10px
- bindsym $right resize grow width 10px
-
- bindsym Escape mode 'default'
-}
-
-bar {
- status_command i3status-rs
- font pango:FiraCode Nerd Font 15
- colors {
- background $base00
- separator $base01
- statusline $base04
-
- # State Border BG Text
- focused_workspace $base05 $base0D $base00
- active_workspace $base05 $base03 $base00
- inactive_workspace $base03 $base01 $base05
- urgent_workspace $base08 $base08 $base00
- binding_mode $base00 $base0A $base00
- }
-}
-
-
-include ~/.config/i3/config.d/*
-include /etc/i3/config.d/*
-
-# exec_always "systemctl --user import-environment DISPLAY i3SOCK; systemctl --user start sway-session.target"
diff --git a/i3blocks/.local/bin/i3blocks-dunst b/i3blocks/.local/lib/i3blocks/i3blocks-dunst
index b21042f..b21042f 100755
--- a/i3blocks/.local/bin/i3blocks-dunst
+++ b/i3blocks/.local/lib/i3blocks/i3blocks-dunst
diff --git a/i3blocks/.local/bin/i3blocks-miniflux b/i3blocks/.local/lib/i3blocks/i3blocks-miniflux
index 05224e2..05224e2 100755
--- a/i3blocks/.local/bin/i3blocks-miniflux
+++ b/i3blocks/.local/lib/i3blocks/i3blocks-miniflux
diff --git a/i3blocks/.local/bin/i3blocks-notmuch b/i3blocks/.local/lib/i3blocks/i3blocks-notmuch
index b25c971..b25c971 100755
--- a/i3blocks/.local/bin/i3blocks-notmuch
+++ b/i3blocks/.local/lib/i3blocks/i3blocks-notmuch
diff --git a/i3blocks/.local/bin/i3blocks-title b/i3blocks/.local/lib/i3blocks/i3blocks-title
index 9cd6abe..9cd6abe 100755
--- a/i3blocks/.local/bin/i3blocks-title
+++ b/i3blocks/.local/lib/i3blocks/i3blocks-title
diff --git a/i3status/.config/i3status-rust/config.toml b/i3status-rs/.config/i3status-rust/config.toml
index 0728766..0298660 100644
--- a/i3status/.config/i3status-rust/config.toml
+++ b/i3status-rs/.config/i3status-rust/config.toml
@@ -17,7 +17,7 @@ critical_fg = "#1d2021"
icons = "material-nf"
[icons.overrides]
-rss = "󰑫 "
+rss = "󰑫"
[[block]]
block = "focused_window"
@@ -48,16 +48,16 @@ block = "amd_gpu"
if_command = "lspci -v | grep 'AMD/ATI' >/dev/null"
[[block]]
-block = "custom_dbus"
-path = "/rss"
+block = "custom"
+command = "~/.local/lib/i3status-rust/i3status-miniflux"
+json = true
[[block.click]]
button = "left"
cmd = "xdg-open https://miniflux.tobyvin.dev"
-update = true
[[block]]
block = "custom"
-command = "notmuch-status"
+command = "~/.local/lib/i3status-rust/i3status-notmuch"
json = true
[[block.click]]
button = "left"
diff --git a/i3status-rs/.local/lib/i3status-rust/i3status-miniflux b/i3status-rs/.local/lib/i3status-rust/i3status-miniflux
new file mode 100755
index 0000000..c9412fb
--- /dev/null
+++ b/i3status-rs/.local/lib/i3status-rust/i3status-miniflux
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+curl -s https://miniflux.tobyvin.dev/v1/feeds/counters \
+ -H "X-Auth-Token: ${MINIFLUX_TOKEN:-$(pass miniflux.tobyvin.dev/i3status)}" |
+ jq -r '[.unreads[]] | add // 0 | {
+ icon: "rss",
+ state: (if . > 50 then "Critical" elif . > 0 then "Warning" else "Idle" end),
+ text: (. | tostring)
+ }'
diff --git a/i3status/.local/bin/notmuch-status b/i3status-rs/.local/lib/i3status-rust/i3status-notmuch
index 1c51be8..1c51be8 100755
--- a/i3status/.local/bin/notmuch-status
+++ b/i3status-rs/.local/lib/i3status-rust/i3status-notmuch
diff --git a/i3status/.config/systemd/user/rss-status.service b/i3status/.config/systemd/user/rss-status.service
deleted file mode 100644
index b04c09b..0000000
--- a/i3status/.config/systemd/user/rss-status.service
+++ /dev/null
@@ -1,12 +0,0 @@
-[Unit]
-Description=rss status bar block
-PartOf=graphical-session.target
-After=graphical-session.target
-
-[Service]
-Type=oneshot
-BusName=rs.i3status
-ExecStart=-%h/.local/bin/rss-status
-
-[Install]
-WantedBy=graphical-session.target
diff --git a/i3status/.config/systemd/user/rss-status.timer b/i3status/.config/systemd/user/rss-status.timer
deleted file mode 100644
index a0b3177..0000000
--- a/i3status/.config/systemd/user/rss-status.timer
+++ /dev/null
@@ -1,10 +0,0 @@
-[Unit]
-Description=rss status bar block
-
-[Timer]
-OnCalendar=hourly
-AccuracySec=15m
-Persistent=true
-
-[Install]
-WantedBy=timers.target
diff --git a/i3status/.local/bin/rss-status b/i3status/.local/bin/rss-status
deleted file mode 100755
index a404a3b..0000000
--- a/i3status/.local/bin/rss-status
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-# shellcheck disable=SC2046
-
-set -e
-
-sleep 1
-
-if [ $# -eq 0 ]; then
- set -- $(curl -sH "X-Auth-Token: ${MINIFLUX_TOKEN:-$(pass miniflux.tobyvin.dev/i3status)}" https://miniflux.tobyvin.dev/v1/feeds/counters |
- jq -r '[.unreads[]] | add // 0 | [., (if . > 50 then "critical" elif . > 0 then "warning" else "idle" end), "rss"] | .[]')
-fi
-
-busctl --user call rs.i3status /rss rs.i3status.custom SetText ss "${1:-0}" "${1:-0}"
-busctl --user call rs.i3status /rss rs.i3status.custom SetState s "${2:-idle}"
-busctl --user call rs.i3status /rss rs.i3status.custom SetIcon s "${3:-rss}"
diff --git a/install.sh b/install.sh
index 2786499..2803971 100755
--- a/install.sh
+++ b/install.sh
@@ -1,9 +1,9 @@
#!/bin/sh
-# shellcheck disable=SC2035,SC2086
set -e
CDPATH='' cd -- "$(dirname -- "$0")" || exit
+TARGET=${TARGET:-$HOME}
if [ -r .installed ]; then
read -r DOTFILES_INSTALLED <.installed
@@ -12,14 +12,12 @@ fi
printf "%s: Removing bad links\n" "$0"
{
- git log --name-only --no-renames --diff-filter=D --format=format: $DOTFILES_INSTALLED HEAD
+ git log --name-only --no-renames --diff-filter=D --format=format: "$DOTFILES_INSTALLED" HEAD
git diff --name-only --no-renames --diff-filter=D HEAD
- if [ -f .untracked ]; then
- cat .untracked
- fi
-} | sort -u | sed -n 's/^[^/]\+\//..\//p' | while read -r f; do
- if [ -L "$f" ] && [ ! -e "$f" ]; then
- rm -v "$f"
+ cat .untracked 2>/dev/null
+} | sort -u | while read -r f; do
+ if [ -L "$TARGET/${f#*/}" ] && [ ! -e "$TARGET/${f#*/}" ]; then
+ rm -v "$TARGET/${f#*/}"
fi
done
@@ -29,6 +27,7 @@ if [ ! -s .untracked ]; then
fi
printf "%s: Stowing packages\n" "$0"
+# shellcheck disable=SC2086
stow "$@" ${1:-*}/
printf "%s: Installing packages\n" "$0"
diff --git a/lazygit/.config/lazygit/config.yml b/lazygit/.config/lazygit/config.yml
deleted file mode 100644
index 766650b..0000000
--- a/lazygit/.config/lazygit/config.yml
+++ /dev/null
@@ -1,4 +0,0 @@
-git:
- paging:
- colorArg: always
- useConfig: true \ No newline at end of file
diff --git a/notmuch/.local/bin/notmuch-notify b/notmuch/.local/lib/notmuch/notmuch-notify
index bc93f09..bc93f09 100755
--- a/notmuch/.local/bin/notmuch-notify
+++ b/notmuch/.local/lib/notmuch/notmuch-notify
diff --git a/nvim/.local/bin/pkgbuildcheck b/nvim/.local/lib/nvim/pkgbuildcheck
index 090d8e1..090d8e1 100755
--- a/nvim/.local/bin/pkgbuildcheck
+++ b/nvim/.local/lib/nvim/pkgbuildcheck
diff --git a/cargo/.config/profile.d/20-cargo.sh b/sh/.config/profile.d/20-cargo.sh
index f0c4dbd..f0c4dbd 100644
--- a/cargo/.config/profile.d/20-cargo.sh
+++ b/sh/.config/profile.d/20-cargo.sh
diff --git a/docker/.config/profile.d/20-docker.sh b/sh/.config/profile.d/20-docker.sh
index cd60889..cd60889 100644
--- a/docker/.config/profile.d/20-docker.sh
+++ b/sh/.config/profile.d/20-docker.sh
diff --git a/sh/.local/bin/ff b/sh/.local/bin/ff
deleted file mode 100755
index a3476ab..0000000
--- a/sh/.local/bin/ff
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-##
-# Interactive search.
-# Usage: `ff` or `ff <PATH>`.
-#
-
-SEARCH_PATH=$(printf %s "$1" | sed 's|/$||')
-RG_DEFAULT_COMMAND="rga -i -l --hidden --no-ignore-vcs -e {q} $SEARCH_PATH | sed 's|^$SEARCH_PATH/||'"
-
-selected=$(
- FZF_DEFAULT_COMMAND="rga --files $SEARCH_PATH | sed 's|^$SEARCH_PATH/||'" \
- fzf-tmux "$FZF_TMUX_OPTS" -- -m -e --ansi --disabled --header-first \
- --header "$(printf %s "$SEARCH_PATH" | sed "s|^$HOME|~|")/" \
- --bind "change:reload:$RG_DEFAULT_COMMAND || true" \
- --preview-window='right,66%,<80(up,50%,border-bottom)' \
- --preview "rga -i --pretty --context 3 -e {q} $SEARCH_PATH/{}" | cut -d":" -f1,2
-)
-
-[ -n "$selected" ] && $EDITOR "$selected"
diff --git a/sh/.local/bin/passmenu b/sh/.local/bin/passmenu
new file mode 100755
index 0000000..d99949c
--- /dev/null
+++ b/sh/.local/bin/passmenu
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+if [ ! -t 0 ]; then
+ set -- "$@" "$(cat)"
+elif [ $# -eq 0 ]; then
+ for passwd in "$PASSWORD_STORE_DIR"/**/*.gpg; do
+ passwd="${passwd#"$PASSWORD_STORE_DIR"/}"
+ printf '%s\n' "${passwd%.gpg}"
+ done
+ exit 0
+fi
+
+# shellcheck disable=SC2068
+pass show $@ | head -n1
diff --git a/sway/.config/sway/config b/sway/.config/sway/config
index 126f949..e6d38d0 100644
--- a/sway/.config/sway/config
+++ b/sway/.config/sway/config
@@ -5,8 +5,10 @@ set $down j
set $up k
set $right l
-set $menu wmenu -i -f 'monospace 12' -n$base06 -N$base00 -S$base00 -s$base09 -m$base06 -M$base0C
-set $passmenu find $PASSWORD_STORE_DIR/ -name '*.gpg' -printf '%P\n' | sed "s/\.gpg$//" | sort | $menu | xargs -r pass show
+set $menu wmenu
+
+set $out1 -
+set $out2 -
set $ws01 1
set $ws02 2
@@ -51,16 +53,14 @@ output * bg ~/.local/share/gruvbox/sway.png fill
for_window [shell=".*"] inhibit_idle fullscreen
for_window [app_id="pavucontrol" title="^Volume Control$"] floating enable
-for_window [app_id="^$" title="^$"] {
- floating enable
- move position cursor
-}
+for_window [app_id="^$" title="^$"] floating enable, move position cursor
for_window [class="^[Ss]team$"] floating enable
for_window [class="^[Ss]team$" title="^Steam$"] floating disable
for_window [class="^[Ss]team$" title="^Sign in to Steam$"] move to scratchpad
for_window [app_id="firefox" title="Firefox — Sharing Indicator"] kill
for_window [app_id="deno" title="^Peek preview$"] resize set width 980px
for_window [app_id="discord" title="^Discord Updater$"] move to scratchpad
+for_window [app_id="zoom" title="^(About|Settings)$"] floating enable
assign [app_id="" title="^Streamlink Twitch GUI$"] $ws06
assign [app_id="mpv"] $ws06
@@ -88,23 +88,23 @@ bindsym $mod+Shift+c reload
bindsym $mod+Shift+Escape exec swaynag -t warning -m 'Exit sway?' -B 'Yes' 'swaymsg exit'
bindsym $mod+Delete exec loginctl lock-session
bindsym $mod+Escape exec powermenu | $menu -l 6 | powermenu
-bindsym Pause exec swaymsg "output * power toggle"
+bindsym Pause exec swaymsg "output - power toggle"
bindsym $mod+return exec $TERMINAL
-bindsym $mod+Shift+return exec sshr --resolve --port 22 --scan 0.0.0.0/24 | $menu | xargs -0r sway_ssh
+bindsym $mod+Shift+return exec sway-ssh | $menu | sway-ssh
bindsym $mod+w exec $BROWSER
bindsym Print exec slurp | grim -g - - | wl-copy --type image/png
bindsym $mod+Print exec /usr/share/sway/scripts/grimshot --notify save area
bindsym $mod+space exec j4-dmenu-desktop --dmenu="$menu" --term=$TERMINAL
-bindsym $mod+shift+space exec wmenu_path | $menu | xargs swaymsg exec --
+bindsym $mod+shift+space exec wmenu-run | $menu | xargs swaymsg exec --
bindsym $mod+v exec (cliphist list | $menu -l 10 || (cliphist list | head -n1)) | cliphist decode | wl-copy
bindsym $mod+Shift+v exec cliphist list | $menu -l 10 | cliphist delete
-bindsym $mod+p exec $passmenu -c
-bindsym $mod+Shift+p exec $passmenu | wtype -
+bindsym $mod+p exec passmenu | $menu | passmenu | wl-copy -o
+bindsym $mod+Shift+p exec passmenu | $menu | passmenu | wtype -
bindsym $mod+y exec yubikey-oath-dmenu --notify --clipboard --menu-cmd "$menu -l 10"
bindsym $mod+Shift+y exec yubikey-oath-dmenu --notify --type --menu-cmd "$menu -l 10"
@@ -230,7 +230,6 @@ bar {
include /etc/sway/config.d/*
exec_always {
- ~/.local/bin/rss-status
import-gsettings
systemctl --user start sway-session.target
}
diff --git a/sway/.config/sway/config.d/50-zoom.conf b/sway/.config/sway/config.d/50-zoom.conf
deleted file mode 100644
index 6339b16..0000000
--- a/sway/.config/sway/config.d/50-zoom.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-# ~/.config/sway/config.d/zoom.us.conf
-#
-# Zoom Meeting App
-#
-# Default for all windows is non-floating.
-#
-
-# For pop up notification windows that don't use notifications api
-for_window [app_id="zoom" title="^zoom$"] border none, floating enable
-
-# For specific Zoom windows
-for_window [app_id="zoom" title="^(Zoom|About)$"] border pixel, floating enable
-for_window [app_id="zoom" title="Settings"] floating enable, floating_minimum_size 960 x 700
-
-# Open Zoom Meeting windows on a new workspace (a bit hacky)
-for_window [app_id="zoom" title="Zoom Meeting(.*)?"] workspace next_on_output --create, move container to workspace current, floating disable, inhibit_idle open
diff --git a/sway/.config/zsh/.zshrc.d/90-wmenu.zsh b/sway/.config/zsh/.zshrc.d/90-wmenu.zsh
deleted file mode 100644
index 66d748b..0000000
--- a/sway/.config/zsh/.zshrc.d/90-wmenu.zsh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/zsh
-
-alias wmenu="wmenu -i -f 'monospace 12' -n$BASE16_COLOR_06_HEX -N$BASE16_COLOR_00_HEX -S$BASE16_COLOR_00_HEX -s$BASE16_COLOR_09_HEX -m$BASE16_COLOR_06_HEX -M$BASE16_COLOR_0C_HEX"
diff --git a/sway/.local/bin/sway-ssh b/sway/.local/bin/sway-ssh
new file mode 100755
index 0000000..4e99fdd
--- /dev/null
+++ b/sway/.local/bin/sway-ssh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+if [ ! -t 0 ]; then
+ set -- "$@" "$(cat)"
+elif [ $# -eq 0 ]; then
+ sshr --resolve --port 22 --scan 0.0.0.0/24
+fi
+
+# shellcheck disable=SC2068
+swaymsg exec -- "$TERMINAL" -e ssh $@ -t -- zsh -l -c '\"tmux new -A\"'
diff --git a/sway/.local/bin/sway_ssh b/sway/.local/bin/sway_ssh
deleted file mode 100755
index 462dd95..0000000
--- a/sway/.local/bin/sway_ssh
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-# shellcheck disable=SC2068
-
-swaymsg exec -- "$TERMINAL" -e ssh $@ -t -- zsh -l -c '\"tmux new -A\"'
diff --git a/sway/.local/bin/wmenu b/sway/.local/bin/wmenu
new file mode 100755
index 0000000..9840721
--- /dev/null
+++ b/sway/.local/bin/wmenu
@@ -0,0 +1,16 @@
+#!/bin/sh
+# shellcheck disable=SC2068
+
+base00="${BASE16_COLOR_06_HEX:-#1d2021}"
+base06="${BASE16_COLOR_00_HEX:-#ebdbb2}"
+base09="${BASE16_COLOR_09_HEX:-#fe8019}"
+base0C="${BASE16_COLOR_0C_HEX:-#8ec07c}"
+
+command -p wmenu -i -f 'monospace 12' \
+ -n"$base06" \
+ -N"$base00" \
+ -S"$base00" \
+ -s"$base09" \
+ -m"$base06" \
+ -M"$base0C" \
+ $@
diff --git a/sway/.local/bin/wmenu_path b/sway/.local/bin/wmenu-run
index 2cda132..2cda132 100755
--- a/sway/.local/bin/wmenu_path
+++ b/sway/.local/bin/wmenu-run
diff --git a/sway/.local/bin/import-gsettings b/sway/.local/lib/sway/import-gsettings
index 93cd75b..93cd75b 100755
--- a/sway/.local/bin/import-gsettings
+++ b/sway/.local/lib/sway/import-gsettings
diff --git a/tiny/.config/tiny/config.yml b/tiny/.config/tiny/config.yml
deleted file mode 100644
index 1af3419..0000000
--- a/tiny/.config/tiny/config.yml
+++ /dev/null
@@ -1,147 +0,0 @@
-log_dir: "/home/tobyv/.local/state/tiny/logs"
-
-defaults:
- nicks: [tobyvin]
- realname: Toby Vincent
-
-servers:
- - addr: irc.libera.chat
- port: 6697
- tls: true
- nicks: [tobyvin]
- realname: Toby Vincent
- sasl:
- username: tobyvin
- password:
- command: "pass show irc.libera.chat/tobyvin"
- join:
- - "##rust"
- - "#sr.ht"
- - "#sr.ht.watercooler"
-
-colors:
- nick: [1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14]
-
- clear:
- fg: default
- bg: default
-
- user_msg:
- fg: black
- bg: default
-
- err_msg:
- fg: black
- bg: maroon
- attrs: [bold]
-
- topic:
- fg: cyan
- bg: default
- attrs: [bold]
-
- cursor:
- fg: black
- bg: default
-
- join:
- fg: lime
- bg: default
- attrs: [bold]
-
- part:
- fg: maroon
- bg: default
- attrs: [bold]
-
- nick_change:
- fg: lime
- bg: default
- attrs: [bold]
-
- faded:
- fg: 242
- bg: default
-
- exit_dialogue:
- fg: default
- bg: navy
-
- highlight:
- fg: red
- bg: default
- attrs: [bold]
-
- completion:
- fg: 84
- bg: default
-
- timestamp:
- fg: 242
- bg: default
-
- tab_active:
- fg: default
- bg: default
- attrs: [bold]
-
- tab_normal:
- fg: gray
- bg: default
-
- tab_new_msg:
- fg: purple
- bg: default
-
- tab_highlight:
- fg: red
- bg: default
- attrs: [bold]
-
-key_map:
- ctrl_c: exit
- ctrl_x: run_editor
-
- alt_1:
- tab_goto: 1
- alt_2:
- tab_goto: 2
- alt_3:
- tab_goto: 3
- alt_4:
- tab_goto: 4
- alt_5:
- tab_goto: 5
- alt_6:
- tab_goto: 6
- alt_7:
- tab_goto: 7
- alt_8:
- tab_goto: 8
- alt_9:
- tab_goto: 9
- alt_0:
- tab_goto: 0
- ctrl_n: tab_next
- ctrl_p: tab_prev
-
- shift_up: messages_scroll_up
- shift_down: messages_scroll_down
- ctrl_d: messages_page_down
- ctrl_u: messages_page_up
- pgup: messages_page_up
- pgdown: messages_page_down
- home: messages_scroll_top
- end: messages_scroll_bottom
-
- left: input_move_curs_left
- right: input_move_curs_right
- ctrl_a: input_move_curs_start
- ctrl_e: input_move_curs_end
- ctrl_left: input_move_word_left
- ctrl_right: input_move_word_right
- ctrl_k: input_delete_to_end
- ctrl_w: input_delete_prev_word
- backspace: input_delete_prev_char
- del: input_delete_next_char
- tab: input_auto_complete
diff --git a/tmux/.config/tmux/ssh.conf b/tmux/.config/tmux/ssh.conf
deleted file mode 100644
index 15f1c97..0000000
--- a/tmux/.config/tmux/ssh.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# vim: ft=tmux
-
-set-option -g remain-on-exit on
-set-option -g prefix C-b
-set-option -g status off
-set-option -g set-clipboard on
-
-set-hook -g pane-died "detach -E 'tmux -L ssh kill-pane; tmux attach'"
-
diff --git a/tmux/.config/tmux/tmux.conf b/tmux/.config/tmux/tmux.conf
index 26ef703..c95961a 100644
--- a/tmux/.config/tmux/tmux.conf
+++ b/tmux/.config/tmux/tmux.conf
@@ -21,8 +21,6 @@ set -g history-limit 10000
bind -N "Last session" A switchc -l
bind -N "Clock" T clock-mode
-bind -N "Host" s run ~/.local/bin/tmux-sshr
-bind -N "Last host" S run "~/.local/bin/tmux-sshr -1"
bind -N "Session" f run ~/.local/bin/tmux-projectr
bind -N "Window" t neww
bind -N "Switch" w choose-tree -Zws -F \
@@ -69,7 +67,3 @@ set -g status-left-length 30
set -g status-left-style "fg=#3c3836,#{?client_prefix,bg=#fe8019,bg=#a89984}"
set -g status-left " #{s|$HOME|~|:session_path} "
set -wg window-status-current-style bg="#3c3836",fg="#ebdbb2"
-
-%if #{m:*ssh,#{socket_path}}
-source "$XDG_CONFIG_HOME/tmux/ssh.conf"
-%endif
diff --git a/tmux/.local/bin/timestamp.sh b/tmux/.local/bin/timestamp.sh
deleted file mode 100755
index 5c60d02..0000000
--- a/tmux/.local/bin/timestamp.sh
+++ /dev/null
@@ -1,167 +0,0 @@
-#!/bin/sh
-# shellcheck disable=2046
-
-SCRIPT="$(basename "$0")"
-
-long='type:,git,sessions::,format:,verbose,help'
-short='t:gs::f:vh'
-
-if ! opts="$(getopt -o $short -l $long -n "$SCRIPT" -- "$@")"; then
- exit 1
-fi
-
-eval set -- "$opts"
-
-help() {
- cat <<-EOF
- $SCRIPT
- Toby Vincent <tobyv@tobyvin.dev>
-
- $SCRIPT
- Get a timestamp for a given directory using multiple activity sources. By default, uses stat.
-
- USAGE:
- $SCRIPT [OPTION ...] <PATH> [PATH ...]
-
- OPTIONS:
- -t, --type=<file|ssh> Specify type of input
- -g, --git Check last git commit for timestamp
- -s, --sessions=[PATH] Check nvim sessions directory for existing session files.
- (DEFAULT="$XDG_DATA_HOME/nvim/sessions")
-
- -f, --format=<FORMAT> Format string for output. '{}' will be replaced directory
- timestamp and '{1}' will be replaced directory path
-
- -v, --verbose Increase verbosity
- -h, --help Show this help
- EOF
-}
-
-say() {
- printf "%s: %s\n" "$SCRIPT" "$@"
-}
-
-say_verbose() {
- if [ "$verbose" -gt "0" ]; then
- say "$@"
- fi
-}
-
-say_err() {
- say "$@" >&2
-}
-
-err() {
- err_dir="$1"
- shift
- say_err "cannot timestamp '$err_dir': $*"
- exit 1
-}
-err_help() {
- help
- err "$*"
-}
-
-verbose=0
-type=''
-git=false
-sessions=false
-sessions_dir="$XDG_DATA_HOME/nvim/sessions"
-histfile="${HISTFILE:-$XDG_STATE_HOME/zsh/history}"
-format="{}"
-while true; do
- case "$1" in
- -h | --help)
- help
- exit 0
- ;;
- -v | --verbose)
- verbose=$((verbose + 1))
- shift
- ;;
- -t | --type)
- case "$2" in
- s*) type="ssh" ;;
- f*) type="file" ;;
- d*) type="directory" ;;
- *) type="$2" ;;
- esac
- shift 2
- ;;
- -e | --git)
- git=true
- shift
- ;;
- -s | --sessions)
- sessions=true
- if [ -n "$2" ]; then
- sessions_dir="$2"
- fi
- shift 2
- ;;
- -f | --format)
- format="$2"
- shift 2
- ;;
- --)
- shift
- break
- ;;
- *)
- err_help "Invalid argument: $1"
- ;;
- esac
-done
-
-if [ "$#" -eq 0 ]; then
- IFS='
-'
- set -o noglob
- set -- $(cat)
-fi
-
-while [ $# -gt 0 ]; do
- ts_max="0"
- case "$type" in
- ssh)
- if ts=$(grep -P "^: \d+:\d;ssh.* $1" "$histfile" | tail -1 | cut -d: -f2 | sed 's/^\s*//'); then
- say_verbose "ssh '$1': $ts"
- if [ -n "$ts" ] && [ "$ts" -gt "$ts_max" ]; then
- ts_max=$ts
- fi
- fi
- ;;
- file | directory)
- if [ ! -d "$1" ]; then
- say_err "$1" "No such file or directory"
- shift
- continue
- fi
-
- if ts=$(stat -c "%Y" "$1"); then
- say_verbose "stat '$1': $ts"
- if [ "$ts" -gt "$ts_max" ]; then
- ts_max=$ts
- fi
- fi
-
- if $git && ts=$(git -C "$1" --no-pager log -1 --all --format="%at" 2>/dev/null); then
- say_verbose "git '$1': $ts"
- if [ "$ts" -gt "$ts_max" ]; then
- ts_max=$ts
- fi
- fi
-
- pattern=$(printf %s\\n "$1" | sed 's|/|.{1,2}|g')
- if $sessions && ts=$(fd "$pattern" "$sessions_dir" -1 --type=f --max-depth=1 -x stat -c "%Y" {} 2>/dev/null); then
- say_verbose "session '$1': $ts"
- if [ "$ts" -gt "$ts_max" ]; then
- ts_max=$ts
- fi
- fi
- ;;
- esac
-
- printf %s\\n "$format" | sed "s|{}|$ts_max|g" | sed "s|{1}|$1|g"
- shift
-done
diff --git a/tmux/.local/bin/tmux-sshr b/tmux/.local/bin/tmux-sshr
deleted file mode 100755
index b206906..0000000
--- a/tmux/.local/bin/tmux-sshr
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/bin/sh
-
-if [ -n "$SSH_CLIENT" ] || [ -n "$SSH_TTY" ]; then
- tmux_sock=$(tmux display -p "#{socket_path}")
- tmux -S "${tmux_sock}.control" run-shell "$(basename "$0") $*"
- exit 0
-fi
-
-HOST=$(tmux display -p '#h' 2>/dev/null)
-ATTACHED=$(tmux display -p "#{?#{m:*ssh,#{socket_path}},#{s/_/./:session_name},#{host}}")
-
-sessions() {
- {
- tmux -L ssh ls -F '#{?session_last_attached,#{session_last_attached},#{session_created}}:#{s/_/./:session_name}'
- tmux ls -F '#{?session_last_attached,#{session_last_attached},#{session_created}}:#{host}'
- } 2>/dev/null | sort -u | cut -d':' -f2
-}
-
-if [ "$#" -eq 0 ]; then
- set -- "$(
- sessions | sshr --resolve --port 22 --scan 0.0.0.0/24 --exclude "$ATTACHED" --include - |
- fzf-tmux -p20%,20% -- --print-query |
- tail -1
- )"
-elif [ "$1" = "-1" ] 2>/dev/null; then
- set -- "$(sessions | sed "/$ATTACHED/d" | head -n1)"
-fi
-
-if [ -z "$1" ]; then
- exit 0
-fi
-
-while read -r k v; do
- case "$k" in
- "hostname")
- hostname=$v
- session=$(printf '%s' "$v" | tr '.' '_')
- break
- ;;
- esac
-done <<-EOF
- $(ssh -G "$@")
-EOF
-
-if [ "${hostname##"$HOST"}" != "$hostname" ]; then
- tmux detach -E 'tmux new -A'
-else
- if ! tmux -L ssh has-session -t "$session" 2>/dev/null; then
- tmux -L ssh new-session -ds "$session" -- \
- ssh -t "$@" \
- -R "/tmp/tmux-${HOST}.control:/tmp/tmux-%i/ssh" \
- -- "zsh -l -c 'tmux -S /tmp/tmux-${HOST} new -A'"
- fi
-
- if [ -z "$TMUX" ]; then
- tmux -L ssh attach -t "$session"
- else
- tmux detach -E "tmux -L ssh attach -t $session"
- fi
-
- exit 0
-fi
diff --git a/tmux/.local/bin/tmux-windowizer b/tmux/.local/bin/tmux-windowizer
deleted file mode 100755
index 81509ae..0000000
--- a/tmux/.local/bin/tmux-windowizer
+++ /dev/null
@@ -1,14 +0,0 @@
-#!/usr/bin/env bash
-
-branch_name=$(basename "$1")
-session_name=$(tmux display-message -p "#S")
-clean_name=$(echo "$branch_name" | tr "./" "__")
-target="$session_name:$clean_name"
-
-if ! tmux has-session -t "$target" 2>/dev/null; then
- tmux neww -dn "$clean_name"
-fi
-
-shift
-tmux send-keys -t "$target" "$*
-"
diff --git a/wezterm/.config/wezterm/wezterm.lua b/wezterm/.config/wezterm/wezterm.lua
deleted file mode 100644
index 84c908a..0000000
--- a/wezterm/.config/wezterm/wezterm.lua
+++ /dev/null
@@ -1,37 +0,0 @@
-local wezterm = require("wezterm")
-
-if wezterm.target_triple == "x86_64-pc-windows-msvc" then
- local is_win = true
-end
-
-local config = {
- default_prog = {
- "/usr/bin/zsh",
- "-l",
- "-c",
- "tmux new -As home",
- },
-
- enable_tab_bar = false,
- color_scheme = "Gruvbox dark, hard (base16)",
- window_padding = {
- left = 0,
- right = 0,
- top = 0,
- bottom = 0,
- },
-
- window_background_opacity = 0.9,
- font = wezterm.font_with_fallback({ "FiraCode Nerd Font", "FireCodeNF" }),
- font_size = 11,
-
- -- disable_default_key_bindings = true,
- keys = {
- { key = "-", mods = "CTRL", action = "DecreaseFontSize" },
- { key = "=", mods = "CTRL", action = "IncreaseFontSize" },
- },
-
- alternate_buffer_wheel_scroll_speed = 1,
-}
-
-return config
diff --git a/wired/.config/systemd/user/wired.service b/wired/.config/systemd/user/wired.service
deleted file mode 100644
index e219413..0000000
--- a/wired/.config/systemd/user/wired.service
+++ /dev/null
@@ -1,11 +0,0 @@
-[Unit]
-Description=Wired Notification Daemon
-PartOf=graphical-session.target
-
-[Service]
-Type=dbus
-BusName=org.freedesktop.Notifications
-ExecStart=/usr/bin/wired
-
-[Install]
-WantedBy=graphical-session.target
diff --git a/wired/.config/wired/wired.ron b/wired/.config/wired/wired.ron
deleted file mode 100644
index 59b8a4d..0000000
--- a/wired/.config/wired/wired.ron
+++ /dev/null
@@ -1,172 +0,0 @@
-(
- // Maximum number of notifications to show at any one time.
- // A value of 0 means that there is no limit.
- max_notifications: 0,
-
- // The default timeout, in miliseconds, for notifications that don't have an initial timeout set.
- // 1000ms = 1s.
- timeout: 10000,
-
- // `poll_interval` decides decides how often (in milliseconds) Wired checks for new notifications, events,
- // draws notifications (if necessary), etc.
- // Note that when no notifications are present, Wired always polls at 500ms.
- // 16ms ~= 60hz / 7ms ~= 144hz.
- poll_interval: 16,
-
- // Wired will pause notifications if you are idle (no mouse or keyboard input) for longer than
- // `idle_threshold` seconds.
- // Note that notifications will not be automatically unpaused on wake, and will need to be manually
- // cleared, unless `unpause_on_input` is set to true.
- // Also note that no distinction is made between manually paused and idle paused notifications.
- // If `idle_threshold` is not specified, the behavior will be disabled entirely.
- //idle_threshold: 3600,
-
- // Notifications will spawn paused, and have to be manually unpaused or cleared by the user,
- // unless `unpause_on_input` is also set.
- //notifications_spawn_paused: false,
-
- // Unpause notifications when we receive any input after being idle for longer than 1 second.
- // Note that no distinction is made between manually paused notifications and idle paused/spawned notifications.
- //unpause_on_input: false,
-
- // Enable/disable replacement functionality.
- // If this is disabled, replacement requests will just send a new notification.
- // E.g., with replacing_enabled: true, Pidgin will only show the latest message from each contact,
- // instead of sending a new one for each message.
- // Default: true
- //replacing_enabled: true,
-
- // Whether a notification should reset its timeout when it is replaced.
- // No effect if replacing_enabled is set to false.
- // Default: false
- //replacing_resets_timeout: false,
-
- // Some apps/programs close notifications on their own by sending a request to dbus.
- // Sometimes this is not desired.
- // Default: true
- //closing_enabled: true,
-
- // How many notifications are kept in history.
- // Each notification is roughly 256 bytes (excluding buffers!), so there's some math to do here.
- // Default: 10
- //history_length: 10,
-
- // When a `NotificationBlock` has monitorr: -1 (i.e. should follow active monitor), then what input
- // should we use to determine the active monitor?
- // Options: Mouse, Window
- // Default: Mouse
- //focus_follows: Mouse,
-
- // Enable printing notification data to a file.
- // Useful for scripting purposes.
- // The data is written as JSON.
- // Default: None
- //print_to_file: "/tmp/wired.log",
-
- // Minimum window width and height. This is used to create the base rect that the notification
- // grows within.
- // The notification window will never be smaller than this.
- // A value of 1 means that the window will generally always resize with notification, unless
- // you have a 1x1 pixel notification...
- // Generally, you shouldn't need to set this.
- //min_window_width: 1,
- //min_window_height: 1,
-
- // Enable/disable debug rendering.
- debug: false,
- debug_color: Color(r: 0.0, g: 1.0, b: 0.0, a: 1.0), // Primary color for debug rectangles.
- debug_color_alt: Color(r: 1.0, g: 0.0, b: 0.0, a: 1.0), // Secondary color for debug rectangles.
-
- layout_blocks: [
- // Layout 1, when an image is present.
- (
- name: "root",
- parent: "",
- hook: Hook(parent_anchor: TR, self_anchor: TR),
- offset: Vec2(x: -7.0, y: 7.0),
- //render_criteria: [HintImage],
- // https://github.com/Toqozz/wired-notify/wiki/NotificationBlock
- params: NotificationBlock((
- monitor: 0,
- border_width: 3.0,
- border_rounding: 3.0,
- //background_color: Color(r: 0.15686, g: 0.15686, b: 0.15686, a: 1.0),
- background_color: Color(hex: "#282828"),
- border_color: Color(hex: "#ebdbb2"),
- border_color_low: Color(hex: "#282828"),
- border_color_critical: Color(hex: "#fb4934"),
- border_color_paused: Color(hex: "#fabd2f"),
-
- gap: Vec2(x: 0.0, y: 8.0),
- notification_hook: Hook(parent_anchor: BR, self_anchor: TR),
- )),
- ),
-
- (
- name: "image",
- parent: "root",
- hook: Hook(parent_anchor: TL, self_anchor: TL),
- offset: Vec2(x: 0.0, y: 0.0),
- // https://github.com/Toqozz/wired-notify/wiki/ImageBlock
- params: ImageBlock((
- image_type: Hint,
- // We actually want 4px padding, but the border is 3px.
- padding: Padding(left: 7.0, right: 0.0, top: 7.0, bottom: 7.0),
- rounding: 3.0,
- scale_width: 48,
- scale_height: 48,
- filter_mode: Lanczos3,
- )),
- ),
-
- (
- name: "summary",
- parent: "image",
- hook: Hook(parent_anchor: MR, self_anchor: BL),
- offset: Vec2(x: 0.0, y: 0.0),
- // https://github.com/Toqozz/wired-notify/wiki/TextBlock
- params: TextBlock((
- text: "%s",
- font: "Arial Bold 11",
- ellipsize: Middle,
- color: Color(hex: "#ebdbb2"),
- color_hovered: Color(hex: "#fbf1c7"),
- padding: Padding(left: 7.0, right: 7.0, top: 7.0, bottom: 0.0),
- dimensions: (width: (min: 50, max: 150), height: (min: 0, max: 0)),
- )),
- ),
-
- (
- name: "body",
- parent: "summary",
- hook: Hook(parent_anchor: BL, self_anchor: TL),
- offset: Vec2(x: 0.0, y: -3.0),
- // https://github.com/Toqozz/wired-notify/wiki/ScrollingTextBlock
- params: ScrollingTextBlock((
- text: "%b",
- font: "Arial 11",
- color: Color(hex: "#ebdbb2"),
- color_hovered: Color(hex: "#fbf1c7"),
- padding: Padding(left: 7.0, right: 7.0, top: 3.0, bottom: 7.0),
- width: (min: 150, max: 250),
- scroll_speed: 0.1,
- lhs_dist: 35.0,
- rhs_dist: 35.0,
- scroll_t: 1.0,
- )),
- ),
- ],
-
- // https://github.com/Toqozz/wired-notify/wiki/Shortcuts
- shortcuts: ShortcutsConfig (
- notification_interact: 1,
- notification_close: 2,
- // notification_closeall: 99,
- // notification_pause: 99,
-
- notification_action1: 3,
- // notification_action2: 99,
- // notification_action3: 99,
- // notification_action4: 99,
- ),
-)
diff --git a/yubikey.md b/yubikey.md
deleted file mode 100644
index 8e16312..0000000
--- a/yubikey.md
+++ /dev/null
@@ -1,93 +0,0 @@
-# WSL2 YubiKey setup
-
-## UPDATE
-
-This is no longer necessary due to [usbipd-win](https://github.com/dorssel/usbipd-win)
-
-I am now using [usbipd-win](https://github.com/dorssel/usbipd-win) to mount the yubikey directly into WSL2, and using [distod](https://github.com/nullpo-head/wsl-distrod) (adds bottled systemd to wsl) to start services as I normally would in linux
-
-- [WSL2 YubiKey Setup](#wsl2-yubikey-setup)
- - [Intro](#Intro)
- - [SSH Agent](#ssh-agent)
- - [In Windows](#in-windows)
- - [VS Code](#vs-code)
- - [In WSL2](#in-wsl2)
-
-## Intro
-
-The following two sections are the result of a painstaking amount of google searches and GitHub issues followed by troubleshooting, tears, and tea breaks. Well, more accurately, the 20% came from the aforementioned alliteration. The 80% came from the following two guides.
-
-- [drduh/YubiKey-Guide](https://github.com/drduh/YubiKey-Guide)
-- [The ultimate guide to YubiKey on WSL2](https://dev.to/dzerycz/series/11353)
-- [Forwarding gpg-agent to a remote system over SSH](https://wiki.gnupg.org/AgentForwarding)
-
-The former is an incredibly detailed guide to setting up GPG keys using YubiKey as a smart card. The amount of information drduh has organized in that repository in immense, so I urge you to go star it if you find anything in this section helpful, as he deserves at least that much.
-
-The second guide was used more as a reference/verification source for the first guide but none-the-less I found it to be helpful, so I figured I would include it here.
-
-While I went down this rock filled rabbit hole for the purpose of getting my YubiKey working (seamlessly) in WSL2, the majority of this should be helpful even if you don't use a security key, as its specificity deals with getting the respective agents/sockets communicating between WSL2 and Windows.
-
-<!-- TODO ssh/git config to use gpnupg -->
-<!-- TODO setting up remote gpg/ssh forwarding -->
-
-## Windows
-
-### SSH Agent
-
-Install [gpg-bridge](https://github.com/BusyJay/gpg-bridge) using cargo
-
-```powershell
-# Powershell
-cargo install -f --git https://github.com/busyjay/gpg-bridge
-```
-
-Set gpg-bridge to run on startup
-
-```powershell
-# Powershell
-$cmdl = "$HOME\.cargo\bin\gpg-bridge.exe gpg-bridge-ssh --extra 127.0.0.1:4321 --ssh \\.\pipe\gpg-bridge-ssh --detach"
-$key = New-Item -Path 'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run' -Force
-New-ItemProperty -Path $key.PSPath -Name "gpg-bridge" -Value "$cmdl"
-```
-
-Set SSH_AUTH_SOCK to have ssh use the translated pipe
-
-```powershell
-# Powershell
-[System.Environment]::SetEnvironmentVariable('SSH_AUTH_SOCK',"\\.\pipe\gpg-bridge-ssh")
-```
-
-One-off to run gpg-bridge.exe without restarting
-
-```powershell
-# Powershell
-Invoke-Expression "& $cmdl"
-```
-
-### GPG Agent
-
-On the windows side the YubiKey is fully accessible, the GPG agent should just work.
-
-## In WSL2
-
-### SSH Agent
-
-```sh
-# Bash
-
-# Install depends
-sudo apt install socat iproute2
-
-# Install wsl2-ssh-pageant
-destination="$HOME/.ssh/wsl2-ssh-pageant.exe"
-curl -sL "https://github.com/BlackReloaded/wsl2-ssh-pageant/releases/latest/download/wsl2-ssh-pageant.exe" -o "$destination"
-# wget -O "$destination" "https://github.com/BlackReloaded/wsl2-ssh-pageant/releases/latest/download/wsl2-ssh-pageant.exe"
-# Set the executable bit.
-chmod +x "$destination"
-```
-
-### GPG Agent
-
-The only setup needed for getting the YubiKey working in WSL2 is to source/copy-paste [gpg.sh](wsl/gpg.sh) in your shell profile.
-
-Along with the initialization code, I wrote a small function the resets all the related agents/sockets. If you do not attempt to access the YubiKey while it is not inserted, in my experience, GPG works great has no issues once reinserting the YubiKey. It is only (inconsistently) when you try to access a YubiKey that you have removed that puts it in a failed state.
diff --git a/zk/.config/zk/config.toml b/zk/.config/zk/config.toml
deleted file mode 100644
index db5c4c8..0000000
--- a/zk/.config/zk/config.toml
+++ /dev/null
@@ -1,40 +0,0 @@
-[note]
-filename = "{{id}}"
-id-charset = "hex"
-id-length = 8
-id-case = "lower"
-
-[extra]
-author = "Toby Vincent"
-
-[format.markdown]
-hashtags = true
-colon-tags = false
-multiword-tags = false
-
-[tool]
-fzf-preview = "bat -p --color always {-1} 2>/dev/null || cat {-1} 2>/dev/null"
-
-[lsp.diagnostics]
-wiki-title = "hint"
-dead-link = "error"
-
-[lsp.completion]
-note-label = "{{title-or-path}}"
-note-filter-text = "{{title}} {{path}}"
-note-detail = "{{filename-stem}}"
-
-[alias]
-ls = "zk list $@"
-recent = "zk edit --sort created- --created-after 'last two weeks' --interactive"
-log = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git log --patch --"
-lg = "zk list --format path --delimiter0 --quiet $@ | xargs -t -0 git lg --patch --"
-editlast = "zk edit --limit 1 --sort modified- $@"
-gen = "neuron gen -o public"
-serve = "neuron gen -wS"
-conf = '$EDITOR "$ZK_NOTEBOOK_DIR/.zk/config.toml"'
-# Print paths separated with colons for the notes found with the given
-# arguments. This can be useful to expand a complex search query into a flag
-# taking only paths. For example:
-# zk list --link-to "`zk path -m potatoe`"
-#path = "zk list --quiet --format {{path}} --delimiter , $@"
diff --git a/zk/.local/bin/zkf b/zk/.local/bin/zkf
deleted file mode 100755
index c33e4f7..0000000
--- a/zk/.local/bin/zkf
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-if [ "$#" -eq 0 ]; then
- set -- "$(
- rg '^# (.*)$' "$ZK_NOTEBOOK_DIR" --type=markdown --max-count=1 --vimgrep --replace '$1' \
- --no-line-number --no-column --sort=modified |
- fzf-tmux "$FZF_TMUX_OPTS" -- --tac --print-query -d: --with-nth -1 \
- --bind 'focus:transform-header(echo {1})' \
- --preview-window='right,100,<100(up,75%,border-bottom)' \
- --preview="glow -l -w 100 --style dark {1}" |
- tail -1 |
- cut -d: -f1
- )"
-fi
-
-if [ -z "$1" ]; then
- exit 1
-elif [ -f "$1" ]; then
- $EDITOR -c "cd $ZK_NOTEBOOK_DIR" "$1"
-else
- zk new --title="$1"
-fi