Compare commits

..

13 commits

Author SHA1 Message Date
35eae9b32c
bootstrap: Add ly display manager
Added tui display manager to my system and I've been quite enjoying
using it, may come in handy as well if I ever want to have dual X11 and
Wayland setup or go back to a more rounded DE experience.

(Not that I intend to, but still enjoying the little style ly brings to
the boot screen.)
2022-04-30 21:02:04 +02:00
95e2fea951
nvim: Disable uninstalled python language servers
Had to manually disable python lsps that are not on my system since
neovim otherwise complains about it whenever I enter a new python
filetype file.
2022-04-30 21:00:05 +02:00
9a46a94827
nvim: Change blankline, Update treesitter settings
Updated treesitter setting to remove use of deprecated 'maintained'
option and simply replaced it to use 'all' treesitter syntaxes (haven't
had a problem with it so far).

Changed blankline options slightly to remove annoying animations and
quick switching of which blankline it shows depending on where my cursor
is -- both proved to be too much of a distraction when I just need to
interact with the indentation context every now and again and it should
just allow me a quick glance at the indentation level the rest of the
time.
2022-04-30 20:53:00 +02:00
96439a5c9b
tmux: Change todo.session setup
Replaced old, never used, graphical taskwarrior task accomplishment
overview with a more free-form calendar/journal page.

It displays an overview of my upcoming appointments using calcurse on
the one hand, and my personal snippet journal with the help of jrnl on
the other.
The last thing is a tiny empty pane allowing me just enough room to
interact with jrnl, e.g. quickly writing new entries.
2022-04-30 20:50:25 +02:00
cac0aee4ca
keyd: Update conf files to new 2.0 syntax
New config syntax uses [ids] section to select which input devices are
affected instead of file names, so we can have all settings (for
similarly set up keyboards) in a single default config file.

The file itself needs to end in `.conf` instead of the old `.cfg` and
there is a slight difference in syntax between the old `C` and the new
`control` for mapping the control key. That is about it.
2022-04-27 13:50:08 +02:00
2216ba079d
bootstrap: Update package list 2022-04-27 13:03:43 +02:00
71c41ecbde
bootstrap: Update package list script
Takes simple options -h (show help), -v (verbose), -n (dry-run) when
started.

By default does not spam output of *all* recognized packages anymore but
simply prints a diff at the end. Old output can be enabled with `-v`
verbose option.

Diff is shown even if dry-run mode is enabled so that using dry-run by
default will show you a preview of what changed.
2022-04-27 13:00:09 +02:00
b947493765
bootstrap: Update pkg list with python-docs
Added python-docs for offline python documentation availability, removed
long-overdue polybar package which I have not been using for a couple of
months.
2022-04-11 13:05:32 +02:00
8aa02654eb
nvim: Add Mini for indentblankline and commentary
Replaced indentblankline and vim-commentary both with mini.nvim, which
has both as submodules.

Commentary is replaced exactly and without any end-user changes, simply
transferred to be included in the lua plugin instead.
Indent blankline is a bit simpler but brings with it a new text object
which can be interacted with through `ai` and `ii`, e.g. `vii` select in
current indentation or `dai` delete around current indentation - very
useful.

Also added fuzzy matching algorithm from mini.nvim to telescope as
default sorter.
2022-04-11 13:00:55 +02:00
72c0a5d5f2
sh: Add short py alias for repl
Added `py` alias for any of `ptipython`, `ipython`, `python` found in
that order.
If python is not installed, will not create the alias.
2022-04-11 12:52:19 +02:00
50a5b23aab
scripts: Add queue to vidl
Added queuing to vidl downloader - will collect newly added files to
download to a queue.
(by default in ($XDG_DATA_HOME/ or ~/.local/share)/vidl/vidl_queue)

The queue of links can be interacted with like any other file.

When vidl is already running it keeps a lock-file active in .cache
directory so only one instance of vidl can ever be running
simultaneously.
2022-04-11 12:48:21 +02:00
2c7430121e
nvim: Fix dial plugin binds 2022-04-11 12:40:07 +02:00
bd71cfc168
mail: Use new neomutt styling, extend html view 2022-03-19 11:36:28 +01:00
27 changed files with 630 additions and 189 deletions

View file

