Updaing packages, adding KSH configs. - dotfiles - These are my dotfiles. There are many like it, but these are mine.
 (HTM) git clone git://jay.scot/dotfiles
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
       ---
 (DIR) commit c3796aff4f5da1c382b1af9aabf3fc7c6e63c0fa
 (DIR) parent 66115a683f5837f349a98b68c6303438c368fe02
 (HTM) Author: Jay Scott <me@jay.scot>
       Date:   Sun, 30 Mar 2025 10:28:29 +0100
       
       Updaing packages, adding KSH configs.
       
       Diffstat:
         M .gitignore                          |       3 +++
         M bootstrap.sh                        |       2 +-
         A ksh/ksh.func                        |      11 +++++++++++
         A ksh/kshrc                           |      64 +++++++++++++++++++++++++++++++
         D kshrc                               |      61 -------------------------------
         M pkg.list                            |      12 ++++++++++--
         M profile                             |       2 +-
         M w3m/bookmark.html                   |       2 +-
         M w3m/urimethodmap                    |       1 -
       
       9 files changed, 91 insertions(+), 67 deletions(-)
       ---
 (DIR) diff --git a/.gitignore b/.gitignore
       @@ -32,3 +32,6 @@ suckless/dwm/src
        suckless/dmenu/src
        suckless/herbe/src
        suckless/slstatus/src
       +
       +# w3m
       +w3m/known_hosts
 (DIR) diff --git a/bootstrap.sh b/bootstrap.sh
       @@ -5,7 +5,7 @@ DOTFILES=$(pwd)
        FILES='cwmrc kshrc profile Xdefaults xsession'
        ROOT='bin'
        ROOT_HIDDEN='w3m'
       -CONFIG='git lynx mpd mutt ncmpcpp nvim isync'
       +CONFIG='git lynx ksh mpd mutt ncmpcpp nvim isync'
        
        link() {
                for f in $FILES; do ln -sfn "$DOTFILES/$f" "$HOME/.$f"; done
 (DIR) diff --git a/ksh/ksh.func b/ksh/ksh.func
       @@ -0,0 +1,11 @@
       +fzf-man() {
       +    MAN="/usr/bin/man"
       +
       +    if [[ -n "$1" ]]; then
       +        $MAN "$@"
       +        return $?
       +    else
       +        $MAN -k . | fzf --reverse --preview="echo {1,2} | sed 's/ (/./' | sed -E 's/\)\s*$//'" | awk '{print $1 "." $2}' | tr -d '()' | xargs -r $MAN
       +        return $?
       +    fi
       +}
 (DIR) diff --git a/ksh/kshrc b/ksh/kshrc
       @@ -0,0 +1,64 @@
       +export XDG_CONFIG_HOME="$HOME/.config"
       +export XDG_CACHE_HOME="$HOME/.cache"
       +export XDG_DATA_HOME="$HOME/.local/share"
       +export XDG_STATE_HOME="$HOME/.local/state"
       +
       +# common exports
       +GPG_TTY=$(tty)
       +export GPG_TTY
       +export EDITOR="nvim"
       +export BROWSER="firefox"
       +export PATH=$HOME/bin:$PATH
       +
       +# tools
       +export OPENER=~/bin/link-handler
       +
       +# pass
       +export PASSWORD_STORE_DIR=$HOME/src/pass
       +
       +# lynx
       +export LYNX_CFG=$HOME/.config/lynx/config
       +export LYNX_LSS=$HOME/.config/lynx/theme.lss
       +
       +# safety first kids!
       +alias cp='cp -i'
       +alias mv='mv -i'
       +alias rm='rm -i'
       +
       +# random alias
       +alias weather='curl wttr.in/?1QF'
       +alias ls='colorls -G'
       +alias pass='gopass'
       +alias man='fzf-man'
       +
       +# git alias
       +alias ga='git add -A'
       +alias gs='git status -s'
       +alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
       +alias gd='git diff'
       +alias gma='git commit -am'
       +
       +# browser
       +alias sr='sr -browser=w3m'
       +alias b='open-w3m-bookmarks'
       +
       +# neo
       +alias vim='nvim'
       +alias mutt='neomutt'
       +alias mpv="mpv --autofit=30% --really-quiet --no-terminal"
       +
       +# vpn
       +alias von='mullvad ~/.config/mullvad/se-mma-wg-111.conf'
       +alias vcheck='curl https://am.i.mullvad.net/connected'
       +
       +# ksh
       +export LANG=en_US.UTF-8
       +export LC_CTYPE="en_US.UTF-8"
       +export LC_ALL=en_US.UTF-8
       +export PS1="\[\e[00;34m\]▶▶▶ \W \[\e[0m\]"
       +export HISTFILE=/home/jay/.cache/sh_history
       +export HISTSIZE=1000
       +
       +set -o emacs
       +
       +. $HOME/.config/ksh/ksh.func
 (DIR) diff --git a/kshrc b/kshrc
       @@ -1,61 +0,0 @@
       -export XDG_CONFIG_HOME="$HOME/.config"
       -export XDG_CACHE_HOME="$HOME/.cache"
       -export XDG_DATA_HOME="$HOME/.local/share"
       -export XDG_STATE_HOME="$HOME/.local/state"
       -
       -# common exports
       -GPG_TTY=$(tty)
       -export GPG_TTY
       -export EDITOR="nvim"
       -export BROWSER="firefox"
       -export PATH=$PATH:$HOME/bin
       -
       -# tools
       -export OPENER=~/bin/link-handler
       -
       -# pass
       -export PASSWORD_STORE_DIR=$HOME/src/pass
       -
       -# lynx
       -export LYNX_CFG=$HOME/.config/lynx/config
       -export LYNX_LSS=$HOME/.config/lynx/theme.lss
       -
       -# safety first kids!
       -alias cp='cp -i'
       -alias mv='mv -i'
       -alias rm='rm -i'
       -
       -# random alias
       -alias weather='curl wttr.in/?1QF'
       -alias ls='colorls -G'
       -alias pass='gopass'
       -
       -# git alias
       -alias ga='git add -A'
       -alias gs='git status -s'
       -alias gl="git log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
       -alias gd='git diff'
       -alias gma='git commit -am'
       -
       -# browser
       -alias sr='sr -browser=w3m'
       -alias b='open-w3m-bookmarks'
       -
       -# neo
       -alias vim='nvim'
       -alias mutt='neomutt'
       -alias mpv="mpv --autofit=30% --really-quiet --no-terminal"
       -
       -# vpn
       -alias von='mullvad ~/.config/mullvad/se-mma-wg-111.conf'
       -alias vcheck='curl https://am.i.mullvad.net/connected'
       -
       -# ksh
       -export LANG=en_US.UTF-8
       -export LC_CTYPE="en_US.UTF-8"
       -export LC_ALL=en_US.UTF-8
       -export PS1="\[\e[00;34m\]▶▶▶ \W \[\e[0m\]"
       -export HISTFILE=/home/jay/.cache/sh_history
       -export HISTSIZE=1000
       -
       -set -o emacs
 (DIR) diff --git a/pkg.list b/pkg.list
       @@ -1,11 +1,17 @@
        colorls--
       +cups--
        feh--
        firefox--
        fzf--
       +gimp--%snapshot
        git--
       +gmake--
       +gopass--
        hack-fonts--
       +html2text--
        htop--
        isync--
       +jq--
        lf--
        lftp--
        libxml--
       @@ -19,10 +25,12 @@ neomutt--gpgme-sasl
        neovim--
        ntfs_3g--
        obsdfreqd--
       -password-store--
       -profanity--
       +p5-Image-ExifTool--
        qbittorrent--
        quirks--
       +surfraw--
        terminus-font--
       +tuir--
       +urlscan--
        w3m--image
        wireguard-tools--
 (DIR) diff --git a/profile b/profile
       @@ -1,2 +1,2 @@
       -export ENV=$HOME/.kshrc
       +export ENV=$HOME/.config/ksh/kshrc
        . $ENV
 (DIR) diff --git a/w3m/bookmark.html b/w3m/bookmark.html
       @@ -33,7 +33,7 @@
        </ul>
        <h2>Gemini</h2>
        <ul>
       -<li><a href="https://portal.mozz.us/gemini/calcuode.com/gmisub-aggregate.gmi">gmisub aggregate</a>
       +<li><a href="gemini://calcuode.com/gmisub-aggregate.gmi">gmisub aggregate</a>
        <!--End of section (do not delete this comment)-->
        </ul>
        </body>
 (DIR) diff --git a/w3m/urimethodmap b/w3m/urimethodmap
       @@ -1 +0,0 @@
       -gemini: file:/cgi-bin/gemini.cgi?%s