Clean up afte OpenBSD desktop broke, moving back to alpine for now. - dotfiles - These are my dotfiles. There are many like it, but these are mine.
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit 38005a1e78497263d27fa6ffea56ed1379ae1eb7
 (DIR) parent 4621b3a9fe6f615d0d38a38a0e7df12612115c8b
 (HTM) Author: Jay Scott <me@jay.scot>
       Date:   Sun, 18 Jun 2023 19:32:29 +0100
       
       Clean up afte OpenBSD desktop broke, moving back to alpine for now.
       
       Diffstat:
         M .gitignore                          |      14 --------------
         M README                              |       6 +++---
         M ashrc                               |       4 ----
         M bin/link_handler.sh                 |       4 ++--
         R bin/backup.sh -> bin/old/backup.sh  |       0 
         R bin/dmenu_rss.sh -> bin/old/dmenu_… |       0 
         R bin/download_useragents.sh -> bin/… |       0 
         R bin/dwmstatus.sh -> bin/old/dwmsta… |       0 
         R bin/fdm_parse_feeds.sh -> bin/old/… |       0 
         R bin/mbsync_notify.sh -> bin/old/mb… |       0 
         R bin/offline.sh -> bin/old/offline.… |       0 
         A bin/old/switch_audio.sh             |       7 +++++++
         A bin/old/update_feeds.sh             |      20 ++++++++++++++++++++
         A bin/old/yt_dl.sh                    |      81 ++++++++++++++++++++++++++++++
         D bin/switch_audio.sh                 |       7 -------
         D bin/update_feeds.sh                 |      20 --------------------
         D bin/yt_dl.sh                        |      84 -------------------------------
         M bootstrap.sh                        |       2 +-
         M crontab                             |       3 ---
         D fdm/config                          |      79 -------------------------------
         A isync/mbsyncrc                      |      25 +++++++++++++++++++++++++
         A mpd/mpd.conf                        |      20 ++++++++++++++++++++
         A mpd/mpd.db                          |       0 
         A mpd/mpd.pid                         |       1 +
         A mpd/mpdstate                        |      13 +++++++++++++
         M mutt/mailcap                        |       3 +--
         M mutt/muttrc                         |      10 +---------
         A ncmpcpp/config                      |      31 +++++++++++++++++++++++++++++++
         A ncmpcpp/error.log                   |       0 
         A newsboat/config                     |      29 +++++++++++++++++++++++++++++
         A newsboat/gruvbox                    |      20 ++++++++++++++++++++
         A newsboat/urls                       |      84 +++++++++++++++++++++++++++++++
         D sfeed/sfeedrc                       |      44 -------------------------------
         M sway/config                         |       3 ++-
         D waybar/config                       |      65 -------------------------------
         D waybar/style.css                    |      58 ------------------------------
         D waybar/waybar_mail.sh               |      12 ------------
         D waybar/waybar_newsboat.sh           |      11 -----------
       
       38 files changed, 341 insertions(+), 419 deletions(-)
       ---
 (DIR) diff --git a/.gitignore b/.gitignore
       @@ -1,26 +1,12 @@
       -# moc
       -moc/*
       -!moc/config
       -!moc/themes*
       -
        # qutebrowser leftovers
        qutebrowser/qsettings/
        qutebrowser/autoconfig.yml
        qutebrowser/bookmarks
        qutebrowser/quickmarks
        
       -# sfeeds
       -sfeed/feeds
       -sfeed/mbox
       -sfeed/fdm.cache
       -
        # misc
        *.swp
       -bin/fdm
        bin/lf
       -bin/img2sixel
       -bin/scummvm
       -bin/sixel2png
        bin/senpai
        bin/ytfzf
        
 (DIR) diff --git a/README b/README
       @@ -14,10 +14,10 @@ at all, the closest I come is using IRC.
          window manager : sway
          terminal       : foot
          launcher       : bemenu
       -  email          : mutt / fdm
       +  email          : mutt / isync
          browser        : qutebrowser
          video          : mpv
       -  music          : moc
       +  music          : mpd / ncmpcpp
          password mgt   : pass
          vpn            : mullvad
       -  news           : sfeed
       +  news           : newsboat
 (DIR) diff --git a/ashrc b/ashrc
       @@ -1,9 +1,7 @@
        export XDG_CONFIG_HOME="$HOME/.config"
       -export XDG_DOWNLOAD_DIR="$HOME/tmp"
        export XDG_CACHE_HOME="$HOME/.cache"
        export XDG_DATA_HOME="$HOME/.local/share"
        export XDG_STATE_HOME="$HOME/.local/state"
       -export XDG_DESKTOP_DIR="$HOME/"
        
        # cleanup ~/
        export PASSWORD_STORE_DIR="$XDG_CONFIG_HOME"/pass
       @@ -34,9 +32,7 @@ alias mv='mv -i'
        alias rm='rm -i'
        
        # random alias
       -alias yt-mp3='youtube-dl --extract-audio --audio-format mp3'
        alias t='wtwitch'
       -alias m='mocp -O MOCDir="$XDG_CONFIG_HOME"/moc'
        alias weather='curl wttr.in/?1QF'
        
        # git alias
 (DIR) diff --git a/bin/link_handler.sh b/bin/link_handler.sh
       @@ -1,6 +1,6 @@
        #!/bin/sh
        
       -launcher="setsid -f foot -d none"
       +launcher="setsid"
        
        # apps
        player="mpv --really-quiet --no-terminal"
       @@ -25,6 +25,6 @@ case "$uri_lower" in
                $launcher $images "$uri"
                ;;
        *)
       -        $launcher rdrview -B "w3m" "$uri"
       +        $launcher firefox "$uri"
                ;;
        esac
 (DIR) diff --git a/bin/backup.sh b/bin/old/backup.sh
 (DIR) diff --git a/bin/dmenu_rss.sh b/bin/old/dmenu_rss.sh
 (DIR) diff --git a/bin/download_useragents.sh b/bin/old/download_useragents.sh
 (DIR) diff --git a/bin/dwmstatus.sh b/bin/old/dwmstatus.sh
 (DIR) diff --git a/bin/fdm_parse_feeds.sh b/bin/old/fdm_parse_feeds.sh
 (DIR) diff --git a/bin/mbsync_notify.sh b/bin/old/mbsync_notify.sh
 (DIR) diff --git a/bin/offline.sh b/bin/old/offline.sh
 (DIR) diff --git a/bin/old/switch_audio.sh b/bin/old/switch_audio.sh
       @@ -0,0 +1,7 @@
       +#!/bin/sh
       +
       +if ! [ "$(pactl get-default-sink)" = "alsa_output.pci-0000_27_00.1.hdmi-stereo" ]; then
       +        pactl set-default-sink "alsa_output.pci-0000_27_00.1.hdmi-stereo"
       +else
       +        pactl set-default-sink "alsa_output.usb-KTMicro_KT_USB_Audio_2020-02-20-0000-0000-0000--00.analog-stereo"
       +fi
 (DIR) diff --git a/bin/old/update_feeds.sh b/bin/old/update_feeds.sh
       @@ -0,0 +1,20 @@
       +#!/bin/sh
       +#
       +# wrapper for managing my feed process.
       +#   - update new feeds
       +#   - generate mbox of feeds
       +#   - parse feeds with fdm and push to Maildir format.
       +
       +sfeedroot="$HOME/.config/sfeed"
       +feedsdir="${sfeedroot}/feeds"
       +fdmconfig="$HOME/.config/sfeed/fdm_config"
       +
       +if ! test -r "${fdmconfig}"; then
       +        echo "fdm configuration file \"${fdmconfig}\" does not exist or is not readable." >&2
       +        exit 1
       +fi
       +
       +/usr/local/bin/sfeed_update "${sfeedroot}/sfeedrc"
       +
       +sfeed_mbox "${feedsdir}"/* >~/.config/sfeed/mbox
       +fdm -f "${fdmconfig}" -afeeds fetch
 (DIR) diff --git a/bin/old/yt_dl.sh b/bin/old/yt_dl.sh
       @@ -0,0 +1,81 @@
       +#!/bin/sh
       +
       +# Instead of using tools like ytcc we can just use yt-dlp directly
       +# with a simple shell script without the need for python dependencies
       +# etc.
       +#
       +# Jay Scott <me@jay.scot>
       +
       +# user config
       +savepath="/home/jay/media/videos"
       +cachedir="${HOME}/.cache/yt_dl"
       +notify="echo \"%(title)s\" | mail -s 'YT: %(channel)s' jay"
       +
       +# static config
       +yt="yt-dlp"
       +baseurl="https://www.youtube.com/playlist?list="
       +
       +main() {
       +
       +        mkdir -p "${cachedir}"
       +
       +        $1 "mre_steve" "UU2I6Et1JkidnnbWgJFiMeHA"
       +        $1 "harald_baldr" "UUKr68ZJ4vv6VloNdnS2hjhA"
       +        $1 "dale_philip" "UUKygRpISlqs5TufcT3JtRng"
       +        $1 "simon_wilson" "UUQCrKxBj5Id79syQEsY2Qxg"
       +        $1 "hexdsl" "UURE3NFNtdjR96-H4QG4U1Fg"
       +        $1 "distrotube" "UUVls1GmFKf6WlTraIb_IaJg"
       +        $1 "brodie_robertson" "UUld68syR8Wi-GY_n4CaoJGA"
       +        $1 "pppeter" "UUnHEz9DZ6EAof1-DaQGD_Xw"
       +        $1 "bald_and_bankrupt" "UUxDZs_ltFFvn0FDHT6kmoXA"
       +        $1 "vagrant_holiday" "UUgNqlRGqHdxNRPR6ycynWhw"
       +        $1 "chris_ramsay" "UUrPUg54jUy1T_wII9jgdRbg"
       +        $1 "c90adventures" "UUVqpNG1R72i21jh-nAxEk4A"
       +        $1 "abroad_in_japan" "UUHL9bfHTxCMi-7vfxQ-AYtg"
       +        $1 "quin69" "UUpNBjjE8y8eFPhDU4YzYmKA"
       +        $1 "clawd00d" "UUdQ3VoDGjjl3NsfB3V0mPng"
       +        $1 "serpentza" "UUl7mAGnY4jh4Ps8rhhh8XZg"
       +        $1 "preach_gaming" "UUXJL3ST-O0J3nqzQyPJtpNg"
       +        $1 "indigo_traveller" "UUXulruMI7BHj3kGyosNa0jA"
       +        $1 "sidenote" "UURvWwMPr2SmSG7rXXzeEUdA"
       +        $1 "dave_snider" "UU7uO9V1Frl_wPd9d1qOm_RQ"
       +        $1 "bright_sun_films" "UU5k3Kc0avyDJ2nG9Kxm9JmQ"
       +        $1 "tuxfoo" "UUWpoyqSBIXtylRLFgP3PFfg"
       +        $1 "liamtheterrible" "UULF5Au9oV9G4qbyTKJmUcWWJg"
       +        $1 "mentourpilot" "UULFwpHKudUkP5tNgmMdexB3ow"
       +        $1 "will_whereabouts" "UULFvaxWoGczo5olB3lgC6Nr6A"
       +        $1 "linus_tech_tips" "UULFXuqSBlHAE6Xw-yeJA0Tunw"
       +        $1 "auto_alex" "UULFqWFLuBLPiaeNzYAek6BOmA"
       +        $1 "zac" "UULFcjx6m03fZwtRBFn1Cf7kKQ"
       +        $1 "openbsdguy" "UULFqGmpMaWCpLe7hpnNnU09TA"
       +}
       +
       +get_video() {
       +        echo "fetching ... $1"
       +        $yt -q --restrict-filename --download-archive \
       +                "${cachedir}/${1}" "${baseurl}${2}" -o \
       +                "${savepath}/${1}/%(playlist_index)s_%(title)s.%(ext)s" \
       +                --exec "$notify"
       +}
       +
       +catchup() {
       +        echo "catching up ... $1"
       +        $yt --flat-playlist --get-id \
       +                "${2}" | sed 's/.*/youtube &/' >"${cachedir}/${1}"
       +}
       +
       +case $1 in
       +-m)
       +        main catchup
       +        exit
       +        ;;
       +-n)
       +        catchup "$2" "$3"
       +        exit
       +        ;;
       +
       +*)
       +        main get_video
       +        exit
       +        ;;
       +esac
 (DIR) diff --git a/bin/switch_audio.sh b/bin/switch_audio.sh
       @@ -1,7 +0,0 @@
       -#!/bin/sh
       -
       -if ! [ "$(pactl get-default-sink)" = "alsa_output.pci-0000_00_1f.3.hdmi-stereo" ]; then
       -        pactl set-default-sink "alsa_output.pci-0000_00_1f.3.hdmi-stereo"
       -else
       -        pactl set-default-sink "alsa_output.usb-KTMicro_KT_USB_Audio_2020-02-20-0000-0000-0000--00.analog-stereo"
       -fi
 (DIR) diff --git a/bin/update_feeds.sh b/bin/update_feeds.sh
       @@ -1,20 +0,0 @@
       -#!/bin/sh
       -#
       -# wrapper for managing my feed process.
       -#   - update new feeds
       -#   - generate mbox of feeds
       -#   - parse feeds with fdm and push to Maildir format.
       -
       -sfeedroot="$HOME/.config/sfeed"
       -feedsdir="${sfeedroot}/feeds"
       -fdmconfig="$HOME/.config/fdm/config"
       -
       -if ! test -r "${fdmconfig}"; then
       -        echo "fdm configuration file \"${fdmconfig}\" does not exist or is not readable." >&2
       -        exit 1
       -fi
       -
       -/usr/local/bin/sfeed_update "${sfeedroot}/sfeedrc"
       -
       -sfeed_mbox "${feedsdir}"/* >~/.config/sfeed/mbox
       -fdm -f "${fdmconfig}" -afeeds fetch
 (DIR) diff --git a/bin/yt_dl.sh b/bin/yt_dl.sh
       @@ -1,84 +0,0 @@
       -#!/bin/sh
       -
       -# instead of using tools like ytcc we can just use youtube-dl directly
       -# with a simple shell script without the need for python dependencies
       -# etc.
       -
       -# user config
       -savepath="/home/jay/media/videos"
       -cfgdir="${HOME}/.cache/yt_dl"
       -post="echo \"%(title)s\" | mutt -s 'YT: %(channel)s ' -- me@jay.scot"
       -
       -# youtube-dl related settings
       -yt="yt-dlp"
       -dlflags="-q --restrict-filenames --download-archive"
       -idflags="--flat-playlist --get-id"
       -
       -main() {
       -
       -        mkdir -p "${cfgdir}"
       -
       -        $1 "mr_sudo" "https://www.youtube.com/playlist?list=UUZEvYxVEr0MMUG2ZCpG8bRA"
       -        $1 "mre_steve" "https://www.youtube.com/playlist?list=UU2I6Et1JkidnnbWgJFiMeHA"
       -        $1 "harald_baldr" "https://www.youtube.com/playlist?list=UUKr68ZJ4vv6VloNdnS2hjhA"
       -        $1 "dale_philip" "https://www.youtube.com/playlist?list=UUKygRpISlqs5TufcT3JtRng"
       -        $1 "simon_wilson" "https://www.youtube.com/playlist?list=UUQCrKxBj5Id79syQEsY2Qxg"
       -        $1 "hexdsl" "https://www.youtube.com/playlist?list=UURE3NFNtdjR96-H4QG4U1Fg"
       -        $1 "distrotube" "https://www.youtube.com/playlist?list=UUVls1GmFKf6WlTraIb_IaJg"
       -        $1 "brodie_robertson" "https://www.youtube.com/playlist?list=UUld68syR8Wi-GY_n4CaoJGA"
       -        $1 "pppeter" "https://www.youtube.com/playlist?list=UUnHEz9DZ6EAof1-DaQGD_Xw"
       -        $1 "bald_and_bankrupt" "https://www.youtube.com/playlist?list=UUxDZs_ltFFvn0FDHT6kmoXA"
       -        $1 "vagrant_holiday" "https://www.youtube.com/playlist?list=UUgNqlRGqHdxNRPR6ycynWhw"
       -        $1 "chris_ramsay" "https://www.youtube.com/playlist?list=UUrPUg54jUy1T_wII9jgdRbg"
       -        $1 "c90adventures" "https://www.youtube.com/playlist?list=UUVqpNG1R72i21jh-nAxEk4A"
       -        $1 "abroad_in_japan" "https://www.youtube.com/playlist?list=UUHL9bfHTxCMi-7vfxQ-AYtg"
       -        $1 "quin69" "https://www.youtube.com/playlist?list=UUpNBjjE8y8eFPhDU4YzYmKA"
       -        $1 "clawd00d" "https://www.youtube.com/playlist?list=UUdQ3VoDGjjl3NsfB3V0mPng"
       -        $1 "serpentza" "https://www.youtube.com/playlist?list=UUl7mAGnY4jh4Ps8rhhh8XZg"
       -        $1 "preach_gaming" "https://www.youtube.com/playlist?list=UUXJL3ST-O0J3nqzQyPJtpNg"
       -        $1 "indigo_traveller" "https://www.youtube.com/playlist?list=UUXulruMI7BHj3kGyosNa0jA"
       -        $1 "sidenote" "https://www.youtube.com/playlist?list=UURvWwMPr2SmSG7rXXzeEUdA"
       -        $1 "dave_snider" "https://www.youtube.com/playlist?list=UU7uO9V1Frl_wPd9d1qOm_RQ"
       -        $1 "bright_sun_films" "https://www.youtube.com/playlist?list=UU5k3Kc0avyDJ2nG9Kxm9JmQ"
       -        $1 "tuxfoo" "https://www.youtube.com/playlist?list=UUWpoyqSBIXtylRLFgP3PFfg"
       -        $1 "liamtheterrible" "https://www.youtube.com/playlist?list=UULF5Au9oV9G4qbyTKJmUcWWJg"
       -        $1 "mentourpilot" "https://www.youtube.com/playlist?list=UULFwpHKudUkP5tNgmMdexB3ow"
       -        $1 "will_whereabouts" "https://www.youtube.com/playlist?list=UULFvaxWoGczo5olB3lgC6Nr6A"
       -        $1 "scottish_prepper" "https://www.youtube.com/playlist?list=UULFrjOjQmdamzoFOr1MiGQ1vw"
       -}
       -
       -get_video() {
       -        saveloc="${savepath}/${1}"
       -        arcfile="${cfgdir}/${1}"
       -        lockfile="/tmp/yt_dl.lock"
       -
       -        # make sure its not already running
       -        touch $lockfile
       -        exec 9>"$lockfile"
       -        flock -n 9 || exit 1
       -
       -        echo "$1 downloading videos"
       -        $yt ${dlflags} "${arcfile}" "$2" -o "${saveloc}/%(playlist_index)s_%(title)s.%(ext)s" --exec "$post"
       -        rm "${lockfile}"
       -}
       -
       -get_ids() {
       -        echo "$1 downloading ids"
       -        $yt ${idflags} "${2}" | sed 's/.*/youtube &/' >"${cfgdir}/${1}"
       -}
       -
       -case $1 in
       --m)
       -        main get_ids
       -        exit
       -        ;;
       --n)
       -        get_ids $2 $3
       -        exit
       -        ;;
       -
       -*)
       -        main get_video
       -        exit
       -        ;;
       -esac
 (DIR) diff --git a/bootstrap.sh b/bootstrap.sh
       @@ -4,7 +4,7 @@ DOTFILES=$(pwd)
        
        FILES='ashrc castgetrc profile vimrc'
        ROOT='bin'
       -CONFIG='fdm foot git lynx mutt qutebrowser sfeed senpai sway'
       +CONFIG='foot git isync lynx mpd mutt ncmpcpp newsboat qutebrowser senpai sway'
        
        link() {
                for f in $FILES; do ln -sfn "$DOTFILES/$f" "$HOME/.$f"; done
 (DIR) diff --git a/crontab b/crontab
       @@ -2,6 +2,3 @@ PATH="$PATH:/usr/local/bin:/usr/bin"
        PASSWORD_STORE_DIR="/home/jay/.config/pass"
        
        */10 * * * * fdm -f ~/.config/fdm/config fetch
       -
       -# backups
       -0 11 * * * /home/jay/bin/backup.sh
 (DIR) diff --git a/fdm/config b/fdm/config
       @@ -1,79 +0,0 @@
       -
       -# commands
       -$imap_pass        = $(pass tech/mailbox.org | head -n1)
       -
       -# macros.
       -$path                = "%h/.mail"
       -$feedcache        = "%h/.mail/fdm.cache"
       -$feeddir        = "%h/.mail/feeds/"
       -$listdir        = "%h/.mail/ml"
       -$strurl                = "(http[s]?://.*|gemini://.*)"
       -
       -# options
       -set unmatched-mail keep
       -set no-received
       -cache "${feedcache}"
       -
       -# accounts
       -account "feeds" disabled mbox "%[home]/.config/sfeed/mbox"
       -account "personal" imaps
       -        server "imap.mailbox.org"
       -        port 993
       -        user "me@jay.scot"
       -        pass "${imap_pass}"
       -
       -# maildirs
       -action "inbox"  maildir "${path}/%u/Inbox"
       -
       -# mailing lists
       -action        "freebsd-announce" maildir "${listdir}/freebsd.announce"
       -action        "freebsd-current" maildir "${listdir}/freebsd.current"
       -action        "freebsd-questions" maildir "${listdir}/freebsd.questions"
       -action        "srht-discuss" maildir "${listdir}/srht.discuss"
       -action        "srht-dev" maildir "${listdir}/srht.dev"
       -action        "alpine-users" maildir "${listdir}/alpine.users"
       -action        "alpine-aports" maildir "${listdir}/alpine.aports"
       -action        "alpine-announce" maildir "${listdir}/alpine.announce"
       -action        "alpine-devel" maildir "${listdir}/alpine.devel"
       -
       -# feeds
       -action "feedtag" tag "msgid" value "%1"
       -action "feedget" rewrite "%h/bin/fdm_parse_feeds.sh"
       -action "feedsave" {
       -        maildir "${feeddir}%1"
       -        add-to-cache "${feedcache}" key "%[msgid]"
       -        keep
       -}
       -
       -# source hut
       -match "^List-Id:.*sr\\.ht-.*\\.lists\\.sr\\.ht" in headers {
       -       match "^List-Id:.*discuss" in headers action "srht-discuss"
       -       match "^List-Id:.*dev" in headers action "srht-dev"
       -}
       -
       -# alpine
       -match "^List-Id:.*lists\\.alpinelinux\\.org" in headers {
       -       match "^List-Id:.*announce" in headers action "alpine-announce"
       -       match "^List-Id:.*devel" in headers action "alpine-devel"
       -       match "^List-Id:.*users" in headers action "alpine-users"
       -       match "^List-Id:.*aports" in headers action "alpine-aports"
       -}
       -
       -
       -# freebsd
       -match "^List-Id:.*freebsd-.*\\.freebsd\\.org" in headers {
       -       match "^List-Id:.*announce" in headers action "freebsd-announce"
       -       match "^List-Id:.*current" in headers action "freebsd-current"
       -       match "^List-Id:.*questions" in headers action "freebsd-questions"
       -}
       -
       -# sfeeds
       -match account "feeds" {
       -        match case "^Message-ID: (.*)" in headers action "feedtag" continue
       -        match matched and in-cache "${feedcache}" key "%[msgid]" action keep
       -        match $strurl action "feedget" continue
       -        match case "^X-Feedname: (.*)" in headers action "feedsave"
       -}
       -
       -# match all mail and deliver using the 'inbox' action.
       -match all action "inbox"
 (DIR) diff --git a/isync/mbsyncrc b/isync/mbsyncrc
       @@ -0,0 +1,25 @@
       +Create Both
       +Expunge Both
       +Remove Both
       +Sync All
       +SyncState *
       +
       +IMAPAccount jay
       +Host imap.mailbox.org
       +User me@jay.scot
       +PassCmd "pass tech/mailbox.org | head -n1"
       +SSLType IMAPS
       +CertificateFile /etc/ssl/certs/ca-certificates.crt
       +
       +IMAPStore jay-remote
       +Account jay
       +
       +MaildirStore jay-local
       +SubFolders Verbatim
       +Path ~/.mail/jay/
       +Inbox ~/.mail/jay/Inbox
       +
       +Channel jay
       +Far :jay-remote:
       +Near :jay-local:
       +Patterns *
 (DIR) diff --git a/mpd/mpd.conf b/mpd/mpd.conf
       @@ -0,0 +1,20 @@
       +music_directory                "/home/jay/media/music"
       +playlist_directory         "/home/jay/.config/mpd/playlists"
       +db_file                 "/home/jay/.config/mpd/mpd.db"
       +log_file                   "syslog"
       +pid_file                 "/home/jay/.config/mpd/mpd.pid"
       +state_file                 "/home/jay/.config/mpd/mpdstate"
       +
       +audio_output {
       +        type "pulse"
       +        name "pulse audio"
       +}
       +audio_output {
       +    type                    "fifo"
       +    name                    "my_fifo"
       +    path                    "/tmp/mpd.fifo"
       +    format                  "44100:16:2"
       +}
       +
       +bind_to_address "127.0.0.1"
       +port "6600"
 (DIR) diff --git a/mpd/mpd.db b/mpd/mpd.db
       Binary files differ.
 (DIR) diff --git a/mpd/mpd.pid b/mpd/mpd.pid
       @@ -0,0 +1 @@
       +6997
 (DIR) diff --git a/mpd/mpdstate b/mpd/mpdstate
       @@ -0,0 +1,13 @@
       +sw_volume: 100
       +audio_device_state:1:pulse audio
       +audio_device_state:1:my_fifo
       +state: stop
       +random: 0
       +repeat: 0
       +single: 0
       +consume: 0
       +crossfade: 0
       +mixrampdb: 0.000000
       +mixrampdelay: -1.000000
       +playlist_begin
       +playlist_end
 (DIR) diff --git a/mutt/mailcap b/mutt/mailcap
       @@ -1,2 +1 @@
       -text/html; w3m -I %{charset} -T text/html; copiousoutput;
       -image/*; img2sixel '%s'
       +text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -collapse_br_tags -dump %s; nametemplate=%s.html; copiousoutput
 (DIR) diff --git a/mutt/muttrc b/mutt/muttrc
       @@ -55,14 +55,6 @@ set record      = "+jay/Sent"
        mailboxes +jay
        mailboxes ! `echo ~/.mail/jay/*`
        
       -# mailing lists
       -mailboxes +mailinglists
       -mailboxes ! `echo ~/.mail/ml/*`
       -
       -# feeds
       -mailboxes +feeds
       -mailboxes ! `echo ~/.mail/feeds/*`
       -
        set sort_alias = alias
        set reverse_alias = yes
        source $alias_file
       @@ -72,7 +64,7 @@ bind index gg first-entry
        bind index G last-entry
        bind index <space> collapse-thread
        macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
       -macro index o "<shell-escape>fdm -f ~/.config/fdm/config fetch<enter>" "run fdm to sync all mail"
       +macro index o "<shell-escape>mbsync -a -c \"$XDG_CONFIG_HOME\"/isync/mbsyncrc<enter>" "run isync to sync all mail"
        macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
        macro index A "<save-message>=jay/archive<enter><enter><sync-mailbox><enter>" "save to archive"
        macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
 (DIR) diff --git a/ncmpcpp/config b/ncmpcpp/config
       @@ -0,0 +1,31 @@
       +# visual stuff for 8
       +visualizer_data_source = /tmp/mpd.fifo
       +visualizer_output_name = my_fifo
       +visualizer_in_stereo = no
       +visualizer_type = spectrum
       +visualizer_look = ∙▋
       +visualizer_color = 7,5,8,3
       +song_columns_list_format = "(50)[green]{a} (50)[white]{t|f}"
       +
       +playlist_display_mode = columns
       +browser_display_mode = columns
       +
       +ncmpcpp_directory = ~/.config/ncmpcpp
       +lyrics_directory = /tmp
       +store_lyrics_in_song_dir = yes
       +autocenter_mode = "yes"
       +centered_cursor = "yes"
       +cyclic_scrolling = "no"
       +
       +titles_visibility = "no"
       +header_visibility = "no"
       +statusbar_visibility = "no"
       +progressbar_look = "❙❙❙"
       +progressbar_color = "white"
       +
       +user_interface = "classic"
       +
       +startup_screen = playlist
       +startup_slave_screen = visualizer
       +startup_slave_screen_focus = no
       +locked_screen_width_part = 35
 (DIR) diff --git a/ncmpcpp/error.log b/ncmpcpp/error.log
 (DIR) diff --git a/newsboat/config b/newsboat/config
       @@ -0,0 +1,29 @@
       +# Default applications
       +player mpv
       +browser "~/bin/link_handler.sh"
       +
       +# Reload
       +auto-reload no
       +reload-time 30
       +reload-threads 4
       +
       +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
       @@ -0,0 +1,20 @@
       +# 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
       @@ -0,0 +1,84 @@
       +"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\""
       +
       +# LINUX
       +https://tilde.news/newest.rss "!" "~Tilde News" linux
       +https://lwn.net/headlines/rss "!" "~LWN" linux
       +
       +# MEDIA
       +https://showrss.info/other/all.rss "!" "~TV Torrents" media
       +http://feed.rutracker.cc/atom/f/1992.atom "!" "~Linux 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
       +
       +# 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/@TheLinuxExperiment:e "!" "~Linux Experiment" 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=UCeKshd39k29Ipg9sWVaU3-Q "!" youtube # thesalukie
       +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=UCs2Kaw3Soa63cJq3H0VA7og "!" youtube # rwxrob
       +https://www.youtube.com/feeds/videos.xml?channel_id=UCHugE6eRhqB9_AZQh4DDbIw "!" youtube # Jupiter Broadcasting
 (DIR) diff --git a/sfeed/sfeedrc b/sfeed/sfeedrc
       @@ -1,44 +0,0 @@
       -sfeedpath="$HOME/.config/sfeed/feeds"
       -
       -fetch() {
       -        case "$2" in
       -        *.gmi | 'gemini:'*)
       -                gemget -o - "$2"
       -                ;;
       -        *)
       -                curl "$2" 2>/dev/null
       -                ;;
       -        esac
       -}
       -
       -feeds() {
       -        # general
       -        feed 'tildenews' 'https://tilde.news/newest.rss'
       -        feed 'tvtorrents' 'https://showrss.info/other/all.rss'
       -        feed 'linuxtorrents' 'http://feed.rutracker.cc/atom/f/1992.atom'
       -        feed 'gamingonlinux' 'https://www.gamingonlinux.com/article_rss.php'
       -        feed 'lwn' 'https://lwn.net/headlines/rss'
       -        # apps
       -        feed 'qutebrowser' 'https://blog.qutebrowser.org/feeds/all.atom.xml'
       -        feed 'rdrview' 'https://github.com/eafer/rdrview/commits/master.atom'
       -        feed 'fdm' 'https://github.com/nicm/fdm/commits.atom'
       -        feed 'senpai' 'https://git.sr.ht/~taiite/senpai/log/master/rss.xml'
       -        feed 'sfeed' 'https://codemadness.org/git/sfeed/atom.xml'
       -        feed 'castget' 'https://github.com/mlj/castget/commits.atom'
       -        # gemini
       -        feed 'midnightpub' 'gemini://midnight.pub/feed.xml'
       -        feed 'tomasino' 'gemini://tilde.team/~tomasino/atom.xml'
       -        feed 'antenna' 'gemini://warmedal.se/~antenna/atom.xml'
       -        feed 'techrights' 'gemini://gemini.techrights.org/feed.xml'
       -        feed 'ewok' 'gemini://warmedal.se/~bjorn/atom.xml'
       -        # people
       -        feed 'codemadness' 'https://codemadness.org/atom.xml'
       -        feed 'drewdevault' 'https://drewdevault.com/blog/index.xml'
       -        feed 'seeshyjo' 'http://joeyh.name/blog/index.rss'
       -        feed 'unixsheikh' 'https://unixsheikh.com/feed.rss'
       -        feed 'uninformativ' 'https://www.uninformativ.de/blog/feeds/en.atom'
       -        feed 'fabiensanglard' 'https://fabiensanglard.net/rss.xml'
       -        feed 'pluralistic' 'https://pluralistic.net/feed/'
       -        feed 'craphound' 'https://craphound.com/feed'
       -        feed 'lowtechmagazine' 'https://solar.lowtechmagazine.com/feeds/all-en.atom.xml'
       -}
 (DIR) diff --git a/sway/config b/sway/config
       @@ -17,6 +17,7 @@ set $vol pamixer
        # autostart
        exec foot --server
        exec wl-paste -t text --watch clipman store --no-persist
       +exec mpd
        exec /usr/libexec/pipewire-launcher
        
        # apperance
       @@ -37,7 +38,7 @@ input * {
        # monitors
        output HDMI-A-1 pos 0 0 res 1920x1080
        output DP-1 pos 1920 0 res 1600x900
       -focus output DP-1
       +focus output HDMI-A-1
        
        # Keybinds
        bindsym $mod+Space exec $term
 (DIR) diff --git a/waybar/config b/waybar/config
       @@ -1,65 +0,0 @@
       -{
       -        "layer": "top",
       -        "position": "top",
       -
       -        "modules-left": [
       -                "sway/workspaces",
       -                "custom/right-arrow-dark"
       -        ],
       -
       -        "modules-right": [
       -                "custom/left-arrow-dark",
       -                "custom/mail",
       -                "custom/newsboat",
       -                "pulseaudio",
       -                "tray",
       -                "clock"
       -        ],
       -
       -        "custom/right-arrow-dark": {
       -                "format": "",
       -                "tooltip": false
       -        },
       -
       -        "custom/left-arrow-dark": {
       -                "format": "",
       -                "tooltip": false
       -        },
       -
       -        "sway/workspaces": {
       -                "disable-scroll": true,
       -                "format": "{name}"
       -        },
       -
       -        "clock": {
       -                "format": "{:%H:%M}",
       -                "tooltip": false
       -        },
       -
       -        "pulseaudio": {
       -                "format": "{icon} {volume:2}%",
       -                "format-bluetooth": " {volume}%",
       -                "format-muted": "MUTE",
       -                "format-icons": {
       -                        "default": [
       -                                "",
       -                                ""
       -                        ]
       -                },
       -                "scroll-step": 5,
       -                "on-click": "pamixer -t",
       -                "on-click-right": "foot ncmpcpp"
       -        },
       -
       -        "custom/mail": {
       -                    "format": "",
       -                "return-type": "json",
       -                    "interval": 120,
       -                "exec": "$HOME/.config/waybar/waybar_mail.sh",
       -                "on-click": "foot mutt",
       -        },
       -
       -        "tray": {
       -                "icon-size": 15
       -        }
       -}
 (DIR) diff --git a/waybar/style.css b/waybar/style.css
       @@ -1,58 +0,0 @@
       -* {
       -        font-size: 12px;
       -        font-family: monospace;
       -}
       -
       -window#waybar {
       -        background: #292b2e;
       -        color: #fdf6e3;
       -}
       -
       -#workspaces,
       -#clock,
       -#custom-mail,
       -#custom-newsboat,
       -#custom-vpn,
       -#pulseaudio,
       -#tray {
       -        background: #1a1a1a;
       -}
       -
       -#custom-right-arrow-dark,
       -#custom-left-arrow-dark {
       -        color: #1a1a1a;
       -}
       -
       -#workspaces button {
       -        padding: 0 0px;
       -        color: #fdf6e3;
       -}
       -#workspaces button.focused {
       -        color: #268bd2;
       -}
       -#workspaces button:hover {
       -        box-shadow: inherit;
       -        text-shadow: inherit;
       -}
       -#workspaces button:hover {
       -        background: #1a1a1a;
       -        border: #1a1a1a;
       -        padding: 0 3px;
       -}
       -
       -#custom-mail.new,
       -#custom-newsboat.new {
       -        color: #268bd2;
       -}
       -
       -#custom-vpn.connected {
       -        color: #d22635;
       -}
       -
       -#clock,
       -#custom-mail,
       -#custom-newsboat,
       -#custom-vpn,
       -#pulseaudio {
       -        padding: 0 5px;
       -}
 (DIR) diff --git a/waybar/waybar_mail.sh b/waybar/waybar_mail.sh
       @@ -1,12 +0,0 @@
       -#!/usr/bin/bash
       -
       -maildirnew="$HOME/.mail/jay/Inbox/new/"
       -new="$(find $maildirnew -type f | wc -l)"
       -
       -if [ $new -gt 0 ]
       -then
       -        echo "{\"text\":\"$new\",\"tooltip\":\"$new Mail\",\"class\":\"new\"}"
       -else
       -        echo '{"text":"No new mail","tooltip":"","class":""}'
       -fi
       -
 (DIR) diff --git a/waybar/waybar_newsboat.sh b/waybar/waybar_newsboat.sh
       @@ -1,11 +0,0 @@
       -#!/usr/bin/bash
       -
       -new="$(newsboat -x print-unread | awk '{ print $1}')"
       -
       -if [ $new -gt 0 ]
       -then
       -        echo "{\"text\":\"$new\",\"tooltip\":\"$new Feeds\",\"class\":\"new\"}"
       -else
       -        echo '{"text":"No new feeds","tooltip":"","class":""}'
       -fi
       -