@ -17,7 +17,7 @@ asciinema Record and share terminal sessions R
asix-ax88179-dkms A kernel module for ASIX AX88178A AX88179 USB 3.0 network adapters A asix-ax88179-dkms A kernel module for ASIX AX88178A AX88179 USB 3.0 network adapters A
aspell-de German dictionary for aspell R aspell-de German dictionary for aspell R
aspell-en English dictionary for aspell R aspell-en English dictionary for aspell R
atool A script for managing file archives of various types A atool A script for managing file archives of various types R
awesome Highly configurable framework window manager R awesome Highly configurable framework window manager R
barrier Open-source KVM software based on Synergy (GUI) R barrier Open-source KVM software based on Synergy (GUI) R
bash-bats Bash Automated Testing System R bash-bats Bash Automated Testing System R
@ -28,17 +28,17 @@ bearssl Implementation of the SSL/TLS protocol (RFC 5246) written in C A
beets Flexible music library manager and tagger R beets Flexible music library manager and tagger R
bibclean BibTeX and Scribe bibliography prettyprinter and syntax checker A bibclean BibTeX and Scribe bibliography prettyprinter and syntax checker A
biber A Unicode-capable BibTeX replacement for biblatex users R biber A Unicode-capable BibTeX replacement for biblatex users R
bibtool Command line manipulation of BibTeX files. A bibtool A tool for manipulating BibTeX files R
bind A complete, highly portable implementation of the DNS protocol R bind A complete, highly portable implementation of the DNS protocol R
bluez Daemons for the bluetooth protocol stack R bluez Daemons for the bluetooth protocol stack R
bluez-utils Development and debugging utilities for the bluetooth protocol stack R bluez-utils Development and debugging utilities for the bluetooth protocol stack R
brightnessctl Lightweight brightness control tool R brightnessctl Lightweight brightness control tool R
btop A monitor of system resources, bpytop ported to C++ R
busted Elegant Lua unit testing (CLI) R busted Elegant Lua unit testing (CLI) R
caddy Fast web server with automatic HTTPS R caddy Fast web server with automatic HTTPS R
calcurse A text-based personal organizer. R calcurse A text-based personal organizer R
catdoc A convertor for Microsoft Word, Excel, PowerPoint and RTF Files to text R catdoc A convertor for Microsoft Word, Excel, PowerPoint and RTF Files to text R
clipman A simple clipboard manager for Wayland A clipman A simple clipboard manager for Wayland A
crda Central Regulatory Domain Agent for wireless networks R
cups-pk-helper A helper that makes system-config-printer use PolicyKit R cups-pk-helper A helper that makes system-config-printer use PolicyKit R
dbus-broker Linux D-Bus Message Broker R dbus-broker Linux D-Bus Message Broker R
dcnnt Yet another tool to connect Android phone with desktop similar to KDE Connect A dcnnt Yet another tool to connect Android phone with desktop similar to KDE Connect A
@ -54,7 +54,7 @@ dos2unix Text file format converter R
duf Disk Usage/Free Utility R duf Disk Usage/Free Utility R
dunst Customizable and lightweight notification-daemon R dunst Customizable and lightweight notification-daemon R
dust A more intuitive version of du in rust R dust A more intuitive version of du in rust R
efm-langserver General purpose Language Server R efm-langserver General purpose Language Server A
element-desktop Glossy Matrix collaboration client — desktop version. R element-desktop Glossy Matrix collaboration client — desktop version. R
entr Run arbitrary commands when files change R entr Run arbitrary commands when files change R
evince Document viewer (PDF, PostScript, XPS, djvu, dvi, tiff, cbr, cbz, cb7, cbt) R evince Document viewer (PDF, PostScript, XPS, djvu, dvi, tiff, cbr, cbz, cb7, cbt) R
@ -67,6 +67,7 @@ fvextra Extensions to fancyvrb, including automatic line breaking and improved m
fwupd Simple daemon to allow session software to update firmware R fwupd Simple daemon to allow session software to update firmware R
fzf-tab-git Replace zsh's default completion selection menu with fzf. R fzf-tab-git Replace zsh's default completion selection menu with fzf. R
gallery-dl Command-line program to download image-galleries and collections from several image hosting sites A gallery-dl Command-line program to download image-galleries and collections from several image hosting sites A
gamemode A daemon/lib combo that allows games to request a set of optimisations be temporarily applied to the host OS R
gimp GNU Image Manipulation Program R gimp GNU Image Manipulation Program R
git-lfs Git extension for versioning large files R git-lfs Git extension for versioning large files R
gitea-tea-git Painless self-hosted Git service.. A gitea-tea-git Painless self-hosted Git service.. A
@ -86,7 +87,6 @@ gotty-bin Simple command line tool that turns your CLI tools into web applicatio
grim Screenshot utility for Wayland R grim Screenshot utility for Wayland R
grub GNU GRand Unified Bootloader (2) R grub GNU GRand Unified Bootloader (2) R
gsimplecal Simple and lightweight GTK calendar R gsimplecal Simple and lightweight GTK calendar R
gst-libav Multimedia graph framework - libav plugin R
gst-plugins-bad Multimedia graph framework - bad plugins R gst-plugins-bad Multimedia graph framework - bad plugins R
gstreamer-vaapi Multimedia graph framework - vaapi plugin R gstreamer-vaapi Multimedia graph framework - vaapi plugin R
gucharmap Gnome Unicode Charmap R gucharmap Gnome Unicode Charmap R
@ -120,11 +120,14 @@ linux-firmware Firmware files for Linux R
linux-headers Headers and scripts for building modules for the Linux kernel R linux-headers Headers and scripts for building modules for the Linux kernel R
littler a hash-bang and simple command line pipe front end for GNU R A littler a hash-bang and simple command line pipe front end for GNU R A
logrotate Rotates system logs automatically R logrotate Rotates system logs automatically R
lsof Lists open files for running Unix processes R
lswt List Wayland toplevels A lswt List Wayland toplevels A
lua-format LuaFormatter - Code formatter for Lua A lua-format LuaFormatter - Code formatter for Lua A
lua-language-server Lua Language Server coded by Lua R lua-language-server Lua Language Server coded by Lua R
lua51-busted Elegant Lua unit testing R lua51-busted Elegant Lua unit testing R
luacheck A tool for linting and static analysis of Lua code. A luacheck A tool for linting and static analysis of Lua code R
lutris Open Gaming Platform R
ly TUI display manager A
lynx A text browser for the World Wide Web R lynx A text browser for the World Wide Web R
maim Utility to take a screenshot using imlib2 R maim Utility to take a screenshot using imlib2 R
man-db A utility for reading man pages R man-db A utility for reading man pages R
@ -142,7 +145,7 @@ mopidy-scrobbler Mopidy extension for scrobbling played tracks to Last.fm A
mopidy-spotify Mopidy extension for playing music from Spotify A mopidy-spotify Mopidy extension for playing music from Spotify A
moreutils A growing collection of the unix tools that nobody thought to write thirty years ago R moreutils A growing collection of the unix tools that nobody thought to write thirty years ago R
mosh Mobile shell, surviving disconnects with local echo and line editing R mosh Mobile shell, surviving disconnects with local echo and line editing R
mpv-mpris MPRIS (Media Player Remote Interface Spec) plugin for mpv A mpv-mpris MPRIS plugin for mpv R
msmtp A mini smtp client R msmtp A mini smtp client R
nano Pico editor clone with enhancements R nano Pico editor clone with enhancements R
ncmpcpp Almost exact clone of ncmpc with some new features R ncmpcpp Almost exact clone of ncmpc with some new features R
@ -169,10 +172,9 @@ nvm Node Version Manager - Simple bash script to manage multiple active node.js
nzbget Download from Usenet using .nzb files R nzbget Download from Usenet using .nzb files R
oh-my-zsh-git A community-driven framework for managing your zsh configuration. Includes 180+ optional plugins and over 120 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community R oh-my-zsh-git A community-driven framework for managing your zsh configuration. Includes 180+ optional plugins and over 120 themes to spice up your morning, and an auto-update tool so that makes it easy to keep up with the latest updates from the community R
os-prober Utility to detect other OSes on a set of drives R os-prober Utility to detect other OSes on a set of drives R
p7zip Command-line file archiver with high compression ratio R
parallel A shell tool for executing jobs in parallel R parallel A shell tool for executing jobs in parallel R
paru-bin Feature packed AUR helper A paru-bin Feature packed AUR helper A
pass-coffin A password store extension that hides data inside a GPG coffin A pass-coffin A password store extension that hides data inside a signed and encrypted coffin A
pass-ssh A pass extension that creates ssh keys with an automatically generated passphrases stored in pass and outputs the public key using fzf or rofi A pass-ssh A pass extension that creates ssh keys with an automatically generated passphrases stored in pass and outputs the public key using fzf or rofi A
pavucontrol PulseAudio Volume Control R pavucontrol PulseAudio Volume Control R
pdfjs PDF reader in javascript R pdfjs PDF reader in javascript R
@ -180,10 +182,8 @@ pdftk Command-line tool for working with PDFs R
peek Simple screen recorder with an easy to use interface R peek Simple screen recorder with an easy to use interface R
perf Linux kernel performance auditing tool R perf Linux kernel performance auditing tool R
piavpn-bin Private Internet Access client A piavpn-bin Private Internet Access client A
picom X compositor that may fix tearing issues R
pipewire-alsa Low-latency audio/video router and processor - ALSA configuration R pipewire-alsa Low-latency audio/video router and processor - ALSA configuration R
playerctl mpris media player controller and lib for spotify, vlc, audacious, bmp, xmms2, and others. R playerctl mpris media player controller and lib for spotify, vlc, audacious, bmp, xmms2, and others. R
polybar A fast and easy-to-use status bar A
powertop A tool to diagnose issues with power consumption and power management R powertop A tool to diagnose issues with power consumption and power management R
prettier An opinionated code formatter for JS, JSON, CSS, YAML and much more R prettier An opinionated code formatter for JS, JSON, CSS, YAML and much more R
protonvpn-cli-ng A Community Linux CLI for ProtonVPN. A protonvpn-cli-ng A Community Linux CLI for ProtonVPN. A
@ -194,6 +194,8 @@ pyright Type checker for the Python language R
python-adblock Brave's adblock library in Python R python-adblock Brave's adblock library in Python R
python-black Uncompromising Python code formatter R python-black Uncompromising Python code formatter R
python-dictcc commandline tool for dict.cc A python-dictcc commandline tool for dict.cc A
python-docs Set of HTML documentation for python R
python-html2text A HTML to markdown-structured text converter R
python-openpyxl A Python library to read/write Excel 2007 xlsx/xlsm files R python-openpyxl A Python library to read/write Excel 2007 xlsx/xlsm files R
python-pagelabels Python library to manipulate PDF page numbers and labels. A python-pagelabels Python library to manipulate PDF page numbers and labels. A
python-pdfminer.six Community maintained fork of pdfminer A python-pdfminer.six Community maintained fork of pdfminer A
@ -221,13 +223,12 @@ rtv Browse Reddit from your terminal A
sc-im A spreadsheet program based on SC A sc-im A spreadsheet program based on SC A
screen Full-screen window manager that multiplexes a physical terminal R screen Full-screen window manager that multiplexes a physical terminal R
sfz A simple static file server A sfz A simple static file server A
shellcheck-bin Shell script analysis tool (binary release) A shellcheck-bin Shell script analysis tool (binary release, static) A
shfmt Format shell programs R shfmt Format shell programs R
siggo A terminal gui for signal-cli, written in Go. A siggo A terminal gui for signal-cli, written in Go. A
slurp Select a region in a Wayland compositor R slurp Select a region in a Wayland compositor R
speedtest-cli Command line interface for testing internet bandwidth using speedtest.net R speedtest-cli Command line interface for testing internet bandwidth using speedtest.net R
sshfs FUSE client based on the SSH File Transfer Protocol R sshfs FUSE client based on the SSH File Transfer Protocol R
steam Valve's digital software delivery system R
stow Manage installation of multiple softwares in the same directory tree R stow Manage installation of multiple softwares in the same directory tree R
surfraw Shell Users' Revolutionary Front Rage Against the Web R surfraw Shell Users' Revolutionary Front Rage Against the Web R
swaybg Wallpaper tool for Wayland compositors R swaybg Wallpaper tool for Wayland compositors R
@ -237,6 +238,7 @@ taskopen Script for taking notes and open urls with taskwarrior A
tasksh A shell command that wraps Taskwarrior commands A tasksh A shell command that wraps Taskwarrior commands A
tex-gyre-fonts Substitute PostScript fonts in OpenType format R tex-gyre-fonts Substitute PostScript fonts in OpenType format R
texlab A cross-platform implementation of the Language Server Protocol for LaTeX. R texlab A cross-platform implementation of the Language Server Protocol for LaTeX. R
thermald The Linux Thermal Daemon program from 01.org R
tigervnc Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC. R tigervnc Suite of VNC servers and clients. Based on the VNC 4 branch of TightVNC. R
timew Timewarrior, A command line time tracking application R timew Timewarrior, A command line time tracking application R
tllocalmgr-git A shell and command-line utility to manage TeXLive on Arch Linux A tllocalmgr-git A shell and command-line utility to manage TeXLive on Arch Linux A
@ -258,7 +260,6 @@ ufw Uncomplicated and easy to use CLI tool for managing a netfilter firewall R
unclutter A small program for hiding the mouse cursor R unclutter A small program for hiding the mouse cursor R
unrar The RAR uncompression program R unrar The RAR uncompression program R
unrtf Command-line program which converts RTF documents to other formats R unrtf Command-line program which converts RTF documents to other formats R
upower Abstraction for enumerating power devices, listening to device events and querying history and statistics R
urlview-xdg-git A curses URL parser for text files. Git version, adds support for QUITONLAUNCH option and XDG Base Directory specification compliance. A urlview-xdg-git A curses URL parser for text files. Git version, adds support for QUITONLAUNCH option and XDG Base Directory specification compliance. A
usql-bin Universal command-line interface for SQL databases A usql-bin Universal command-line interface for SQL databases A
v4l2loopback-dkms v4l2-loopback device module sources R v4l2loopback-dkms v4l2-loopback device module sources R
@ -270,21 +271,24 @@ vifm-git Ncurses based file manager with vi like keybindings A
vim-language-server VimScript language server A vim-language-server VimScript language server A
virtualbox Powerful x86 virtualization for enterprise as well as home use R virtualbox Powerful x86 virtualization for enterprise as well as home use R
virtualbox-guest-iso The official VirtualBox Guest Additions ISO image R virtualbox-guest-iso The official VirtualBox Guest Additions ISO image R
visidata Terminal spreadsheet multitool for discovering and arranging data A visidata Terminal spreadsheet multitool for discovering and arranging data R
vulkan-intel Intel's Vulkan mesa driver R
wavemon Ncurses-based monitoring application for wireless network devices R wavemon Ncurses-based monitoring application for wireless network devices R
waybar-git Highly customizable Wayland bar for Sway and Wlroots based compositors (GIT) A waybar-git Highly customizable Wayland bar for Sway and Wlroots based compositors (GIT) A
waylock A simple screenlocker for wayland compositors R waylock A simple screenlocker for wayland compositors R
wdisplays GUI display configurator for wlroots compositors A wdisplays GUI display configurator for wlroots compositors A
wev tool for debugging wayland events, similar to xev A wev tool for debugging wayland events, similar to xev A
wget Network utility to retrieve files from the Web R wget Network utility to retrieve files from the Web R
wine A compatibility layer for running Windows programs R
wireguard-tools next generation secure network tunnel - tools for configuration R wireguard-tools next generation secure network tunnel - tools for configuration R
wireless_tools Tools allowing to manipulate the Wireless Extensions R wireless_tools Tools allowing to manipulate the Wireless Extensions R
wpa_actiond Daemon that connects to wpa_supplicant and handles connect and disconnect events A wpa_actiond Daemon that connects to wpa_supplicant and handles connect and disconnect events A
wtype xdotool type for wayland R wtype xdotool type for wayland R
xdg-user-dirs Manage user directories like ~/Desktop and ~/Music R xdg-user-dirs Manage user directories like ~/Desktop and ~/Music R
xsv A fast CSV toolkit written in Rust A xsv A CLI for indexing, slicing, analyzing, splitting and joining CSV files R
yaml-language-server-bin Language server implementation for YAML files and optional schema support A yaml-language-server-bin Language server implementation for YAML files and optional schema support A
youtube-dl A command-line program to download videos from YouTube.com and a few more sites R youtube-dl A command-line program to download videos from YouTube.com and a few more sites R
yt-dlp-git A youtube-dl fork with additional features and fixes (git) A
ytfzf A posix script to find and watch youtube videos from the terminal. (Without API) A ytfzf A posix script to find and watch youtube videos from the terminal. (Without API) A
zathura-cb Adds comic book support to zathura R zathura-cb Adds comic book support to zathura R
zathura-djvu DjVu support for Zathura R zathura-djvu DjVu support for Zathura R

