nix

configuration files that power my machines
Log | Files | Refs | README | LICENSE

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:
Mflake.lock | 12++++++------
Mhosts/void/default.nix | 1+
Mhosts/void/overlays/config/shell/rc/void | 0
Mmodules/mixins/dotfiles/bin/todomenu | 8+++++---
Mmodules/mixins/dotfiles/bin/yank-to-todo | 5++++-
Mmodules/mixins/dotfiles/config/newsraft/feeds | 6++++--
Mmodules/mixins/dotfiles/config/nvim/fnl/functions.fnl | 11+++++++++++
Mmodules/mixins/dotfiles/config/shell/rc/aliased-short-names | 2+-
Mmodules/mixins/dotfiles/config/shell/rc/todo | 13++++++++-----
Amodules/mixins/dotfiles/home/neatvi | 16++++++++++++++++
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: / +.