Adding new configs. - dotfiles - These are my dotfiles. There are many like it, but these are mine.
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) README
---
(DIR) commit 78aac95cb0a506bae5acfb01a92d30b599fc9dca
(DIR) parent 58414aeee16c5b89b06b5437a4bcb346041c830b
(HTM) Author: Jay Scott <me@jay.scot>
Date: Thu, 28 Sep 2023 19:29:15 +0100
Adding new configs.
Diffstat:
M bin/fet.sh | 221 +++++++++++++++++--------------
R bin/game_select.sh -> bin/old/game… | 0
R bin/offline.sh -> bin/old/offline.… | 0
M bin/sway-run.sh | 3 +--
M bootstrap.sh | 2 +-
D newsboat/config | 29 -----------------------------
D newsboat/gruvbox | 20 --------------------
D newsboat/urls | 103 -------------------------------
A newsraft/config | 7 +++++++
A newsraft/feeds | 92 +++++++++++++++++++++++++++++++
10 files changed, 219 insertions(+), 258 deletions(-)
---
(DIR) diff --git a/bin/fet.sh b/bin/fet.sh
@@ -7,10 +7,10 @@
# supress errors
exec 2>/dev/null
set --
-eq() { # equals | [ a = b ] with globbing
+eq() { # equals | [ a = b ] with globbing
case $1 in
- $2) ;;
- *) return 1;;
+ $2) ;;
+ *) return 1 ;;
esac
}
@@ -33,23 +33,23 @@ if [ -e /proc/$$/comm ]; then
# then save that to a variable and exit the file
while read -r line; do
eq "$line" 'PPid*' && ppid=${line##*:?} && break
- done < "/proc/${ppid:-$PPID}/status"
+ done <"/proc/${ppid:-$PPID}/status"
# Make sure not to do an infinite loop
[ "$pppid" = "$ppid" ] && break
pppid=$ppid
# get name of binary
- read -r name < "/proc/$ppid/comm"
+ read -r name <"/proc/$ppid/comm"
case $name in
- *sh|"${0##*/}") ;; # skip shells
- *[Ll]ogin*|*init|*systemd*) break;; # exit when the top is reached
- # anything else can be assumed to be the terminal
- # this has the side affect of catching tmux, but tmux
- # detaches from the terminal and therefore ignoring that
- # will just make the init the term
- *) term=$name
+ *sh | "${0##*/}") ;; # skip shells
+ *[Ll]ogin* | *init | *systemd*) break ;; # exit when the top is reached
+ # anything else can be assumed to be the terminal
+ # this has the side affect of catching tmux, but tmux
+ # detaches from the terminal and therefore ignoring that
+ # will just make the init the term
+ *) term=$name ;;
esac
done
@@ -57,10 +57,13 @@ if [ -e /proc/$$/comm ]; then
[ "$wm" ] ||
# loop over all processes and check the binary name
for i in /proc/*/comm; do
- read -r c < "$i"
+ read -r c <"$i"
case $c in
- *bar*|*rc) ;;
- awesome|xmonad*|qtile|sway|i3|[bfo]*box|*wm*) wm=${c%%-*}; break;;
+ *bar* | *rc) ;;
+ awesome | xmonad* | qtile | sway | i3 | [bfo]*box | *wm*)
+ wm=${c%%-*}
+ break
+ ;;
esac
done
@@ -69,38 +72,42 @@ if [ -e /proc/$$/comm ]; then
# then convert the amount (second word) from KB to MB
while read -r line; do
eq "$line" 'MemTotal*' && set -- $line && break
- done < /proc/meminfo
- mem="$(( $2 / 1000 ))MB"
+ done </proc/meminfo
+ mem="$(($2 / 1000))MB"
## Processor
while read -r line; do
case $line in
- vendor_id*) vendor="${line##*: } ";;
- model\ name*) cpu=${line##*: }; break;;
+ vendor_id*) vendor="${line##*: } " ;;
+ model\ name*)
+ cpu=${line##*: }
+ break
+ ;;
esac
- done < /proc/cpuinfo
+ done </proc/cpuinfo
## Uptime
# the simple math is shamefully stolen from aosync
- IFS=. read -r uptime _ < /proc/uptime
+ IFS=. read -r uptime _ </proc/uptime
d=$((uptime / 60 / 60 / 24))
up=$(printf %02d:%02d $((uptime / 60 / 60 % 24)) $((uptime / 60 % 60)))
[ "$d" -gt 0 ] && up="${d}d $up"
## Kernel
- read -r _ _ version _ < /proc/version
+ read -r _ _ version _ </proc/version
kernel=${version%%-*}
eq "$version" '*Microsoft*' && ID="fake $ID"
## Motherboard // laptop
- read -r model < /sys/devices/virtual/dmi/id/product_name
+ read -r model </sys/devices/virtual/dmi/id/product_name
# invalid model handling
case $model in
- # alternate file with slightly different info
- # on my laptop it has the device model (instead of 'hp notebook')
- # on my desktop it has the extended motherboard model
- 'System '*|'Default '*|'To Be Filled'*)
- read -r model < /sys/devices/virtual/dmi/id/board_name
+ # alternate file with slightly different info
+ # on my laptop it has the device model (instead of 'hp notebook')
+ # on my desktop it has the extended motherboard model
+ 'System '* | 'Default '* | 'To Be Filled'*)
+ read -r model </sys/devices/virtual/dmi/id/board_name
+ ;;
esac
## Packages
@@ -108,45 +115,48 @@ if [ -e /proc/$$/comm ]; then
# then save the argument count to $pkgs
set --
# kiss, arch, debian, void, gentoo
- for i in '/var/db/kiss/installed/*' '/var/lib/pacman/local/[0-9a-z]*' \
- '/var/lib/dpkg/info/*.list' '/var/db/xbps/.*' '/var/db/pkg/*/*'; do
+ for i in '/var/db/kiss/installed/*' '/var/lib/pacman/local/[0-9a-z]*' \
+ '/var/lib/dpkg/info/*.list' '/var/db/xbps/.*' '/var/db/pkg/*/*'; do
set -- $i
[ $# -gt 1 ] && pkgs=$# && break
done
- read -r host < /proc/sys/kernel/hostname
+ read -r host </proc/sys/kernel/hostname
elif [ -f /var/run/dmesg.boot ]; then
# Both OpenBSD and FreeBSD use this file, however they're formatted differently
- read -r bsd < /var/run/dmesg.boot
+ read -r bsd </var/run/dmesg.boot
case $bsd in
Open*)
## OpenBSD cpu/mem/name
while read -r line; do
case $line in
- 'real mem'*)
- # use the pre-formatted value which is in brackets
- mem=${line##*\(}
- mem=${mem%\)*}
+ 'real mem'*)
+ # use the pre-formatted value which is in brackets
+ mem=${line##*\(}
+ mem=${mem%\)*}
;;
- # set $cpu to everything before a comma and after the field name
- cpu0:*)
- cpu=${line#cpu0: }
- # Remove excess info after the actual CPU name
- cpu=${cpu%%,*}
- # Set the CPU Manufacturer to the first word of the cpu
- # variable [separated by '(' or ' ']
- vendor=${cpu%%[\( ]*}
- # We got all the info we want, stop reading
- break
+ # set $cpu to everything before a comma and after the field name
+ cpu0:*)
+ cpu=${line#cpu0: }
+ # Remove excess info after the actual CPU name
+ cpu=${cpu%%,*}
+ # Set the CPU Manufacturer to the first word of the cpu
+ # variable [separated by '(' or ' ']
+ vendor=${cpu%%[\( ]*}
+ # We got all the info we want, stop reading
+ break
;;
- # First 2 words in the file are OpenBSD <version>
- *) [ "$ID" ] || { set -- $line; ID="$1 $2"; }
+ # First 2 words in the file are OpenBSD <version>
+ *) [ "$ID" ] || {
+ set -- $line
+ ID="$1 $2"
+ } ;;
esac
- done < /var/run/dmesg.boot
+ done </var/run/dmesg.boot
[ -d /var/db/pkg ] && set -- /var/db/pkg/* && pkgs=$#
- read -r host < /etc/myname
+ read -r host </etc/myname
host=${host%.*}
- ;;
+ ;;
# Everything else, assume FreeBSD (first line is ---<<BOOT>> or something)
*)
# shellcheck source=/dev/null
@@ -156,56 +166,61 @@ elif [ -f /var/run/dmesg.boot ]; then
while read -r line; do
case $line in
- # os version
- FreeBSD*)
- # If the OS is already set, no need to set it again
- [ "$ID" ] && continue
- ID=${line%%-R*}
+ # os version
+ FreeBSD*)
+ # If the OS is already set, no need to set it again
+ [ "$ID" ] && continue
+ ID=${line%%-R*}
;;
- CPU:*)
- cpu=${cpu#CPU: }
- # Remove excess info from after the actual CPU name
- cpu=${line%\(*}
+ CPU:*)
+ cpu=${cpu#CPU: }
+ # Remove excess info from after the actual CPU name
+ cpu=${line%\(*}
;;
- *Origin=*)
- # CPU Manufacturer
- vendor=${line#*Origin=\"}
- vendor="${vendor%%\"*} "
+ *Origin=*)
+ # CPU Manufacturer
+ vendor=${line#*Origin=\"}
+ vendor="${vendor%%\"*} "
;;
- 'real memory'*)
- # Get the pre-formatted amount which is inside brackets
- mem=${line##*\(}
- mem=${mem%\)*}
- # This appears to be the final thing we need from the file,
- # no need to read it more.
- break
+ 'real memory'*)
+ # Get the pre-formatted amount which is inside brackets
+ mem=${line##*\(}
+ mem=${mem%\)*}
+ # This appears to be the final thing we need from the file,
+ # no need to read it more.
+ break
+ ;;
esac
- done < /var/run/dmesg.boot
- ;;
+ done </var/run/dmesg.boot
+ ;;
esac
-elif v=/System/Library/CoreServices/SystemVersion.plist; [ -f "$v" ]; then
+elif
+ v=/System/Library/CoreServices/SystemVersion.plist
+ [ -f "$v" ]
+then
## Macos
# make sure this variable is empty as to not break the following loop
temp=
while read -r line; do
case $line in
- # set a variable so the script knows it's on the correct line
- # (the line after this one is the important one)
- *ProductVersion*) temp=.;;
- *)
- # check if the script is reading the derired line, if not
- # don't do anything
- [ "$temp" ] || continue
- # Remove everything before and including the first '>'
- ID=${line#*>}
- # Remove the other side of the XML tag, and insert the actual OS name
- ID="MacOS ${ID%<*}"
- # We got the info we want, end the loop.
- break
+ # set a variable so the script knows it's on the correct line
+ # (the line after this one is the important one)
+ *ProductVersion*) temp=. ;;
+ *)
+ # check if the script is reading the derired line, if not
+ # don't do anything
+ [ "$temp" ] || continue
+ # Remove everything before and including the first '>'
+ ID=${line#*>}
+ # Remove the other side of the XML tag, and insert the actual OS name
+ ID="MacOS ${ID%<*}"
+ # We got the info we want, end the loop.
+ break
+ ;;
esac
- done < "$v"
+ done <"$v"
fi
eq "$0" '*fetish' && printf 'Step on me daddy\n' && exit
@@ -216,7 +231,7 @@ eq "$wm" '*[Gg][Nn][Oo][Mm][Ee]*' && wm='foot DE'
## GTK
while read -r line; do
eq "$line" 'gtk-theme*' && gtk=${line##*=} && break
-done < "${XDG_CONFIG_HOME:=$HOME/.config}/gtk-3.0/settings.ini"
+done <"${XDG_CONFIG_HOME:=$HOME/.config}/gtk-3.0/settings.ini"
# Shorten $cpu and $vendor
# this is so messy due to so many inconsistencies in the model names
@@ -248,19 +263,19 @@ print() {
for i in $info; do
case $i in
- n) echo;;
- os) print os "$ID";;
- sh) print sh "${SHELL##*/}";;
- wm) print wm "${wm##*/}";;
- up) print up "$up";;
- gtk) print gtk "${gtk# }";;
- cpu) print cpu "$vendor$cpu";;
- mem) print mem "$mem";;
- host) print host "$model";;
- kern) print kern "$kernel";;
- pkgs) print pkgs "$pkgs";;
- term) print term "$term";;
- user) printf '%7s@%s\n' "$USER" "$host";;
- col) col;;
+ n) echo ;;
+ os) print os "$ID" ;;
+ sh) print sh "${SHELL##*/}" ;;
+ wm) print wm "${wm##*/}" ;;
+ up) print up "$up" ;;
+ gtk) print gtk "${gtk# }" ;;
+ cpu) print cpu "$vendor$cpu" ;;
+ mem) print mem "$mem" ;;
+ host) print host "$model" ;;
+ kern) print kern "$kernel" ;;
+ pkgs) print pkgs "$pkgs" ;;
+ term) print term "$term" ;;
+ user) printf '%7s@%s\n' "$USER" "$host" ;;
+ col) col ;;
esac
done
(DIR) diff --git a/bin/game_select.sh b/bin/old/game_select.sh
(DIR) diff --git a/bin/offline.sh b/bin/old/offline.sh
(DIR) diff --git a/bin/sway-run.sh b/bin/sway-run.sh
@@ -13,8 +13,7 @@ export XDG_PICTURES_DIR="$HOME/tmp"
export XDG_VIDEOS_DIR="$HOME/tmp"
export XDG_CURRENT_DESKTOP=sway
-if [ -z "$XDG_RUNTIME_DIR" ]
-then
+if [ -z "$XDG_RUNTIME_DIR" ]; then
mkdir -p /tmp/runtime/jay
chmod 700 /tmp/runtime/jay
export XDG_RUNTIME_DIR=/tmp/runtime/jay
(DIR) diff --git a/bootstrap.sh b/bootstrap.sh
@@ -4,7 +4,7 @@ DOTFILES=$(pwd)
FILES='ashrc castgetrc profile vimrc'
ROOT='bin'
-CONFIG='foot git isync lynx mpd mutt ncmpcpp newsboat qutebrowser senpai slrn sway'
+CONFIG='foot git isync lynx mpd mutt ncmpcpp newsraft qutebrowser senpai slrn sway'
link() {
for f in $FILES; do ln -sfn "$DOTFILES/$f" "$HOME/.$f"; done
(DIR) diff --git a/newsboat/config b/newsboat/config
@@ -1,29 +0,0 @@
-# Default applications
-player mpv
-browser "~/bin/link_handler.sh"
-
-# Reload
-auto-reload no
-reload-time 30
-reload-threads 8
-
-prepopulate-query-feeds yes
-show-read-feeds no
-scrolloff 5
-
-# Feed settings
-show-read-articles no
-show-title-bar no
-download-full-page yes
-text-width 72
-
-articlelist-format "%D %?T?| %-17T | ?%t"
-
-# Maintenace
-confirm-mark-feed-read no
-cleanup-on-quit yes
-
-# Macros
-macro f set browser "qutebrowser %u" ; open-in-browser ; set browser "~/bin/link_handler.sh"
-
-include ~/.config/newsboat/gruvbox
(DIR) diff --git a/newsboat/gruvbox b/newsboat/gruvbox
@@ -1,20 +0,0 @@
-# Newsboat colour scheme to work with the Gruvbox palette
-# Inspired by the vim theme https://github.com/morhetz/gruvbox
-# Tested with the Kitty gruvbox terminal colour scheme
-# https://github.com/wdomitrz/kitty-gruvbox-theme
-
-color background color223 color0
-color listnormal color223 color0
-color listnormal_unread color2 color0
-color listfocus color223 color237
-color listfocus_unread color223 color237
-color info color8 color0
-color article color223 color0
-
-# highlights
-highlight article "^(Feed|Link):.*$" color11 default bold
-highlight article "^(Title|Date|Author):.*$" color11 default bold
-highlight article "https?://[^ ]+" color2 default underline
-highlight article "\\[[0-9]+\\]" color2 default bold
-highlight article "\\[image\\ [0-9]+\\]" color2 default bold
-highlight feedlist "^─.*$" color6 color6 bold
(DIR) diff --git a/newsboat/urls b/newsboat/urls
@@ -1,103 +0,0 @@
-"query:┌─Unread:unread = \"yes\""
-"query:├─All:tags != \"\""
-"query:│ ├─ Linux:tags # \"linux\""
-"query:│ ├─ Media:tags # \"media\""
-"query:│ ├─ Gaming:tags # \"gaming\""
-"query:│ ├─ Apps:tags # \"apps\""
-"query:│ ├─ People:tags # \"people\""
-"query:│ ├─ Gemini:tags # \"gemini\""
-"query:│ ├─ Podcast:tags # \"podcast\""
-"query:│ ├─ Videos:tags # \"youtube\""
-"query:│ ├─ Misc:tags # \"misc\""
-
-# LINUX
-https://tilde.news/newest.rss ! "~Tilde News" linux
-https://lwn.net/headlines/rss ! "~LWN" linux
-https://rss.slashdot.org/Slashdot/slashdotMain ! "~Slashdot" linux
-
-# MISC
-https://old.reddit.com/r/dumbphones/.rss ! "~R Dumbphones" misc
-https://old.reddit.com/r/aberdeen/.rss ! "~R Aberdeen" misc
-https://old.reddit.com/r/preppers/.rss ! "~R Preppers" misc
-https://old.reddit.com/r/preppersuk/.rss ! "~R Preppers UK" misc
-https://old.reddit.com/r/ukbike/.rss ! "~R UKBike" misc
-
-# MEDIA
-https://showrss.info/other/all.rss ! "~TV Torrents" media
-
-# GAMING
-https://www.gamingonlinux.com/article_rss.php ! "~Gaming On Linux" gaming
-
-# APPS
-https://blog.qutebrowser.org/feeds/all.atom.xml ! "~Qutebrowser" apps
-https://newsboat.org/news.atom ! "~Newsboat" apps
-https://git.sr.ht/~taiite/senpai/log/master/rss.xml ! "~Senpai" apps
-https://github.com/mlj/castget/commits.atom ! "~Castget" apps
-https://status.hetzner.com/en.atom ! "~Hetzner" apps
-https://gitlab.alpinelinux.org/alpine/aports/-/issues.atom ! "~aports issues" apps
-
-# PEOPLE
-https://codemadness.org/atom.xml ! "~CodeMadness" people
-https://drewdevault.com/blog/index.xml ! "~Drew DeVault" people
-http://joeyh.name/blog/index.rss ! "~Joey H" people
-https://unixsheikh.com/feed.rss ! "~Unix Sheikh" people
-https://www.uninformativ.de/blog/feeds/en.atom ! "~Uninformativ" people
-
-# GEMINI
-"exec:gemget tilde.team/~tomasino/atom.xml --output -" ! "~tomasino@tilde.team" gemini
-"exec:gemget capsule.usebox.net/gemlog/atom.xml --output -" ! "~Juans Gemlog" gemini
-"exec:gemget foobucket.xyz/gemlog/atom.xml --output -" ! "~Foobucket Gemlog" gemini
-"exec:gemget midnight.pub/feed.xml --output -" ! "~Midnight Pub" gemini
-"exec:gemget gemini://warmedal.se/~antenna/atom.xml --output -" ! "~Antenna" gemini
-
-# ODYSEE
-https://odysee.com/$/rss/@AlphaNerd:8 ! "~Mental Outlaws" youtube
-https://odysee.com/$/rss/@DistroTube:2 ! "~DistroTube" youtube
-https://odysee.com/$/rss/@BrodieRobertson:5 ! "~Brodie Robertson" youtube
-https://odysee.com/$/rss/@OfficialZaney:8 ! "~Zaney" youtube
-https://odysee.com/$/rss/@thelinuxcast:4 ! "~Linux Cast" youtube
-https://odysee.com/$/rss/@SystemCrafters:e ! "~System Crafters" youtube
-https://odysee.com/$/rss/@tuxfoo:e ! "~Tuxfoo" youtube
-https://odysee.com/$/rss/@hexdsl:7 ! "~HexDSL" youtube
-
-# YOUTUBE
-https://www.youtube.com/feeds/videos.xml?channel_id=UC2I6Et1JkidnnbWgJFiMeHA ! youtube # Steve1989MREInfo
-https://www.youtube.com/feeds/videos.xml?channel_id=UC7uO9V1Frl_wPd9d1qOm_RQ ! youtube # Dave Snider
-https://www.youtube.com/feeds/videos.xml?channel_id=UC5k3Kc0avyDJ2nG9Kxm9JmQ ! youtube # Bright Sun Films
-https://www.youtube.com/feeds/videos.xml?channel_id=UCKr68ZJ4vv6VloNdnS2hjhA ! youtube # Harald Baldr
-https://www.youtube.com/feeds/videos.xml?channel_id=UCKygRpISlqs5TufcT3JtRng ! youtube # Dale Philip
-https://www.youtube.com/feeds/videos.xml?channel_id=UCQCrKxBj5Id79syQEsY2Qxg ! youtube # Simon Wilson
-https://www.youtube.com/feeds/videos.xml?channel_id=UCRvWwMPr2SmSG7rXXzeEUdA ! youtube # SideNote
-https://www.youtube.com/feeds/videos.xml?channel_id=UCVqpNG1R72i21jh-nAxEk4A ! youtube # c90adventures
-https://www.youtube.com/feeds/videos.xml?channel_id=UCXulruMI7BHj3kGyosNa0jA ! youtube # Indigo Traveller
-https://www.youtube.com/feeds/videos.xml?channel_id=UCnHEz9DZ6EAof1-DaQGD_Xw ! youtube # PPPeter
-https://www.youtube.com/feeds/videos.xml?channel_id=UCxDZs_ltFFvn0FDHT6kmoXA ! youtube # Bald and Bankrupt
-https://www.youtube.com/feeds/videos.xml?channel_id=UCXJL3ST-O0J3nqzQyPJtpNg ! youtube # PreachGaming
-https://www.youtube.com/feeds/videos.xml?channel_id=UCgNqlRGqHdxNRPR6ycynWhw ! youtube # Vagrant Holiday
-https://www.youtube.com/feeds/videos.xml?channel_id=UCHL9bfHTxCMi-7vfxQ-AYtg ! youtube # Abroad in Japan
-https://www.youtube.com/feeds/videos.xml?channel_id=UCB2GbNXOsy3VBksSD58NvhQ ! youtube # Daily Bald
-https://www.youtube.com/feeds/videos.xml?channel_id=UCwpHKudUkP5tNgmMdexB3ow ! youtube # Mentour Pilot
-https://www.youtube.com/feeds/videos.xml?channel_id=UCl7mAGnY4jh4Ps8rhhh8XZg ! youtube # Serpentza
-https://www.youtube.com/feeds/videos.xml?channel_id=UCpXwMqnXfJzazKS5fJ8nrVw ! youtube # Shiey
-https://www.youtube.com/feeds/videos.xml?channel_id=UCWm__g4cPmX-umorqM8VfWw ! youtube # LukeDamant
-https://www.youtube.com/feeds/videos.xml?channel_id=UCO8MMsO_XRjO7X4iGCuKdwg ! youtube # Vagabond
-https://www.youtube.com/feeds/videos.xml?channel_id=UCpiWxsm9Gt_HK7d-jqkU4MA ! youtube # Daly Life Outdoors
-https://www.youtube.com/feeds/videos.xml?channel_id=UCPqdx8N99fs4IDoK_XA1aew ! youtube # English Woodsman
-https://www.youtube.com/feeds/videos.xml?channel_id=UCI3mQP0kLxdZKhNtcHhExyA ! youtube # Paul Messer
-https://www.youtube.com/feeds/videos.xml?channel_id=UCdVEfdWcNwL5jWmwaNWEf1Q ! youtube # Bushman & Blue
-https://www.youtube.com/feeds/videos.xml?channel_id=UC2O6HDtMOZf9FkUAepz9Atg ! youtube # Noel Phillips
-https://www.youtube.com/feeds/videos.xml?channel_id=UCdQ3VoDGjjl3NsfB3V0mPng ! youtube # clawd00d
-https://www.youtube.com/feeds/videos.xml?channel_id=UCpNBjjE8y8eFPhDU4YzYmKA ! youtube # Quin69
-https://www.youtube.com/feeds/videos.xml?channel_id=UCHugE6eRhqB9_AZQh4DDbIw ! youtube # Jupiter Broadcasting
-https://www.youtube.com/feeds/videos.xml?channel_id=UC5UAwBUum7CPN5buc-_N1Fw ! youtube # Linux Experiment
-https://www.youtube.com/feeds/videos.xml?channel_id=UCf-5nkCm0Mldj5xwq8wca_g ! youtube # JokerTV
-https://www.youtube.com/feeds/videos.xml?channel_id=UCE-f0sqi-H7kuLT0YiW9rcA ! youtube # TheLazyPeon
-https://www.youtube.com/feeds/videos.xml?channel_id=UCKsTMxQP7HUCRTuNEEQWLww ! youtube # AlastairHumphreys
-https://www.youtube.com/feeds/videos.xml?channel_id=UC7McxlM5qJVjqLBRYcHyylg ! youtube # BackpackerBen
-https://www.youtube.com/feeds/videos.xml?channel_id=UCb31gOY6OD8ES0zP8M0GhAw ! youtube # MaxFosh
-https://www.youtube.com/feeds/videos.xml?channel_id=UCqWFLuBLPiaeNzYAek6BOmA ! youtube # AutoAlex
-https://www.youtube.com/feeds/videos.xml?channel_id=UCSnqXeK94-iNmwqGO__eJ5g ! youtube # SteveWallis
-https://www.youtube.com/feeds/videos.xml?channel_id=UCQkKf5qwYKyJlyhZPbdAVmw ! youtube # HamsterWheelGaming
-https://www.youtube.com/feeds/videos.xml?channel_id=UC2SMpy2oZV6BoyJEYShw9bw ! youtube # TA Outdoors
-https://www.youtube.com/feeds/videos.xml?channel_id=UCDQ9L4eFHxSh0BM6z-SkZMw ! youtube # Ned in the Cloud
-https://www.youtube.com/feeds/videos.xml?channel_id=UC3Vuq4Q1bKFtAiKYlwRv3oA ! youtube # Peter Santenello
(DIR) diff --git a/newsraft/config b/newsraft/config
@@ -0,0 +1,7 @@
+# settings
+set open-in-browser-command /home/jay/bin/link_handler.sh "%l"
+#set send-user-agent-header false
+set clean-database-on-startup true
+
+# key bindings
+bind f exec "~/bin/link_handler.sh %l"
(DIR) diff --git a/newsraft/feeds b/newsraft/feeds
@@ -0,0 +1,92 @@
+@ LINUX
+https://tilde.news/newest.rss "Tilde News"
+https://lwn.net/headlines/rss "LWN"
+https://rss.slashdot.org/Slashdot/slashdotMain "Slashdot"
+
+@ MISC
+https://old.reddit.com/r/dumbphones/.rss "R Dumbphones"
+https://old.reddit.com/r/aberdeen/.rss "R Aberdeen"
+https://old.reddit.com/r/preppers/.rss "R Preppers"
+https://old.reddit.com/r/preppersuk/.rss "R Preppers UK"
+https://old.reddit.com/r/ukbike/.rss "R UKBike"
+
+@ MEDIA
+https://showrss.info/other/all.rss "TV Torrents"
+
+@ GAMING
+https://www.gamingonlinux.com/article_rss.php "Gaming On Linux"
+
+@ APPS
+https://blog.qutebrowser.org/feeds/all.atom.xml "Qutebrowser"
+https://newsboat.org/news.atom "Newsboat"
+https://git.sr.ht/~taiite/senpai/log/master/rss.xml "Senpai"
+https://github.com/mlj/castget/commits.atom "Castget"
+https://status.hetzner.com/en.atom "Hetzner"
+https://gitlab.alpinelinux.org/alpine/aports/-/issues.atom "aports issues"
+
+@ PEOPLE
+https://codemadness.org/atom.xml "CodeMadness"
+https://drewdevault.com/blog/index.xml "Drew DeVault"
+http://joeyh.name/blog/index.rss "Joey H"
+https://unixsheikh.com/feed.rss "Unix Sheikh"
+https://www.uninformativ.de/blog/feeds/en.atom "Uninformativ"
+
+# GEMINI
+#"exec:gemget tilde.team/~tomasino/atom.xml --output -" "~tomasino@tilde.team"
+#"exec:gemget capsule.usebox.net/gemlog/atom.xml --output -" "~Juans Gemlog"
+#"exec:gemget foobucket.xyz/gemlog/atom.xml --output -" "~Foobucket Gemlog"
+#"exec:gemget midnight.pub/feed.xml --output -" "~Midnight Pub"
+#"exec:gemget gemini://warmedal.se/~antenna/atom.xml --output -" "~Antenna"
+
+@ ODYSEE
+https://odysee.com/$/rss/@AlphaNerd:8 "Mental Outlaws"
+https://odysee.com/$/rss/@DistroTube:2 "DistroTube"
+https://odysee.com/$/rss/@BrodieRobertson:5 "Brodie Robertson"
+https://odysee.com/$/rss/@OfficialZaney:8 "Zaney"
+https://odysee.com/$/rss/@thelinuxcast:4 "Linux Cast"
+https://odysee.com/$/rss/@SystemCrafters:e "System Crafters"
+https://odysee.com/$/rss/@tuxfoo:e "Tuxfoo"
+https://odysee.com/$/rss/@hexdsl:7 "HexDSL"
+
+@ YOUTUBE {60}
+https://www.youtube.com/feeds/videos.xml?channel_id=UC2I6Et1JkidnnbWgJFiMeHA # Steve1989MREInfo
+https://www.youtube.com/feeds/videos.xml?channel_id=UC7uO9V1Frl_wPd9d1qOm_RQ # Dave Snider
+https://www.youtube.com/feeds/videos.xml?channel_id=UC5k3Kc0avyDJ2nG9Kxm9JmQ # Bright Sun Films
+https://www.youtube.com/feeds/videos.xml?channel_id=UCKr68ZJ4vv6VloNdnS2hjhA # Harald Baldr
+https://www.youtube.com/feeds/videos.xml?channel_id=UCKygRpISlqs5TufcT3JtRng # Dale Philip
+https://www.youtube.com/feeds/videos.xml?channel_id=UCQCrKxBj5Id79syQEsY2Qxg # Simon Wilson
+https://www.youtube.com/feeds/videos.xml?channel_id=UCRvWwMPr2SmSG7rXXzeEUdA # SideNote
+https://www.youtube.com/feeds/videos.xml?channel_id=UCVqpNG1R72i21jh-nAxEk4A # c90adventures
+https://www.youtube.com/feeds/videos.xml?channel_id=UCXulruMI7BHj3kGyosNa0jA # Indigo Traveller
+https://www.youtube.com/feeds/videos.xml?channel_id=UCnHEz9DZ6EAof1-DaQGD_Xw # PPPeter
+https://www.youtube.com/feeds/videos.xml?channel_id=UCxDZs_ltFFvn0FDHT6kmoXA # Bald and Bankrupt
+https://www.youtube.com/feeds/videos.xml?channel_id=UCXJL3ST-O0J3nqzQyPJtpNg # PreachGaming
+https://www.youtube.com/feeds/videos.xml?channel_id=UCgNqlRGqHdxNRPR6ycynWhw # Vagrant Holiday
+https://www.youtube.com/feeds/videos.xml?channel_id=UCHL9bfHTxCMi-7vfxQ-AYtg # Abroad in Japan
+https://www.youtube.com/feeds/videos.xml?channel_id=UCwpHKudUkP5tNgmMdexB3ow # Mentour Pilot
+https://www.youtube.com/feeds/videos.xml?channel_id=UCl7mAGnY4jh4Ps8rhhh8XZg # Serpentza
+https://www.youtube.com/feeds/videos.xml?channel_id=UCpXwMqnXfJzazKS5fJ8nrVw # Shiey
+https://www.youtube.com/feeds/videos.xml?channel_id=UCWm__g4cPmX-umorqM8VfWw # LukeDamant
+https://www.youtube.com/feeds/videos.xml?channel_id=UCO8MMsO_XRjO7X4iGCuKdwg # Vagabond
+https://www.youtube.com/feeds/videos.xml?channel_id=UCpiWxsm9Gt_HK7d-jqkU4MA # Daly Life Outdoors
+https://www.youtube.com/feeds/videos.xml?channel_id=UCPqdx8N99fs4IDoK_XA1aew # English Woodsman
+https://www.youtube.com/feeds/videos.xml?channel_id=UCI3mQP0kLxdZKhNtcHhExyA # Paul Messer
+https://www.youtube.com/feeds/videos.xml?channel_id=UCdVEfdWcNwL5jWmwaNWEf1Q # Bushman & Blue
+https://www.youtube.com/feeds/videos.xml?channel_id=UC2O6HDtMOZf9FkUAepz9Atg # Noel Phillips
+https://www.youtube.com/feeds/videos.xml?channel_id=UCdQ3VoDGjjl3NsfB3V0mPng # clawd00d
+https://www.youtube.com/feeds/videos.xml?channel_id=UCpNBjjE8y8eFPhDU4YzYmKA # Quin69
+https://www.youtube.com/feeds/videos.xml?channel_id=UCHugE6eRhqB9_AZQh4DDbIw # Jupiter Broadcasting
+https://www.youtube.com/feeds/videos.xml?channel_id=UC5UAwBUum7CPN5buc-_N1Fw # Linux Experiment
+https://www.youtube.com/feeds/videos.xml?channel_id=UCf-5nkCm0Mldj5xwq8wca_g # JokerTV
+https://www.youtube.com/feeds/videos.xml?channel_id=UCE-f0sqi-H7kuLT0YiW9rcA # TheLazyPeon
+https://www.youtube.com/feeds/videos.xml?channel_id=UCKsTMxQP7HUCRTuNEEQWLww # AlastairHumphreys
+https://www.youtube.com/feeds/videos.xml?channel_id=UC7McxlM5qJVjqLBRYcHyylg # BackpackerBen
+https://www.youtube.com/feeds/videos.xml?channel_id=UCb31gOY6OD8ES0zP8M0GhAw # MaxFosh
+https://www.youtube.com/feeds/videos.xml?channel_id=UCqWFLuBLPiaeNzYAek6BOmA # AutoAlex
+https://www.youtube.com/feeds/videos.xml?channel_id=UCSnqXeK94-iNmwqGO__eJ5g # SteveWallis
+https://www.youtube.com/feeds/videos.xml?channel_id=UCQkKf5qwYKyJlyhZPbdAVmw # HamsterWheelGaming
+https://www.youtube.com/feeds/videos.xml?channel_id=UC2SMpy2oZV6BoyJEYShw9bw # TA Outdoors
+https://www.youtube.com/feeds/videos.xml?channel_id=UCDQ9L4eFHxSh0BM6z-SkZMw # Ned in the Cloud
+https://www.youtube.com/feeds/videos.xml?channel_id=UC3Vuq4Q1bKFtAiKYlwRv3oA # Peter Santenello
+https://www.youtube.com/feeds/videos.xml?channel_id=UC67TJP9i84zbCi2h1aaSO6Q # Ringway Manchester
+https://www.youtube.com/feeds/videos.xml?channel_id=UChY9Cgv-iyPDvf1Bkyx20OQ # My Mate Vince