Can't render this file because it contains an unexpected character in line 254 and column 64.

View file

@ -1,33 +0,0 @@
# Makes capslock to control/escape
# insert to paste
# right alt to enable German Umlaute (äÄöÖüÜ),
# sharp s (ß), and the Euro sign (€).
# Needs compose key to be set in xkb to work correctly:
# $ setxkbmap -option "compose:menu"
capslock = overload(C, esc)
insert = S-insert
rightalt = layer(dia)
shift = layer(shift)
rightshift = layer(shift)
[shift:S]
rightalt = layer(shiftedDia)
[dia]
shift = layer(shiftedDia)
rightshift = layer(shiftedDia)
a = macro(compose a ")
o = macro(compose o ")
u = macro(compose u ")
s = macro(compose s s)
e = macro(compose = e)
[shiftedDia]
a = macro(compose A ")
o = macro(compose O ")
u = macro(compose U ")

View file

@ -1,9 +0,0 @@
# leftshift = oneshot(S)
# leftalt = oneshot(A)
# rightalt = oneshot(G)
# rightshift = oneshot(A)
# leftmeta = oneshot(M)
# rightmeta = oneshot(M)
capslock = overload(C, esc)
insert = S-insert

View file

@ -5,7 +5,13 @@
# Needs compose key to be set in xkb to work correctly: # Needs compose key to be set in xkb to work correctly:
# $ setxkbmap -option "compose:menu" # $ setxkbmap -option "compose:menu"
capslock = overload(C, esc) [ids]
*
[main]
capslock = overload(control, esc)
insert = S-insert insert = S-insert
rightalt = layer(dia) rightalt = layer(dia)
shift = layer(shift) shift = layer(shift)

View file

@ -7,6 +7,24 @@ pkg_all=$(pacman -Qqett | grep -v "$(pacman -Qqg base-devel)")
pkg_repo=$(pacman -Qqn) pkg_repo=$(pacman -Qqn)
pkg_aur=$(pacman -Qqm) pkg_aur=$(pacman -Qqm)
while getopts "nvh" opt; do
case "$opt" in
n) DRYRUN=true ;;
v) VERBOSE=true ;;
h | *)
{
printf "\nUpdate the list of installed packages.\n\nWill compare packages committed to the dotfile repository\nand those currently installed (on an Arch system, using pacman).\nUpdates the list of committed packages in repository\nand prints out the differences as a diff.\n\nOptions:\n\n\t-h\tDisplay this help.\n\t-v\tShow verbose information.\n\t-n\tPrint out changes without changing anything (dry-run).\n"
exit 1
}
;;
esac
done
print_msg() {
# shellcheck disable=2059
[ -n "$VERBOSE" ] && printf "$@"
}
# tsv file: # tsv file:
# packagename, description, source, target # packagename, description, source, target
# toot a toot manager A D # toot a toot manager A D
@ -20,9 +38,9 @@ touch "${OUTPUT}_TEMP"
for pkg in $pkg_all; do for pkg in $pkg_all; do
source="" source=""
if $(echo "$pkg_repo" | grep -F -q -x "$pkg"); then if echo "$pkg_repo" | grep -F -q -x "$pkg"; then
source="R" source="R"
elif $(echo "$pkg_aur" | grep -F -q -x "$pkg"); then elif echo "$pkg_aur" | grep -F -q -x "$pkg"; then
source="A" source="A"
else else
echo "ERROR: The package $pkg could not be found in repositories or AUR." echo "ERROR: The package $pkg could not be found in repositories or AUR."
@ -39,9 +57,9 @@ for pkg in $pkg_all; do
fi fi
if [ -n "$found_line" ]; then if [ -n "$found_line" ]; then
target=$(echo "$found_line" | cut -f4) target=$(echo "$found_line" | cut -f4)
printf "Updating pkg: %s:%s from: %s, for: %s\n" "$pkg" "$desc" "$source" "$target" print_msg "Updating pkg: %s:%s from: %s, for: %s\n" "$pkg" "$desc" "$source" "$target"
else else
printf "Adding pkg: %s:%s from: %s, for: %s\n" "$pkg" "$desc" "$source" "$target" print_msg "Adding pkg: %s:%s from: %s, for: %s\n" "$pkg" "$desc" "$source" "$target"
fi fi
printf "%s\t%s\t%s\t%s\n" "$pkg" "$desc" "$source" "$target" >>"${OUTPUT}_TEMP" printf "%s\t%s\t%s\t%s\n" "$pkg" "$desc" "$source" "$target" >>"${OUTPUT}_TEMP"
@ -51,11 +69,19 @@ done
if [ -f "$OUTPUT" ]; then if [ -f "$OUTPUT" ]; then
while read -r line; do while read -r line; do
if ! echo "$line" | cut -f1 | xargs -I _ grep -F -q -x _ <(echo "$pkg_all"); then if ! echo "$line" | cut -f1 | xargs -I _ grep -F -q -x _ <(echo "$pkg_all"); then
printf "REMOVED: %s" "$line" printf "REMOVED: %s\n" "$line"
fi fi
done <<<$(tail +2 "$OUTPUT") done <<<"$(tail +2 $OUTPUT)"
fi
# show file changes
if [ -f "$OUTPUT" ] && [ -f "$OUTPUT"_TEMP ]; then
changes=$(diff --color=always -y --suppress-common-lines "$OUTPUT" "$OUTPUT"_TEMP | tail -n+2)
printf "FILE CHANGES:\n=============\n%s" "$changes"
fi fi
# actually write to file # actually write to file
cat <(printf "Name\tDescription\tSource\tTarget\n") "${OUTPUT}_TEMP" >"$OUTPUT" if [ -z "$DRYRUN" ]; then
cat <(printf "Name\tDescription\tSource\tTarget\n") "${OUTPUT}_TEMP" >"$OUTPUT"
fi
rm "${OUTPUT}_TEMP" rm "${OUTPUT}_TEMP"

View file

@ -46,7 +46,6 @@ check_consent() {
printf "%s %s " "$2" "$default_consent" printf "%s %s " "$2" "$default_consent"
read -r answer read -r answer
if [[ "$1" == "n" ]] && [[ "$answer" != y* ]]; then if [[ "$1" == "n" ]] && [[ "$answer" != y* ]]; then
echo first
printf "%s\n" "$3" printf "%s\n" "$3"
false false
elif [[ "$1" == "y" ]] && [[ "$answer" == n* ]]; then elif [[ "$1" == "y" ]] && [[ "$answer" == n* ]]; then

View file

@ -0,0 +1,204 @@
{
"document": {
"block_prefix": "\n",
"block_suffix": "\n",
"color": "7",
"margin": 2
},
"block_quote": {
"indent": 0,
"color": "3",
"indent_token": "│ ",
"italic": true,
"margin": 1
},
"paragraph": {},
"list": {
"level_indent": 2,
"color": "7"
},
"heading": {
"block_suffix": "\n",
"color": "4",
"bold": true
},
"h1": {
"prefix": " ",
"suffix": " ",
"color": "7",
"background_color": "4",
"bold": true
},
"h2": {
"prefix": "## "
},
"h3": {
"prefix": "### "
},
"h4": {
"prefix": "#### "
},
"h5": {
"prefix": "##### "
},
"h6": {
"prefix": "###### ",
"color": "5",
"bold": false
},
"text": {},
"strikethrough": {
"crossed_out": true
},
"emph": {
"italic": true,
"color": "3"
},
"strong": {
"bold": true,
"color": "3"
},
"hr": {
"color": "0",
"format": "\n―――――――――――――――――――\n"
},
"item": {
"block_prefix": "• "
},
"enumeration": {
"block_prefix": ". ",
"color": "6"
},
"task": {
"ticked": "[✓] ",
"unticked": "[ ] "
},
"link": {
"color": "6",
"underline": true
},
"link_text": {
"color": "5",
"bold": true
},
"image": {
"color": "6",
"underline": true
},
"image_text": {
"color": "5",
"format": "Image: {{.text}} →"
},
"code": {
"color": "7",
"prefix": " ",
"suffix": " ",
"background_color": "#44475a"
},
"code_block": {
"color": "3",
"margin": 2,
"chroma": {
"text": {
"color": "#ansilightgray"
},
"error": {
"color": "#ansilightgray",
"background_color": "#ansidarkred"
},
"comment": {
"color": "#ansidarkgray"
},
"comment_preproc": {
"color": "#ansipurple"
},
"keyword": {
"color": "#ansipurple"
},
"keyword_reserved": {
"color": "#ansipurple"
},
"keyword_namespace": {
"color": "#ansipurple"
},
"keyword_type": {
"color": "#ansiteal"
},
"operator": {
"color": "#ansipurple"
},
"punctuation": {
"color": "#ansilightgray"
},
"name": {
"color": "#ansiteal"
},
"name_builtin": {
"color": "#ansiteal"
},
"name_tag": {
"color": "#ansipurple"
},
"name_attribute": {
"color": "#ansidarkgreen"
},
"name_class": {
"color": "#ansiteal"
},
"name_constant": {
"color": "#ansidarkblue"
},
"name_decorator": {
"color": "#ansidarkgreen"
},
"name_exception": {},
"name_function": {
"color": "#ansidarkgreen"
},
"name_other": {},
"literal": {},
"literal_number": {
"color": "#ansiturquoise"
},
"literal_date": {},
"literal_string": {
"color": "#ansibrown"
},
"literal_string_escape": {
"color": "#ansipurple"
},
"generic_deleted": {
"color": "#ansidarkred"
},
"generic_emph": {
"color": "#ansibrown",
"italic": true
},
"generic_inserted": {
"color": "#ansidarkgreen"
},
"generic_strong": {
"color": "#ansiyellow",
"bold": true
},
"generic_subheading": {
"color": "#ansidarkblue"
},
"background": {
"background_color": "#44475"
}
}
},
"table": {
"center_separator": "┼",
"column_separator": "│",
"row_separator": "─"
},
"definition_list": {},
"definition_term": {},
"definition_description": {
"block_prefix": "\n🠶 "
},
"html_block": {},
"html_span": {}
}

View file

@ -3,8 +3,8 @@
IMAPAccount gmail IMAPAccount gmail
# Address to connect to # Address to connect to
Host imap.gmail.com Host imap.gmail.com
UserCmd "pass show misc/aerc-gmail-app-password | grep username | cut -d: -f2" UserCmd "pass show misc/gmail-app-password | grep username | cut -d: -f2"
PassCmd "pass show misc/aerc-gmail-app-password | head -n1" PassCmd "pass show misc/gmail-app-password | head -n1"
# To store the password in an encrypted file use PassCmd instead of Pass # To store the password in an encrypted file use PassCmd instead of Pass
# PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.mailpass.gpg" # PassCmd "gpg2 -q --for-your-eyes-only --no-tty -d ~/.mailpass.gpg"
# #

View file

@ -12,7 +12,7 @@ port 587
from marty.oehme@gmail.com from marty.oehme@gmail.com
user marty.oehme@gmail.com user marty.oehme@gmail.com
# password plain-text-password-goes-here # password plain-text-password-goes-here
passwordeval "gpg --quiet --for-your-eyes-only --no-tty --decrypt $XDG_DATA_HOME/pass/misc/aerc-gmail-app-password.gpg" passwordeval "pass show misc/gmail-app-password | head -n1"
# Set a default account # Set a default account
account default : personal-gmail account default : personal-gmail

View file

@ -1,39 +1,39 @@
# taken from https://gideonwolfe.com/posts/workflow/neomutt/intro/ # # taken from https://gideonwolfe.com/posts/workflow/neomutt/intro/
# Header colors: # # Header colors:
color header blue default ".*" color header blue default ".*"
color header brightmagenta default "^(From)" color header brightmagenta default "^(From)"
color header brightcyan default "^(Subject)" color header brightcyan default "^(Subject)"
color header brightwhite default "^(CC|BCC)" color header brightwhite default "^(CC|BCC)"
mono bold bold # mono bold bold
mono underline underline # mono underline underline
mono indicator reverse # mono indicator reverse
mono error bold # mono error bold
color normal default default # color normal default default
color indicator brightyellow default # currently selected message. default makes bar clear, disabled arrow to save space. # color indicator brightyellow default # currently selected message. default makes bar clear, disabled arrow to save space.
color sidebar_highlight red default # color sidebar_highlight red default
color sidebar_divider brightblack black # color sidebar_divider brightblack black
color sidebar_flagged red black # color sidebar_flagged red black
color sidebar_new green black # color sidebar_new green black
color normal brightyellow default # color normal brightyellow default
color error red default # color error red default
color tilde black default # color tilde black default
color message cyan default # color message cyan default
color markers red white # color markers red white
color attachment white default # color attachment white default
color search brightmagenta default # color search brightmagenta default
color status brightyellow black # color status brightyellow black
color hdrdefault brightgreen default # color hdrdefault brightgreen default
color quoted green default # color quoted green default
color quoted1 blue default # color quoted1 blue default
color quoted2 cyan default # color quoted2 cyan default
color quoted3 yellow default # color quoted3 yellow default
color quoted4 red default # color quoted4 red default
color quoted5 brightred default # color quoted5 brightred default
color signature brightgreen default # color signature brightgreen default
color bold black default # color bold black default
color underline black default # color underline black default
color normal default default # color normal default default
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
@ -67,3 +67,167 @@ color index_author brightred black "~N"
color index_subject brightcyan black "~N" color index_subject brightcyan black "~N"
color progress black cyan color progress black cyan
# Nerd icons idea based on https://github.com/sheoak/neomutt-powerline-nerdfonts/
# Dracula colors based on Dracula Theme by Paul Townsend <paul@caprica.org>
# Formatting ----------------------------------------------------------------------
set date_format = "%a %d %h %H:%M"
set index_format=" %zc %zs %zt | %-35.35L %@attachment_info@ %?M10?~(%1M) ?%-30.100s %> %?Y?%Y ? %(!%a %d %h %H:%M) "
set pager_format="%n %T %s%*  %{!%d %b · %H:%M} %?X? %X?%P"
set status_format = " %D %?u? %u ?%?R? %R ?%?d? %d ?%?t? %t ?%?F? %F ?%?p? %p? \n \n"
set compose_format="-- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>-"
# set vfolder_format = "%N %?n?%3n& ? %8m  · %f"
set attach_format = "%u%D  %T%-75.75d %?T?%& ? %5s · %m/%M"
set sidebar_format = '%D%?Z? [%Z]?%* %?S?%S?'
index-format-hook attachment_info '=B text/calendar ~X 1' ' '
index-format-hook attachment_info '=B text/calendar' " "
index-format-hook attachment_info '~X 1' " "
index-format-hook attachment_info '~A' " "
# General Colors ------------------------------------------------------------------
color normal default default # general text
color error color231 color212 # error messages
color message default default # messages at the bottom
color prompt default default # prompt text
color search black color10 # search highlight
# Statusbar Colors ----------------------------------------------------------------
color status color141 default
color status color7 color8 '([a-zA-Z0-9\.,]|\[|\])(\s)' # bubble content 1
color status color7 color8 '(\s)([a-zA-Z0-9\.,]|\[|\])' # bubble content 2
color status color7 color8 '(\% )' # % symbol
color status color7 color8 '(\S)' # empty spaces
color status color8 default '(|)' # statusline "bubbles"
color status color69 black '(\` )' # bubble account variation
color status white color69 '([a-zA-Z0-9\.]+)()' # account text
color status green color8 '' # Unread messages count
color status blue color8 '' # Read messages count icon
color status yellow color8 '' # Flagged icon
color status red color8 '' # Pending delete icon
# Index Colors --------------------------------------------------------------------
color index color15 default '~N' # new messages
color index color8 default '~R' # read messages
color index color8 default '~Q' # messages which have been replied to
color index_collapsed color4 default # collapsed thread (message count text)
color index color5 default '!~Q^~p' # sent only to me and haven't been replied to
color index color22 default '~h X-Label..' # messages with a complete label
color index color6 default '~F' # flagged messages
color index color6 default '~F~N' # flagged messages (new)
color index color14 default '~F~R' # flagged messages (read)
color index color1 default '~D' # deleted messages
color index color1 default '~D~N' # deleted messages (new)
color index color9 default '~D~R' # deleted messages (read)
color index color3 default '~T' # tagged messages
color index color3 default '~T~N' # tagged messages (new)
color index color11 default '~T~R' # tagged messages (read)
color tree color8 color8 # thread tree lines/arrow
color indicator default color8 # selection indicator
color index_date color8 default # date is always the same colour
color index_label color6 default # label is always the same colour
# Sidebar Colors ------------------------------------------------------------------
color sidebar_indicator color14 black # currently selected mailbox
color sidebar_highlight white color8 # highlighted, but not open, mailbox.
color sidebar_ordinary color8 default # Color to give mailboxes by default
color sidebar_divider color8 black # divider between sidebar & content
color sidebar_flagged red black # mailboxes containing flagged mail
color sidebar_new green black # mailboxes containing new mail
color sidebar_unread color7 default # mailboxes containing unread mail
color sidebar_unread color7 default # mailboxes containing unread mail
# Message Headers -----------------------------------------------------------------
color hdrdefault color8 default
# Message Body --------------------------------------------------------------------
# Attachments
color attachment color8 default
# Signature
color signature color8 default
# emails
# color body color14 default '[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+'
# hide "mailto"
color body color0 color0 '<mailto:[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+>'
# URLs
color body color3 default '(https?|ftp)://[-\.,/%~_:?&=\#a-zA-Z0-9\+]+'
# Dividers
color body color8 default '(^[-_]*$)'
# Important info in calendar invites
color body color6 default '^(Date\/Time|Location|Organiser|Invitees|Teams Meeting)(:| \~\~)'
# Quotes
color quoted color61 default
color quoted1 color117 default
color quoted2 color84 default
color quoted3 color215 default
color quoted4 color212 default
# Forward/reply headers
color body color8 default '(^(To|From|Sent|Subject):.*)'
# Patch syntax highlighting
# color body brightwhite default '^[[:space:]].*'
# color body yellow default ^(diff).*
# color body white default ^[\-\-\-].*
# color body white default ^[\+\+\+].*
# color body green default ^[\+].*
# color body red default ^[\-].*
# color body brightblue default [@@].*
# color body cyan default ^(Signed-off-by).*
# color body brightwhite default ^(Cc)
# color body yellow default "^diff \-.*"
# color body brightwhite default "^index [a-f0-9].*"
# color body brightblue default "^---$"
# color body white default "^\-\-\- .*"
# color body white default "^[\+]{3} .*"
# color body green default "^[\+][^\+]+.*"
# color body red default "^\-[^\-]+.*"
# color body brightblue default "^@@ .*"
# color body green default "LGTM"
# color body brightmagenta default "-- Commit Summary --"
# color body brightmagenta default "-- File Changes --"
# color body brightmagenta default "-- Patch Links --"
# color body green default "^Merged #.*"
# color body red default "^Closed #.*"
# color body brightblue default "^Reply to this email.*"
# Misc -----------------------------------------------------------------------------
# no addressed to me, to me, group, cc, sent by me, mailing list
set to_chars=" "
# unchanged mailbox, changed, read only, attach mode
set status_chars = " "
ifdef crypt_chars set crypt_chars = " "
set flag_chars = " "
# hide some tags
set hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted"
tag-transforms "replied" "↻ " \
"encrytpted" "" \
"signed" "" \
"attachment" "" \
# The formats must start with 'G' and the entire sequence is case sensitive.
tag-formats "replied" "GR" \
"encrypted" "GE" \
"signed" "GS" \
"attachment" "GA" \
# don't put '+' at the beginning of wrapped lines
set markers=no

View file

@ -1,8 +1,28 @@
text/html; $BROWSER %s # open html emails in browser (or whatever GUI program is used to render HTML)
text/html; w3m -I %{charset} -T text/html -dump; copiousoutput; text/html; xdg-open %s ; nametemplate=%s.html
video/*; setsid umpv --quiet %s &; copiousoutput # render html emails inline using magic (uncomment the line below to use lynx instead)
audio/*; mpv %s ; # text/html; lynx -assume_charset=%{charset} -display_charset=utf-8 -collapse_br_tags -dump %s; nametemplate=%s.html; copiousoutput
application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; xdg-open /tmp/mutt/$(basename %s) & text/html; render-prettyhtml %s; nametemplate=%s.html; copiousoutput;
text/plain; $EDITOR %s ; text/plain; $EDITOR %s ;
# show calendar invites
text/calendar; render-calendar-attachment.py %s; copiousoutput;
application/ics; mutt-viewical; copiousoutput;
# open images externally
image/*; nsxiv %s ;
# open videos in mpv
video/*; mpv --autofit-larger=90\%x90\% %s; needsterminal;
video/*; setsid mpv --quiet %s &; copiousoutput
# open spreadsheets in sc-im
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; sc-im %s; needsterminal
# open anything else externally
application/pdf; xdg-open %s;
application/*; mkdir -p /tmp/mutt \; cp %s /tmp/mutt \; xdg-open /tmp/mutt/$(basename %s) &
application/pgp-encrypted; gpg -d '%s'; copiousoutput; application/pgp-encrypted; gpg -d '%s'; copiousoutput;
application/pgp-keys; gpg --import '%s'; copiousoutput; application/pgp-keys; gpg --import '%s'; copiousoutput;

View file

@ -44,6 +44,8 @@ bind pager gg top
bind pager G bottom bind pager G bottom
# compose postpone # compose postpone
bind compose p postpone-message bind compose p postpone-message
# markdown to html for composition
macro compose M "F pandoc -s -f markdown -t html \ny^T^Utext/html; charset=UTF-8\n" "Convert from MD to HTML"
# since we unbound the original g # since we unbound the original g
bind index,pager R group-reply bind index,pager R group-reply

View file

@ -11,63 +11,90 @@ set from = "marty.oehme@gmail.com"
set mail_check = 60 set mail_check = 60
set mail_check_stats set mail_check_stats
# Basic settings set quit # at least for rapid prototyping
set quit # at least for rapid prototyping set sleep_time = 0 # no pause for info messages
unset mark_old # things should only be new/unread or I actually looked at them set mark_old = no # things should only be new/unread or I actually looked at them
set pipe_decode # get rid of headers when passing messages along set pager_read_delay = 3 # mark read after 3 sec
set wait_key = no # don't wait for user input after shell cmds, auto-view, piping, etc set pipe_decode # get rid of headers when passing messages along
# Pager settings set auto_tag # apply commands to all tagged messages automatically
# filetypes and mailcap set wait_key = no # don't wait for user input after shell cmds, auto-view, piping, etc
set thorough_search = no # don't pre-process mail for ~b/~B searches
set flag_safe # make it impossible to delete flagged mails
# Pager settings
# filetypes and mailcap
set mailcap_path = "~/.config/neomutt/mailcap:~/.mailcap:/usr/share/neomutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap" set mailcap_path = "~/.config/neomutt/mailcap:~/.mailcap:/usr/share/neomutt/mailcap:/etc/mailcap:/etc/mailcap:/usr/etc/mailcap:/usr/local/etc/mailcap"
# Consult mime.types for determining types of these attachments # Consult mime.types for determining types of these attachments
mime_lookup application/octet-stream mime_lookup application/octet-stream
alternative_order multipart/mixed multipart/related text/plain # This requires a ~/.mailcap entry with the copiousoutput flag, such as:
alternative_order text/html text/plain text/enriched text/* # text/html; lynx -dump -width ${COLUMNS:-80} %s; nametemplate=%s.html; copiousoutput
# This requires a ~/.mailcap entry with the copiousoutput flag, such as: # Prefer plain text to html but multipart to plain for those only sending that
# text/html; lynx -dump -width ${COLUMNS:-80} %s; nametemplate=%s.html; copiousoutput auto_view application/ics
# Prefer plain text to html but multipart to plain for those only sending that auto_view text/calendar
auto_view text/plain
auto_view text/html auto_view text/html
# Remember to `mkdir -p ~/.neomutt/hcache` first: alternative_order text/calendar application/ics text/plain text/enriched text/html text/* multipart/mixed multipart/related text/plain
set count_alternatives = yes # look for attachments also in multipart/alternatives
# Remember to `mkdir -p ~/.neomutt/hcache` first:
set header_cache= "~/.neomutt/hcache" set header_cache= "~/.neomutt/hcache"
# Compose settings # Compose settings
set edit_headers # allow editing headers while writing mail set edit_headers # allow editing headers while writing mail
set sig_dashes # separate signature from mail set sig_dashes # separate signature from mail
set fast_reply # automatically fill in from and subject for replies set fast_reply # automatically fill in from and subject for replies
set forward_format = "Fwd: %s" set forward_format = "Fwd: %s"
set reply_to # default send back to reply-to: header instead of from: header set reply_to # default send back to reply-to: header instead of from: header
set reverse_name # default to reply as person e-mail was originally sent to set reverse_name # default to reply as person e-mail was originally sent to
set include # include original msg in reply set include # include original msg in reply
set forward_quote # include original msg as quote in fwd set forward_quote # include original msg as quote in fwd
# set editor = "emacsclient -a emacs -t" set forward_format = "FW: %s" # subject for forwarding
# set editor = "vim" set mime_forward = no # forward attachments with mail
set fcc_attach # attachments saved with body
# set editor = "emacsclient -a emacs -t"
# set editor = "vim"
set mime_type_query_command = "xdg-mime query filetype" set mime_type_query_command = "xdg-mime query filetype"
# send settings # send settings
set sendmail = "/usr/bin/msmtp -a personal-gmail" set sendmail = "/usr/bin/msmtp -a personal-gmail"
set sendmail_wait = 0 set sendmail_wait = 0
# Display Settings # Display Settings
set allow_ansi # allow escape codes for color etc
set sort = threads set sort = threads
set sort_re # thread based on regex below set sort_re # thread based on regex below
set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*" set reply_regex = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
set quote_regex = "^( {0,4}[>|:#%]| {0,4}[A-Za-z0-9]+[>|]+)+"
set sort_aux = reverse-last-date-received set sort_aux = reverse-last-date-received
set date_format = "%z/%m/%d %I:%M%p" # set date_format = "%z/%m/%d %I:%M%p"
# set date_format = "%m/%d" # set date_format = "%m/%d"
set index_format = "%4C [%Z] %{%y/%b %d} %-20.20F %s" # set index_format = "%4C [%Z] %{%y/%b %d} %-20.20F %s"
# sidebar view options # sidebar view options
set sidebar_visible = yes set sidebar_visible = yes
set sidebar_width = 18 set sidebar_width = 24
set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S" # set sidebar_format = "%B%?F? [%F]?%* %?N?%N/?%S"
set sidebar_divider_char = ' ░'
set sidebar_folder_indent = yes
set sidebar_indent_string = ' - '
set sidebar_visible = no
set sidebar_next_new_wrap = yes
set sidebar_short_path = yes
set sidebar_component_depth = 0
color sidebar_new color221 color233 color sidebar_new color221 color233
# statusbar view options # statusbar view options
set status_chars = " *%A" set status_chars = " *%A"
set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───" # set status_format = "───[ Folder: %f ]───[%r%m messages%?n? (%n new)?%?d? (%d to delete)?%?t? (%t tagged)? ]───%>─%?p?( %p postponed )?───"
# pager view options # pager view options
set pager_index_lines = 5 set pager_index_lines = 10
set pager_context = 3 set pager_context = 3
set pager_stop # do not go to next msg if at bottom of pager set pager_stop # do not go to next msg if at bottom of pager
set menu_scroll = yes set menu_scroll = yes
set tilde # show tildes for blank lines set tilde # show tildes for blank lines
unset markers # no + markers for wrapped stuff unset markers # no + markers for wrapped stuff
set wrap = 90
#### Thread ordering
set use_threads=reverse
set sort='last-date'
set collapse_all = yes
set uncollapse_new = no
set thread_received = yes
set narrow_tree=no
# hide headers except for those explicitly unignored # hide headers except for those explicitly unignored
ignore * ignore *
unignore From To Cc Bcc Date Subject Message-ID unignore From To Cc Bcc Date Subject Message-ID

View file

@ -0,0 +1,6 @@
#!/usr/bin/env bash
# render html as markdown and display in glow, supports syntax highlighting
# requires: html2text, glow
# author: CEUK
perl -0777pe 's/(<code class="sourceCode\s?)(\w+?)(">)(.*?)(<\/code>)/\1\2\3\n```\2\n\4\n```\n\5/gs' "$1" | html2text | sed -re 's/^\s+(```(\w+)?)/\1/gm' >/tmp/mutt.md
glow -s ~/.config/glow/email.json /tmp/mutt.md | sed 's/\x1b\[[6-9;]*m//g'

View file

@ -238,8 +238,8 @@ map.n['<c-a>'] = '<Plug>(dial-increment)'
map.n['<c-x>'] = '<Plug>(dial-decrement)' map.n['<c-x>'] = '<Plug>(dial-decrement)'
map.v['<c-a>'] = '<Plug>(dial-increment)' map.v['<c-a>'] = '<Plug>(dial-increment)'
map.v['<c-x>'] = '<Plug>(dial-decrement)' map.v['<c-x>'] = '<Plug>(dial-decrement)'
map.v['g<c-a>'] = '<Plug>(dial-increment-additional)' map.v['g<c-a>'] = 'g<Plug>(dial-increment)'
map.v['g<c-x>'] = '<Plug>(dial-decrement-additional)' map.v['g<c-x>'] = 'g<Plug>(dial-decrement)'
-- PLUGIN: zettelkasten.nvim -- PLUGIN: zettelkasten.nvim
map.n.nore['<cr>'] = [[:silent lua require 'zettelkasten'.link_follow()<cr>]] map.n.nore['<cr>'] = [[:silent lua require 'zettelkasten'.link_follow()<cr>]]

View file

@ -1,18 +0,0 @@
-- Settings for indentBlankline
-- turn off for diff views since we want to compare directly
if vim.wo.diff then vim.g["indent_blankline_enabled"] = false end
vim.g.indent_blankline_char = ""
vim.g.indent_blankline_filetype_exclude = {
"help", "undotree", "markdown", "text", "pandoc", "rst", "asciidoc",
"vim-plug"
}
vim.g.indent_blankline_buftype_exclude = {"terminal"}
vim.g.indent_blankline_use_treesitter = true
vim.g.indent_blankline_show_first_indent_level = false
vim.g.indent_blankline_show_current_context = true
vim.g.indent_blankline_context_highlight = "Function"
vim.g.indent_blankline_context_patterns = {"function", "class", "method"}

View file

@ -92,6 +92,7 @@ local sumneko_root_path = "/usr/share/lua-language-server"
require'navigator'.setup({ require'navigator'.setup({
lsp = { lsp = {
servers = {'efm'}, servers = {'efm'},
disable_lsp = {"pylsp", "jedi_language_server"},
sumneko_lua = { sumneko_lua = {
cmd = { cmd = {
"lua-language-server", "-E", sumneko_root_path .. "/main.lua" "lua-language-server", "-E", sumneko_root_path .. "/main.lua"

View file

@ -0,0 +1,7 @@
require('mini.comment').setup()
require('mini.indentscope').setup({
symbol = "",
draw = {animation = require('mini.indentscope').gen_animation('none')},
options = {indent_at_cursor = false}
})
require('mini.trailspace').setup()

View file

@ -9,7 +9,8 @@ require("telescope").setup {
vimgrep_arguments = { vimgrep_arguments = {
'rg', '--ignore-vcs', '--hidden', '--color=never', '--no-heading', 'rg', '--ignore-vcs', '--hidden', '--color=never', '--no-heading',
'--with-filename', '--line-number', '--column', '--smart-case' '--with-filename', '--line-number', '--column', '--smart-case'
} },
generic_sorter = require('mini.fuzzy').get_telescope_sorter
}, },
pickers = { pickers = {
buffers = {theme = "ivy"}, buffers = {theme = "ivy"},

View file

@ -1,6 +1,6 @@
require'nvim-treesitter.configs'.setup { require'nvim-treesitter.configs'.setup {
-- one of "all", "maintained" (parsers with maintainers), or a list of languages -- one of "all", "maintained" (parsers with maintainers), or a list of languages
ensure_installed = "maintained", ensure_installed = "all",
highlight = {enable = true}, highlight = {enable = true},
incremental_selection = {enable = true}, incremental_selection = {enable = true},
textobjects = {enable = true}, textobjects = {enable = true},

View file

@ -27,10 +27,6 @@ require("packer").startup(function()
use 'RRethy/vim-illuminate' -- highlight other occurences of the word under cursor use 'RRethy/vim-illuminate' -- highlight other occurences of the word under cursor
use 'ojroques/vim-oscyank' -- yank from *anywhere* (even ssh session) to clipboard, using :OSCYank use 'ojroques/vim-oscyank' -- yank from *anywhere* (even ssh session) to clipboard, using :OSCYank
use 'ggandor/lightspeed.nvim' -- jump between letters with improved fFtT quicksearch, mimics sneak use 'ggandor/lightspeed.nvim' -- jump between letters with improved fFtT quicksearch, mimics sneak
-- use { -- weird errors currently
-- 'lukas-reineke/indent-blankline.nvim', -- show a vertical line for each indentation
-- config = function() require('plug._indent-blankline') end
-- }
-- files -- files
use 'vifm/vifm.vim' -- integrate file manager use 'vifm/vifm.vim' -- integrate file manager
use { use {
@ -56,7 +52,6 @@ require("packer").startup(function()
} }
-- editing -- editing
use {'tpope/vim-commentary', event = "BufRead"} -- easily toggle comments for lines, paragraphs etc with gc
use {'machakann/vim-sandwich', event = "BufRead"} -- surround things with other things using sa/sd/sr use {'machakann/vim-sandwich', event = "BufRead"} -- surround things with other things using sa/sd/sr
use { use {
'monaqa/dial.nvim', -- extend the ^a / ^x possibilities to dates, hex, alphabets, markdown headers 'monaqa/dial.nvim', -- extend the ^a / ^x possibilities to dates, hex, alphabets, markdown headers
@ -144,6 +139,11 @@ require("packer").startup(function()
-- --
-- nvim plugs -- nvim plugs
use {
'echasnovski/mini.nvim',
branch = 'stable',
config = function() require('plug._mini') end
}
use 'Iron-E/nvim-cartographer' -- makes it easier to set mappings through lua use 'Iron-E/nvim-cartographer' -- makes it easier to set mappings through lua
use 'marty-oehme/zettelkasten.nvim' -- simple static markdown linking use 'marty-oehme/zettelkasten.nvim' -- simple static markdown linking
use { use {

View file

@ -4,7 +4,6 @@
show_help() { show_help() {
printf """ printf """
archive.sh: Hard linking your stuff.
vidl: Video downloader vidl: Video downloader
Simple wrapper for youtube-dl (or yt-dlp or similar). Simple wrapper for youtube-dl (or yt-dlp or similar).
@ -24,6 +23,8 @@ Options:
-c Clear existing download queue. -c Clear existing download queue.
-p Print out number of remaining items in queue.
-t Point to youtube-dl command to use. Can be command or absolute link. -t Point to youtube-dl command to use. Can be command or absolute link.
By default will use \`yt-dlp\` which is a more up to date fork of the By default will use \`yt-dlp\` which is a more up to date fork of the
youtube-dl program. youtube-dl program.
@ -32,7 +33,7 @@ Options:
urls=("$@") urls=("$@")
while getopts "t:f:d:hc" opt; do while getopts "t:f:d:hcp" opt; do
case "$opt" in case "$opt" in
# v) verbose=1 # v) verbose=1
# ;; # ;;
@ -48,6 +49,9 @@ while getopts "t:f:d:hc" opt; do
c) c)
ONLY_DO=clear ONLY_DO=clear
;; ;;
p)
ONLY_DO=remaining
;;
h | \? | *) h | \? | *)
show_help show_help
exit 0 exit 0
@ -122,12 +126,13 @@ setup() {
declare -a YT_DL_OPTS=${YT_DL_OPTS:-( "${yt_default_opts[@]}" )} declare -a YT_DL_OPTS=${YT_DL_OPTS:-( "${yt_default_opts[@]}" )}
YT_DL_TITLE="${YT_DL_TITLE:-%(channel)s_%(title)s_%(id)s}" # this title needs to be without extension YT_DL_TITLE="${YT_DL_TITLE:-%(channel)s_%(title)s_%(id)s}" # this title needs to be without extension
queue_file="${XDG_CACHE_HOME:-$HOME/.cache}/vidl_queue" data_dir="${XDG_DATA_HOME:-$HOME/.local/share}/vidl"
if [ ! -f "$queue_file" ]; then cache_dir="${XDG_CACHE_HOME:-$HOME/.cache}/vidl"
mkdir -p $(dirname "$queue_file") [ ! -d "$data_dir" ] && mkdir -p "$data_dir"
touch "$queue_file" [ ! -d "$cache_dir" ] && mkdir -p "$cache_dir"
fi
lock_dir="${XDG_CACHE_HOME:-$HOME/.cache}/vidl_lock" queue_file="${data_dir}/vidl_queue"
lock_file="${cache_dir}/vidl_lock"
} }
is_in_queue() { # 1=url is_in_queue() { # 1=url
@ -150,14 +155,14 @@ clear_queue() {
} }
remove_lock() { remove_lock() {
if ! rmdir $lock_dir; then if ! rmdir "$lock_file"; then
echo "Failed to remove lock '$lock_dir'. Please remove manually before next run." echo "Failed to remove lock '$lock_file'. Please remove manually before next run."
exit 1 exit 1
fi fi
} }
is_only_instance() { is_only_instance() {
if mkdir $lock_dir 2>/dev/null; then if mkdir "$lock_file" 2>/dev/null; then
trap "remove_lock" EXIT trap "remove_lock" EXIT
return 0 return 0
else else
@ -165,11 +170,22 @@ is_only_instance() {
fi fi
} }
print_queue_remaining() {
if [ ! -f "$queue_file" ]; then
echo 0
return
fi
wc -l "$queue_file" | cut -f1 -d' '
}
main() { main() {
setup setup
if [ "$ONLY_DO" = "clear" ]; then if [ "$ONLY_DO" = "clear" ]; then
clear_queue clear_queue
exit exit
elif [ "$ONLY_DO" = "remaining" ]; then
print_queue_remaining
exit
fi fi
for url in $*; do for url in $*; do

View file

@ -92,3 +92,12 @@ if exist vifm; then
alias vm=vifm alias vm=vifm
alias vmm='vifm ${PWD}' alias vmm='vifm ${PWD}'
fi fi
# python
if exist ptipython; then
alias py=ptipython
elif exist ipython; then
alias py=ipython
elif exist python; then
alias py=python
fi

View file

@ -3,9 +3,8 @@
# clip -- easy copying to clipboard manager with # clip -- easy copying to clipboard manager with
# wl-copy / xclip / xsel # wl-copy / xclip / xsel
# #
# clips the first argument to the clipboard # clips arguments passed to the clipboard
# or stdin if stdin is passed # or stdin if stdin is passed.
# will copy png/jpg as image files
# #
# idea ~~stolen~~ creatively borrowed from # idea ~~stolen~~ creatively borrowed from
# https://github.com/kyazdani42/dotfiles/blob/master/bin/copy # https://github.com/kyazdani42/dotfiles/blob/master/bin/copy

View file

@ -1,4 +1,4 @@
rename-window tasksh rename-window focus
send-keys tasksh C-m "+TODAY" C-m send-keys tasksh C-m "+TODAY" C-m
new-window -n dash new-window -n dash
send-keys "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task next" C-m send-keys "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task next" C-m
@ -8,10 +8,8 @@ split-window -v "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task
select-pane -t 1 select-pane -t 1
split-window -v -l 5 split-window -v -l 5
send-keys "t" Space send-keys "t" Space
new-window -n history new-window -n journal
send-keys "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task ghistory.monthly" C-m send-keys "calcurse" C-m
split-window -v -l 80% "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task ghistory.weekly" split-window -h -l 35% "ls ~/documents/records/jrnl.md | entr -c jrnl -5"
split-window -v -l 60% "cd ${XDG_DATA_HOME:-~/.local/share}/task/; fd . | entr -c task ghistory.daily"
split-window -v -l 10% split-window -v -l 10%
send-keys "nvim ${XDG_CONFIG_HOME:-~/.config}/task/taskrc" C-m
select-window -t 2 select-window -t 2

View file

@ -1,8 +1,8 @@
{ {
"layer": "top", "layer": "top",
"modules-left": ["river/tags"], "modules-left": ["river/tags", "custom/events", "custom/vidl"],
"modules-center": ["clock", ], "modules-center": ["clock", "custom/media"],
"modules-right": ["custom/events", "custom/media", "custom/wireguard", "custom/archupdates", "pulseaudio", "backlight", "network", "cpu", "memory", "temperature", "battery", "tray"], "modules-right": ["custom/wireguard", "custom/archupdates", "pulseaudio", "backlight", "network", "cpu", "memory", "temperature", "battery", "tray"],
"custom/archupdates": { "custom/archupdates": {
"format": "{} {icon}", "format": "{} {icon}",
"format-alt-click": "right", "format-alt-click": "right",
@ -166,5 +166,16 @@
"return-type": "json", "return-type": "json",
"signal": 6, "signal": 6,
"interval": 60, "interval": 60,
} },
"custom/vidl": {
"format": "{} {icon}",
"format-alt-click": "right",
"format-icons": {
"default": ""
},
"exec": "wc -l ~/.local/share/vidl/vidl_queue | cut -d' ' -f1",
"exec-if": "[ -f ~/.local/share/vidl/vidl_queue ]",
"interval": 5,
"on-click": "kitty --class float nvim ~/.local/share/vidl/vidl_queue"
},
} }

View file

@ -60,6 +60,7 @@ window#waybar.hidden {
#custom-archupdates, #custom-archupdates,
#custom-wireguard, #custom-wireguard,
#custom-events, #custom-events,
#custom-vidl,
#custom-media { #custom-media {
padding: 0 10px; padding: 0 10px;
margin: 0 5px; margin: 0 5px;