Compare commits
13 commits
3e00e84319
...
35eae9b32c
Author | SHA1 | Date | |
---|---|---|---|
35eae9b32c | |||
95e2fea951 | |||
9a46a94827 | |||
96439a5c9b | |||
cac0aee4ca | |||
2216ba079d | |||
71c41ecbde | |||
b947493765 | |||
8aa02654eb | |||
72c0a5d5f2 | |||
50a5b23aab | |||
2c7430121e | |||
bd71cfc168 |
27 changed files with 630 additions and 189 deletions
|
@ -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.
|
|
@ -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 ")
|
|
|
@ -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
|
|
|
@ -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)
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
204
mail/.config/glow/email.json
Normal file
204
mail/.config/glow/email.json
Normal 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": {}
|
||||||
|
}
|
|
@ -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"
|
||||||
#
|
#
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
6
mail/.local/bin/render-prettyhtml
Executable file
6
mail/.local/bin/render-prettyhtml
Executable 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'
|
|
@ -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>]]
|
||||||
|
|
|
@ -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"}
|
|
|
@ -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"
|
||||||
|
|
7
nvim/.config/nvim/lua/plug/_mini.lua
Normal file
7
nvim/.config/nvim/lua/plug/_mini.lua
Normal 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()
|
|
@ -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"},
|
||||||
|
|
|
@ -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},
|
||||||
|
|
|
@ -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 {
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
Loading…
Reference in a new issue