Config files for programs to set up a system the way I like it.
Newsboat is an RSS/Atom feed reader for the text console. Apart from catching on news, I use this to check the prices of products I want to get. Check out the fantastic RSS-Bridge project. I use this script,
newsboat() {
echo "Initializing background process"
"$HOME"/proj/flipkart_scraper/main.py > /dev/null 2>&1 &
sleep 1
command newsboat "$@"
echo "Exiting"
kill $!
}
to run a parser for scraping Flipkart for the price of the products. Check the code of the scraper here.
Neofetch is this amazing tool for printing system information to the terminal when spawning a new one.
lf (as in "list files") is a terminal file manager written in Go. It supports preview for general file types as well. Good terminal-based image preview is yet to be added I have added a shell function
lc () {
tmp="$(mktemp)"
lf --last-dir-path="$tmp" "$@"
if [ -f "$tmp" ]; then
dir="$(cat "$tmp")"
rm -f "$tmp"
if [ -d "$dir" ]; then
if [ "$dir" != "$(pwd)" ]; then
cd "$dir"
fi
fi
fi
}
for using q
as cd at exit ref.
Zathura is a highly customizable and functional document viewer, mainly PDFs.
Zsh is a shell arguably better than bash for day to day stuff. It adds a lot of features to the shell experience.
- No
oh-my-zsh
here. Sourcing stuff in rc files myself. - Usual helpful shortcuts that
oh-my-zsh
provides Powerline10k
themeXDG
compliant environment variables- Vi mode improvements
- zsh-syntax-highlighting
- zsh-autosuggestions
- zsh_command_not_found
- zsh-you-should-use
- history-substring-search
- Useful aliases
cless
andccat
for coloured formatted output- Other rather personal aliases: weather, background blur camera, internet connectivity status, broadband connect,
newsboat
, wifi forwarder, Hotspot, DNS (via Pihole)
bash is the secondary shell and configs are light. Aliases and env files are sourced by both of them. Hence some of the above features are shared here as well.
Run (or manually run commands from) the install.sh
to install individual tools and dependencies.
Use ./bootstrap.sh
to symlink these configs to your user's config files.
Parts of the configs are 'inspired' from these sources:
All contributions are welcome and appreciated.