dotfiles

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit ff92365c527bcf6bf528c7890ba273e341bca543
parent 109e8956d7661b62480c70d4dbba09f3fe459864
Author: andrew.laack <andrew.laack@imbue.com>
Date:   Thu,  4 Sep 2025 13:30:29 -0500

Set up newsboat

Diffstat:
M.gitignore | 5+++++
Mbashrc | 43++++++++++++++++++++++++++++++++++++++-----
Anewsboat/config | 40++++++++++++++++++++++++++++++++++++++++
Anewsboat/urls | 12++++++++++++
Mqutebrowser/autoconfig.yml | 40+++++++++++++++++++++++++++++++++++++++-
5 files changed, 134 insertions(+), 6 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -15,3 +15,8 @@ obs-studio/* yarn/* torbrowser/* Cursor/* + +newsboat/cache.db +newsboat/history.cmdline +newsboat/history.search +newsboat/queue diff --git a/bashrc b/bashrc @@ -84,16 +84,15 @@ clone-private() { alias pw='cat ~/keys/pw.txt | xclip -selection clipboard' -# Mount remote drive -alias mount-server="sshfs andrew@brgr.heron-peacock.ts.net:/home/shared/ /home/server/ -o reconnect" -alias mount-home="sshfs andrew@brgr.heron-peacock.ts.net:/home/andrew/ /home/andrew/mount/ -o reconnect" -alias mount-shared="sshfs andrew@brgr.heron-peacock.ts.net:/home/shared/ /home/andrew/mount/ -o reconnect" +# alias mount-server="sshfs andrew@brgr.heron-peacock.ts.net:/home/shared/ /home/server/ -o reconnect" +# alias mount-home="sshfs andrew@brgr.heron-peacock.ts.net:/home/andrew/ /home/andrew/mount/ -o reconnect" +# alias mount-shared="sshfs andrew@brgr.heron-peacock.ts.net:/home/shared/ /home/andrew/mount/ -o reconnect" sendit() { git add . && git commit -m "$1" && git push } -export EDITOR=vim +export EDITOR=nvim alias sshServer='ssh andrew@brgr.heron-peacock.ts.net' export PS1='\u@\h:\W\$ ' @@ -126,3 +125,37 @@ source /usr/share/fzf/key-bindings.bash alias checkout="~/bin/checkout.sh" alias branch="git branch" alias src="source ~/venv/bin/activate" + +zcp() { + if [ -z "$1" ]; then + echo "No destination specified. Usage: zcp <zoxide target>" + return 1 + fi + cp -r $(find . | fzf -m) "$(zoxide query "$1")" +} + +zmv() { + if [ -z "$1" ]; then + echo "No destination specified. Usage: zmv <zoxide target>" + return 1 + fi + mv $(find . | fzf -m) "$(zoxide query "$1")" +} + +eval "$(fzf --bash)" + +mans() { + man -k . | awk '{print $1}' | fzf | sed 's/(.*)//' | xargs man +} + +packages() { + local pkgs + pkgs=$(pacman -Slq | fzf -m) || return + sudo pacman -S $pkgs +} + +what-the-hell-is-even-that(){ + TMP=$(mktemp) + pacman -Sq --info > $TMP + nvim $TMP +} diff --git a/newsboat/config b/newsboat/config @@ -0,0 +1,40 @@ +# general settings +auto-reload yes +max-items 50 + +# solarized +color background default default +color listnormal default default +color listnormal_unread default default +color listfocus black cyan +color listfocus_unread black cyan +color info default black +color article default default + + +unbind-key g +bind-key g home +unbind-key G +bind-key G end + +# highlights +highlight article "^(Title):.*$" blue default +highlight article "https?://[^ ]+" red default +highlight article "\\[image\\ [0-9]+\\]" green default + +browser "qutebrowser %u" + +show-read-feeds no +refresh-on-startup yes +show-read-articles no +reload-threads 100 # parallelize + +bind-key RIGHT open +bind-key LEFT quit + +bind-key ^D pagedown +bind-key ^U pageup +bind-key ^H toggle-show-read-feeds + +bind-key SPACE macro-prefix +macro q quit diff --git a/newsboat/urls b/newsboat/urls @@ -0,0 +1,12 @@ +https://feeds.arstechnica.com/arstechnica/technology-lab +https://geohot.github.io/blog/feed.xml +https://suckless.org/atom.xml + +"query:YouTube:tags # \"YouTube\"" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULFUyeluBRhGPCW4rPe_UvBZQ "~The Primeagen" "YouTube" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULF04nROIJrY22Gl2aFqKcdqQ "~Sylvan Franklin" "YouTube" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULF2eYFnH61tmytImy1mTYvhA "~Luke Smith" "YouTube" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULF7YOGHUfC1Tb6E4pudI9STA "~Mental Outlaw" "YouTube" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULFwHwDuNd9lCdA7chyyquDXw "~Bread on Penguins" "YouTube" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULFYO_jab_esuFRV4b17AJtAw "~3 Blue 1 Brown" "YouTube" +https://www.youtube.com/feeds/videos.xml?playlist_id=UULFSHZKyawb77ixDdsGog4iWA "~Lex Fridman" "YouTube" diff --git a/qutebrowser/autoconfig.yml b/qutebrowser/autoconfig.yml @@ -39,6 +39,7 @@ settings: <Ctrl+Shift+Up>: tab-move - <Ctrl+Tab>: null <Ctrl+Up>: tab-prev + <Ctrl+h>: config-cycle tabs.show always switching <Ctrl+n>: tab-give <Ctrl+p>: open -t -- {clipboard} <Ctrl+s>0: tab-focus 0 @@ -55,10 +56,35 @@ settings: ms: hint links spawn mpv --force-window=immediate '{hint-url}' p: open -t -- {clipboard} s: hint - t: open -t https://google.com + t: open -t https://start.duckduckgo.com x: tab-close yf: hint links yank ys: hint links yank + colors.hints.bg: + global: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 rgba(255, 255, 255, 1.0), + stop:1 rgba(255, 255, 255, 1.0)) + colors.hints.fg: + global: '#000000' + colors.hints.match.fg: + global: '#FF0000' + colors.tabs.even.bg: + global: black + colors.tabs.even.fg: + global: white + colors.tabs.odd.bg: + global: black + colors.tabs.odd.fg: + global: white + colors.tabs.selected.even.bg: + global: white + colors.tabs.selected.even.fg: + global: black + colors.tabs.selected.odd.bg: + global: white + colors.tabs.selected.odd.fg: + global: black + colors.webpage.darkmode.enabled: + global: true content.headers.user_agent: www.sciencedirect.com: Mozilla/5.0 ({os_info}) AppleWebKit/{webkit_version} (KHTML, like Gecko) {qt_key}/{qt_version} {upstream_browser_key}/122.0.0.0 Safari/{webkit_version} @@ -78,12 +104,24 @@ settings: https://app.zoom.us: false https://gitlab.com: false https://mailadmin.zoho.com: false + content.proxy: + global: socks://localhost:9050/ content.register_protocol_handler: https://mail.google.com?extsrc=mailto&url=%25s: false https://outlook.office.com?mailtouri=%25s: false + fonts.default_size: + global: 12pt + fonts.hints: + global: bold default_size default_family hints.chars: global: arstdhneio + tabs.max_width: + global: -1 tabs.position: global: top + tabs.show: + global: switching + tabs.title.format: + global: '{audio}{index}: {current_title}' tabs.width: global: 50