commit 6e8863122f2fe2dfb3a41b6bb79c07c409330c2c
parent 73a8efd741514a6c34db8bfe5b0cefe1523ed577
Author: mtmn <miro@haravara.org>
Date: Sun, 21 Jun 2026 04:01:11 +0200
dotfiles: use vi for todo.txt, feeds, cleanup, etc.
Diffstat:
10 files changed, 56 insertions(+), 18 deletions(-)
diff --git a/flake.lock b/flake.lock
@@ -162,11 +162,11 @@
]
},
"locked": {
- "lastModified": 1781980822,
- "narHash": "sha256-UF4TqfMJCYOKVhLqgWnLZIdFm///wbUGlV0HyB2wHRg=",
+ "lastModified": 1782051614,
+ "narHash": "sha256-xBRAhYLEXcjp8hM2tkkTTLb6PWU7VDxDoogl25g7Ezs=",
"owner": "nix-community",
"repo": "home-manager",
- "rev": "8695ecb389cb43449fba0494ffc21065c7cde39d",
+ "rev": "d1ccd0721ec599866622665f3651e19e6e2d4c6a",
"type": "github"
},
"original": {
@@ -204,11 +204,11 @@
]
},
"locked": {
- "lastModified": 1781422160,
- "narHash": "sha256-W7S8O86bVrw2gaomEwkHStOzmPpnFIHQ6lS4Q2HffJ0=",
+ "lastModified": 1782030356,
+ "narHash": "sha256-h4WpMr455AfRub0FXBaon6Vcpe0waUyJ4GivIW6oyd4=",
"owner": "nix-community",
"repo": "nix-index-database",
- "rev": "854d04e2368fb2e9c328a36b3c0a04cd713bfae1",
+ "rev": "3017088b49efd404f78e3b104f553b97e4af786b",
"type": "github"
},
"original": {
diff --git a/hosts/void/default.nix b/hosts/void/default.nix
@@ -47,6 +47,7 @@
vcs = [
git-crypt
git-absorb
+ git-bug
lazygit
jujutsu
jjui
diff --git a/hosts/void/overlays/config/shell/rc/void b/hosts/void/overlays/config/shell/rc/void
Binary files differ.
diff --git a/modules/mixins/dotfiles/bin/todomenu b/modules/mixins/dotfiles/bin/todomenu
@@ -13,15 +13,17 @@ selected=$(awk '{
printf "%s\n", arr[1]
}
}
-}' "$TODO_FILE" | tac | dmenu "$@")
+}' "$TODO_FILE" | dmenu "$@")
[ -z "$selected" ] && exit 0
task="$selected"
if ! grep -q "^todo: $task$" "$TODO_FILE"; then
- [ -n "$(tail -c1 "$TODO_FILE")" ] && printf '\n' >>"$TODO_FILE"
- printf "%s\ntodo: %s\n" "$(date --rfc-3339=s)" "$task" >>"$TODO_FILE"
+ tmp=$(mktemp)
+ printf "%s\ntodo: %s\n\n" "$(date --rfc-3339=s)" "$task" > "$tmp"
+ cat "$TODO_FILE" >> "$tmp"
+ mv "$tmp" "$TODO_FILE"
else
action=$(printf "copy to clipboard\nmark as done\nopen in firefox" | dmenu -p "$task" "$@")
case "$action" in
diff --git a/modules/mixins/dotfiles/bin/yank-to-todo b/modules/mixins/dotfiles/bin/yank-to-todo
@@ -25,7 +25,10 @@ if [[ ! "$url" =~ ^https?:// ]]; then
exit 1
fi
-if printf "\n%s\ntodo: %s" "$(date --rfc-3339=s)" "$url" >>"$todo_file"; then
+tmp=$(mktemp)
+printf "%s\ntodo: %s\n\n" "$(date --rfc-3339=s)" "$url" > "$tmp"
+cat "$todo_file" >> "$tmp"
+if mv "$tmp" "$todo_file"; then
notify-send "Saved" "$url"
else
notify-send -u critical "Error" "$url"
diff --git a/modules/mixins/dotfiles/config/newsraft/feeds b/modules/mixins/dotfiles/config/newsraft/feeds
@@ -36,6 +36,8 @@ https://dxuuu.xyz/atom.xml
https://matklad.github.io/feed.xml
https://yosefk.com/blog/feed
https://www.scattered-thoughts.net/atom.xml
+https://romain.blogreen.org/blog/rss-short.xml
+https://sibexi.co/index.xml
@ substack < reload-period 120
@@ -175,7 +177,6 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCQvW_89l7f-hCMP1pzGm4xw Nat
https://www.youtube.com/feeds/videos.xml?channel_id=UCIXSzjCcjIsJI9x20Z9Gj_w 91cheef
https://www.youtube.com/feeds/videos.xml?channel_id=UCL1VdVcXmP5sQyVLt81QMyg 2 and 20
https://www.youtube.com/feeds/videos.xml?channel_id=UC7kh4XfuXF_U4dzSw3hlPaw Jonas Laursen
-https://www.youtube.com/feeds/videos.xml?channel_id=UC8ENHE5xdFSwx71u3fDH5Xw ThePrimeagen
https://www.youtube.com/feeds/videos.xml?channel_id=UCT7H_xchRHaT9zr5GalIZVA Evan Edinger
https://www.youtube.com/feeds/videos.xml?channel_id=UCoL8olX-259lS1N6QPyP4IQ Action Retro
https://www.youtube.com/feeds/videos.xml?channel_id=UCAMu6Dso0ENoNm3sKpQsy0g Nir Lichtman
@@ -212,7 +213,6 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UC3X1WIw_qDex4rSd9TNCPyA The
https://www.youtube.com/feeds/videos.xml?channel_id=UCK8XIGR5kRidIw2fWqwyHRA Reducible
https://www.youtube.com/feeds/videos.xml?channel_id=UCyI8tCKHgsaOPkwCjLt3kuQ Srcerer
https://www.youtube.com/feeds/videos.xml?channel_id=UConVfxXodg78Tzh5nNu85Ew Welch Labs
-https://www.youtube.com/feeds/videos.xml?channel_id=UC2EQzAewrC10KCDFSS4j-zA Zig SHOWTIME
https://www.youtube.com/feeds/videos.xml?channel_id=UCOt3Ssxx03pxLdH3qzyTAsQ Daniel Hirsch
https://www.youtube.com/feeds/videos.xml?channel_id=UCCkVMojdBWS-JtH7TliWkVg GynvaelEN
https://www.youtube.com/feeds/videos.xml?channel_id=UC-yuWVUplUJZvieEligKBkA javidx9
@@ -235,3 +235,5 @@ https://www.youtube.com/feeds/videos.xml?channel_id=UCnbKOlm6H9njgmN-Yil90Rg Hea
https://www.youtube.com/feeds/videos.xml?channel_id=UC7UukP_hxrOsrwHrcHxOxxg Kay Lack
https://www.youtube.com/feeds/videos.xml?channel_id=UCUv35okF8MSo2dFQx5LrNmA Chalk Talk
https://www.youtube.com/feeds/videos.xml?channel_id=UCSWMraguMlNanVQgseTTr_Q f4mi
+https://www.youtube.com/feeds/videos.xml?channel_id=UCfzlCWGWYyIQ0aLC5w48gBQ sentdex
+https://www.youtube.com/feeds/videos.xml?channel_id=UC4a9LfdavRlVMaSSWFdIciA RobWords
diff --git a/modules/mixins/dotfiles/config/nvim/fnl/functions.fnl b/modules/mixins/dotfiles/config/nvim/fnl/functions.fnl
@@ -1,3 +1,14 @@
+(vim.api.nvim_create_user_command :Lsp
+ (fn [opts]
+ (vim.lsp.enable opts.fargs)
+ (vim.api.nvim_exec_autocmds :FileType
+ {:group :nvim.lsp.enable
+ :buffer 0}))
+ {:nargs "+"
+ :complete #(icollect [_ path (ipairs (vim.api.nvim_get_runtime_file :lsp/*.lua
+ true))]
+ (vim.fn.fnamemodify path ":t:r"))})
+
(vim.api.nvim_create_autocmd [:BufRead :BufNewFile]
{:pattern [:*.m3u :*.m3u8]
:callback (fn []
diff --git a/modules/mixins/dotfiles/config/shell/rc/aliased-short-names b/modules/mixins/dotfiles/config/shell/rc/aliased-short-names
@@ -131,7 +131,7 @@ alias ju='just'
alias rnj='just run'
alias dfj='just diff'
-alias cej='just check'
+alias chj='just check'
alias bdj='just build'
alias dpj='just deploy'
diff --git a/modules/mixins/dotfiles/config/shell/rc/todo b/modules/mixins/dotfiles/config/shell/rc/todo
@@ -5,17 +5,20 @@ alias tn='todo-notify'
ta() {
if [ $# -eq 0 ]; then
+ t=${TMPDIR:-/tmp}/ta.$$
{
+ date '+%Y-%m-%d %H:%M:%S'
+ printf 'todo: \n'
echo
- date --rfc-3339=s
- echo -n "todo: "
- } >>~/misc/notes/nota/todo.txt
- /usr/local/bin/ne + --macro "end-of-line" ~/misc/notes/nota/todo.txt
+ } >|"$t"
+ [ -f ~/misc/notes/nota/todo.txt ] && cat ~/misc/notes/nota/todo.txt >>"$t"
+ \mv "$t" ~/misc/notes/nota/todo.txt
+ vi ~/misc/notes/nota/todo.txt
else
tma "$@"
fi
}
te() {
- /usr/local/bin/ne + ~/misc/notes/nota/todo.txt
+ vi ~/misc/notes/nota/todo.txt
}
diff --git a/modules/mixins/dotfiles/home/neatvi b/modules/mixins/dotfiles/home/neatvi
@@ -0,0 +1,16 @@
+" q t : toggle between todo/done
+rs \t
+s/todo/__SWAP__/
+s/done/todo/
+s/__SWAP__/done/
+.
+
+" q i : set as todo
+rs \i
+s/^/todo: /
+.
+
+" q o : set as done
+rs \o
+s/^/done: /
+.