Inital commit

This commit is contained in:
2021-04-07 22:56:28 +01:00
commit a4498f2f85
88 changed files with 6055 additions and 0 deletions

152
.config/dunst/dunstrc Normal file
View File

@@ -0,0 +1,152 @@
[global]
monitor = 0
follow = keyboard
geometry = "350x5-0+24"
indicate_hidden = yes
shrink = yes
transparency = 20
notification_height = 0
padding = 0
horizontal_padding = 8
frame_width = 3
frame_color = "#282828"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
idle_threshold = 120
font = Monospace 14
line_height = 0
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
alignment = left
show_age_threshold = 60
word_wrap = yes
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = true
show_indicators = yes
icon_position = left
max_icon_size = 40
#icon_path = /user/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/Adwaita/256x256/status/
sticky_history = yes
history_length = 20
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
title = Dunst
class = Dunst
startup_notification = false
force_xinerama = false
[experimental]
per_monitor_dpi = false
[shortcuts]
close = ctrl+space
close_all = ctrl+shift+space
history = ctrl+grave
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "#282828"
foreground = "#928374"
timeout = 5
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "#458588"
foreground = "#ebdbb2"
timeout = 5
[urgency_critical]
background = "#cc2421"
foreground = "#ebdbb2"
frame_color = "#fabd2f"
timeout = 0
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View File

@@ -0,0 +1,35 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<alias>
<family>serif</family>
<prefer>
<family>Linux Libertine</family>
<family>Joy Pixels</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>sans-serif</family>
<prefer>
<family>Linux Biolinum</family>
<family>Joy Pixels</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>sans</family>
<prefer>
<family>Linux Biolinum</family>
<family>Joy Pixels</family>
<family>Noto Color Emoji</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Sans Mono</family>
<family>Liberation Mono</family>
</prefer>
</alias>
</fontconfig>

19
.config/gtk-2.0/gtkrc-2.0 Normal file
View File

@@ -0,0 +1,19 @@
# DO NOT EDIT! This file will be overwritten by LXAppearance.
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
include "~/.gtkrc-2.0.mine"
gtk-theme-name="Arc-Gruvbox"
gtk-icon-theme-name="Adwaita"
gtk-font-name="Sans 10"
gtk-cursor-theme-name="Adwaita"
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_TEXT
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle="hintfull"
gtk-xft-rgba="rgb"

View File

@@ -0,0 +1,16 @@
[Settings]
gtk-theme-name=Arc-Gruvbox
gtk-icon-theme-name=Adwaita
gtk-font-name=Sans 10
gtk-cursor-theme-size=0
gtk-toolbar-style=GTK_TOOLBAR_TEXT
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
gtk-button-images=0
gtk-menu-images=1
gtk-enable-event-sounds=1
gtk-enable-input-feedback-sounds=1
gtk-xft-antialias=1
gtk-xft-hinting=1
gtk-xft-hintstyle=hintfull
gtk-xft-rgba=rgb
gtk-cursor-theme-name=Adwaita

104
.config/lf/lfrc Normal file
View File

@@ -0,0 +1,104 @@
# Basic vars
set shell bash
set shellopts '-eu'
set ifs "\n"
set scrolloff 10
set icons
set period 1
set hiddenfiles ".*:*.aux:*.log:*.bbl:*.bcf:*.blg:*.run.xml"
# Vars that depend on environmental variables
$lf -remote "send $id set previewer ${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope"
# cmds/functions
cmd open ${{
case $(file --mime-type $f -b) in
image/vnd.djvu|application/pdf|application/octet-stream) setsid -f zathura $fx >/dev/null 2>&1 ;;
text/*) $EDITOR $fx;;
image/x-xcf) setsid -f gimp $f >/dev/null 2>&1 ;;
image/svg+xml) display -- $f ;;
image/*) rotdir $f | grep -i "\.\(png\|jpg\|jpeg\|gif\|webp\|tif\|ico\)\(_large\)*$" | sxiv -aio 2>/dev/null | lf-select ;;
audio/*) mpv --audio-display=no $f ;;
video/*) setsid -f mpv $f -quiet >/dev/null 2>&1 ;;
application/pdf|application/vnd*|application/epub*) setsid -f zathura $fx >/dev/null 2>&1 ;;
*) for f in $fx; do setsid -f $OPENER $f >/dev/null 2>&1; done;;
esac
}}
cmd mkdir $mkdir -p "$(echo $* | tr ' ' '\ ')"
cmd extract ${{
clear; tput cup $(($(tput lines)/3)); tput bold
set -f
printf "%s\n\t" "$fx"
printf "extract?[y/N]"
read ans
[ $ans = "y" ] && ex $fx
}}
cmd delete ${{
clear; tput cup $(($(tput lines)/3)); tput bold
set -f
printf "%s\n\t" "$fx"
printf "delete?[y/N]"
read ans
[ $ans = "y" ] && rm -rf -- $fx
}}
cmd moveto ${{
clear; tput cup $(($(tput lines)/3)); tput bold
set -f
clear; echo "Move to where?"
dest="$(cut -d' ' -f2- ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|' )" &&
for x in $fx; do
eval mv -iv \"$x\" \"$dest\"
done &&
notify-send "🚚 File(s) moved." "File(s) moved to $dest."
}}
cmd copyto ${{
clear; tput cup $(($(tput lines)/3)); tput bold
set -f
clear; echo "Copy to where?"
dest="$(cut -d' ' -f2- ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf | sed 's|~|$HOME|' )" &&
for x in $fx; do
eval cp -ivr \"$x\" \"$dest\"
done &&
notify-send "📋 File(s) copied." "File(s) copies to $dest."
}}
cmd setbg "$1"
cmd bulkrename $vidir
# Bindings
map <c-f> $lf -remote "send $id select '$(fzf)'"
map J $lf -remote "send $id cd $(cut -d' ' -f2 ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | fzf)"
map gh
map g top
map D delete
map E extract
map C copyto
map M moveto
map <c-n> push :mkdir<space>
map <c-r> reload
map <c-s> set hidden!
map <enter> shell
map x $$f
map X !$f
map o &mimeopen $f
map O $mimeopen --ask $f
map A rename # at the very end
map c push A<c-u> # new rename
map I push A<c-a> # at the very beginning
map i push A<a-b><a-b><a-f> # before extension
map a push A<a-b> # after extension
map B bulkrename
map b $setbg $f
map <c-e> down
map <c-y> up
map V push :!nvim<space>
# Source Bookmarks
source "~/.config/lf/shortcutrc"

58
.config/lf/scope Normal file
View File

@@ -0,0 +1,58 @@
#!/bin/bash
set -C -f -u
#IFS=$'\n'
IFS="$(printf '%b_' '\n')"; IFS="${IFS%_}"
# ANSI color codes are supported.
# STDIN is disabled, so interactive scripts won't work properly
# This script is considered a configuration file and must be updated manually.
# Meanings of exit codes:
# code | meaning | action of ranger
# -----+------------+-------------------------------------------
# 0 | success | Display stdout as preview
# 1 | no preview | Display no preview at all
# 2 | plain text | Display the plain content of the file
# Script arguments
FILE_PATH="${1}" # Full path of the highlighted file
HEIGHT="${2}"
#FILE_EXTENSION="${FILE_PATH##*.}"
#FILE_EXTENSION_LOWER=$(echo ${FILE_EXTENSION} | tr '[:upper:]' '[:lower:]')
# Settings
HIGHLIGHT_SIZE_MAX=262143 # 256KiB
HIGHLIGHT_TABWIDTH=8
HIGHLIGHT_STYLE='pablo'
handle_mime() {
local mimetype="${1}"
case "${mimetype}" in
text/html) w3m -dump "${FILE_PATH}" ;;
text/troff) man ./ "${FILE_PATH}" | col -b ;;
text/* | */xml)
if [ "$( stat --printf='%s' -- "${FILE_PATH}" )" -gt "${HIGHLIGHT_SIZE_MAX}" ]; then
exit 2
fi
if [ "$( tput colors )" -ge 256 ]; then
local highlight_format='xterm256'
else
local highlight_format='ansi'
fi
highlight --replace-tabs="${HIGHLIGHT_TABWIDTH}" --out-format="${highlight_format}" \
--style="${HIGHLIGHT_STYLE}" --force -- "${FILE_PATH}" ;;
application/zip) atool --list -- "${FILE_PATH}" ;;
image/*) chafa --fill=block --symbols=block -c 256 -s 80x"${HEIGHT}" "${FILE_PATH}" || exit 1;;
video/* | audio/*|application/octet-stream) mediainfo "${FILE_PATH}" || exit 1;;
*/pdf) pdftotext -l 10 -nopgbrk -q -- "${FILE_PATH}" - ;;
*opendocument*) odt2txt "${FILE_PATH}" ;;
esac
}
MIMETYPE="$( file --dereference --brief --mime-type -- "${FILE_PATH}" )"
handle_mime "${MIMETYPE}"
exit 1

17
.config/mimeapps.list Normal file
View File

@@ -0,0 +1,17 @@
[Default Applications]
# xdg-open will use these settings to determine how to open filetypes.
# These .desktop entries can also be seen and changed in ~/.local/share/applications/
text/x-shellscript=text.desktop;
x-scheme-handler/mailto=mail.desktop;
text/plain=text.desktop;
application/postscript=pdf.desktop;
application/pdf=pdf.desktop;
image/png=img.desktop;
image/jpeg=img.desktop;
image/gif=img.desktop;
application/rss+xml=rss.desktop
video/x-matroska=video.desktop
x-scheme-handler/lbry=lbry.desktop
inode/directory=file.desktop

21
.config/mpd/mpd.conf Normal file
View File

@@ -0,0 +1,21 @@
music_directory "~/Tower/Music"
playlist_directory "~/.config/mpd/playlists"
auto_update "yes"
bind_to_address "127.0.0.1"
restore_paused "yes"
max_output_buffer_size "16384"
audio_output {
type "pulse"
name "pulse"
#type "alsa"
#name "ALSA"
}
audio_output {
type "fifo"
name "Visualizer feed"
path "/tmp/mpd.fifo"
format "44100:16:2"
}

5
.config/mpv/input.conf Normal file
View File

@@ -0,0 +1,5 @@
l seek 5
h seek -5
j seek -60
k seek 60
S cycle sub

View File

@@ -0,0 +1,3 @@
local mpv_scripts_dir_path = os.getenv("HOME") .. "/.config/mpv/scripts/"
function load(relative_path) dofile(mpv_scripts_dir_path .. relative_path) end
load("mpvSockets/mpvSockets.lua")

480
.config/ncmpcpp/bindings Normal file
View File

@@ -0,0 +1,480 @@
##############################################################
## This is the example bindings file. Copy it to ##
## ~/.ncmpcpp/bindings or $XDG_CONFIG_HOME/ncmpcpp/bindings ##
## and set up your preferences ##
##############################################################
#
#def_key "mouse"
# mouse_event
#
#def_key "up"
# scroll_up
#
#def_key "shift-up"
# select_item
# scroll_up
#
#def_key "down"
# scroll_down
#
#def_key "shift-down"
# select_item
# scroll_down
#
#def_key "["
# scroll_up_album
#
#def_key "]"
# scroll_down_album
#
#def_key "{"
# scroll_up_artist
#
#def_key "}"
# scroll_down_artist
#
#def_key "page_up"
# page_up
#
#def_key "page_down"
# page_down
#
#def_key "home"
# move_home
#
#def_key "end"
# move_end
#
#def_key "insert"
# select_item
#
#def_key "enter"
# enter_directory
#
#def_key "enter"
# toggle_output
#
#def_key "enter"
# run_action
#
#def_key "enter"
# play_item
#
#def_key "space"
# add_item_to_playlist
#
#def_key "space"
# toggle_lyrics_update_on_song_change
#
#def_key "space"
# toggle_visualization_type
#
#def_key "delete"
# delete_playlist_items
#
#def_key "delete"
# delete_browser_items
#
#def_key "delete"
# delete_stored_playlist
#
#def_key "right"
# next_column
#
#def_key "right"
# slave_screen
#
#def_key "right"
# volume_up
#
#def_key "+"
# volume_up
#
#def_key "left"
# previous_column
#
#def_key "left"
# master_screen
#
#def_key "left"
# volume_down
#
#def_key "-"
# volume_down
#
#def_key ":"
# execute_command
#
#def_key "tab"
# next_screen
#
#def_key "shift-tab"
# previous_screen
#
#def_key "f1"
# show_help
#
#def_key "1"
# show_playlist
#
#def_key "2"
# show_browser
#
#def_key "2"
# change_browse_mode
#
#def_key "3"
# show_search_engine
#
#def_key "3"
# reset_search_engine
#
#def_key "4"
# show_media_library
#
#def_key "4"
# toggle_media_library_columns_mode
#
#def_key "5"
# show_playlist_editor
#
#def_key "6"
# show_tag_editor
#
#def_key "7"
# show_outputs
#
#def_key "8"
# show_visualizer
#
#def_key "="
# show_clock
#
#def_key "@"
# show_server_info
#
#def_key "s"
# stop
#
#def_key "p"
# pause
#
#def_key ">"
# next
#
#def_key "<"
# previous
#
#def_key "ctrl-h"
# jump_to_parent_directory
#
#def_key "ctrl-h"
# replay_song
#
#def_key "backspace"
# jump_to_parent_directory
#
#def_key "backspace"
# replay_song
#
#def_key "f"
# seek_forward
#
#def_key "b"
# seek_backward
#
#def_key "r"
# toggle_repeat
#
#def_key "z"
# toggle_random
#
#def_key "y"
# save_tag_changes
#
#def_key "y"
# start_searching
#
#def_key "y"
# toggle_single
#
#def_key "R"
# toggle_consume
#
#def_key "Y"
# toggle_replay_gain_mode
#
#def_key "T"
# toggle_add_mode
#
#def_key "|"
# toggle_mouse
#
#def_key "#"
# toggle_bitrate_visibility
#
#def_key "Z"
# shuffle
#
#def_key "x"
# toggle_crossfade
#
#def_key "X"
# set_crossfade
#
#def_key "u"
# update_database
#
#def_key "ctrl-s"
# sort_playlist
#
#def_key "ctrl-s"
# toggle_browser_sort_mode
#
#def_key "ctrl-s"
# toggle_media_library_sort_mode
#
#def_key "ctrl-r"
# reverse_playlist
#
#def_key "ctrl-f"
# apply_filter
#
#def_key "ctrl-_"
# select_found_items
#
#def_key "/"
# find
#
#def_key "/"
# find_item_forward
#
#def_key "?"
# find
#
#def_key "?"
# find_item_backward
#
#def_key "."
# next_found_item
#
#def_key ","
# previous_found_item
#
#def_key "w"
# toggle_find_mode
#
#def_key "e"
# edit_song
#
#def_key "e"
# edit_library_tag
#
#def_key "e"
# edit_library_album
#
#def_key "e"
# edit_directory_name
#
#def_key "e"
# edit_playlist_name
#
#def_key "e"
# edit_lyrics
#
#def_key "i"
# show_song_info
#
#def_key "I"
# show_artist_info
#
#def_key "g"
# jump_to_position_in_song
#
#def_key "l"
# show_lyrics
#
#def_key "ctrl-v"
# select_range
#
#def_key "v"
# reverse_selection
#
#def_key "V"
# remove_selection
#
#def_key "B"
# select_album
#
#def_key "a"
# add_selected_items
#
#def_key "c"
# clear_playlist
#
#def_key "c"
# clear_main_playlist
#
#def_key "C"
# crop_playlist
#
#def_key "C"
# crop_main_playlist
#
#def_key "m"
# move_sort_order_up
#
#def_key "m"
# move_selected_items_up
#
#def_key "n"
# move_sort_order_down
#
#def_key "n"
# move_selected_items_down
#
#def_key "M"
# move_selected_items_to
#
#def_key "A"
# add
#
#def_key "S"
# save_playlist
#
#def_key "o"
# jump_to_playing_song
#
#def_key "G"
# jump_to_browser
#
#def_key "G"
# jump_to_playlist_editor
#
#def_key "~"
# jump_to_media_library
#
#def_key "E"
# jump_to_tag_editor
#
#def_key "U"
# toggle_playing_song_centering
#
#def_key "P"
# toggle_display_mode
#
#def_key "\\"
# toggle_interface
#
#def_key "!"
# toggle_separators_between_albums
#
#def_key "L"
# toggle_lyrics_fetcher
#
#def_key "F"
# fetch_lyrics_in_background
#
#def_key "alt-l"
# toggle_fetching_lyrics_in_background
#
#def_key "ctrl-l"
# toggle_screen_lock
#
#def_key "`"
# toggle_library_tag_type
#
#def_key "`"
# refetch_lyrics
#
#def_key "`"
# add_random_items
#
#def_key "ctrl-p"
# set_selected_items_priority
#
#def_key "q"
# quit
#
#
#def_key "f"
# find
#def_key "f"
# find_item_forward
def_key "+"
show_clock
def_key "="
volume_up
def_key "j"
scroll_down
def_key "k"
scroll_up
def_key "ctrl-u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "ctrl-d"
page_down
#push_characters "jjjjjjjjjjjjjjj"
def_key "u"
page_up
#push_characters "kkkkkkkkkkkkkkk"
def_key "d"
page_down
#push_characters "jjjjjjjjjjjjjjj"
def_key "h"
previous_column
def_key "l"
next_column
def_key "."
show_lyrics
def_key "n"
next_found_item
def_key "N"
previous_found_item
# not used but bound
def_key "J"
move_sort_order_down
def_key "K"
move_sort_order_up
def_key "h"
jump_to_parent_directory
def_key "l"
enter_directory
def_key "l"
run_action
def_key "l"
play_item
def_key "m"
show_media_library
def_key "m"
toggle_media_library_columns_mode
def_key "t"
show_tag_editor
def_key "v"
show_visualizer
def_key "G"
move_end
def_key "g"
move_home
#jump_to_position_in_song
def_key "U"
update_database
def_key "s"
reset_search_engine
def_key "s"
show_search_engine
def_key "f"
show_browser
def_key "f"
change_browse_mode
def_key "x"
delete_playlist_items
def_key "P"
show_playlist

32
.config/ncmpcpp/config Normal file
View File

@@ -0,0 +1,32 @@
# vim: filetype=conf
ncmpcpp_directory = "~/.config/ncmpcpp"
lyrics_directory = "~/.local/share/lyrics"
mpd_music_dir = "~/Music"
message_delay_time = "1"
visualizer_type = "spectrum"
song_list_format = {$4%a - }{%t}|{$8%f$9}$R{$3(%l)$9}
song_status_format = $b{{$8"%t"}} $3by {$4%a{ $3in $7%b{ (%y)}} $3}|{$8%f}
song_library_format = {%n - }{%t}|{%f}
alternative_header_first_line_format = $b$1$aqqu$/a$9 {%t}|{%f} $1$atqq$/a$9$/b
alternative_header_second_line_format = {{$4$b%a$/b$9}{ - $7%b$9}{ ($4%y$9)}}|{%D}
current_item_prefix = $(cyan)$r$b
current_item_suffix = $/r$(end)$/b
current_item_inactive_column_prefix = $(magenta)$r
current_item_inactive_column_suffix = $/r$(end)
playlist_display_mode = columns
browser_display_mode = columns
progressbar_look = ->
media_library_primary_tag = album_artist
media_library_albums_split_by_date = no
startup_screen = "media_library"
display_volume_level = no
ignore_leading_the = yes
external_editor = nvim
use_console_editor = yes
empty_tag_color = magenta
main_window_color = white
progressbar_color = black:b
progressbar_elapsed_color = blue:b
statusbar_color = red
statusbar_time_color = cyan:b

55
.config/newsboat/config Normal file
View File

@@ -0,0 +1,55 @@
#show-read-feeds no
auto-reload yes
external-url-viewer "urlscan -dc -r 'linkhandler {}'"
bind-key j down
bind-key k up
bind-key j next articlelist
bind-key k prev articlelist
bind-key J next-feed articlelist
bind-key K prev-feed articlelist
bind-key G end
bind-key g home
bind-key d pagedown
bind-key u pageup
bind-key l open
bind-key h quit
bind-key a toggle-article-read
bind-key n next-unread
bind-key N prev-unread
bind-key D pb-download
bind-key U show-urls
bind-key x pb-delete
color listnormal cyan default
color listfocus black yellow standout bold
color listnormal_unread blue default
color listfocus_unread yellow default bold
color info red black bold
color article white default bold
browser linkhandler
macro , open-in-browser
macro t set browser "qndl" ; open-in-browser ; set browser linkhandler
macro a set browser "tsp youtube-dl --add-metadata -xic -f bestaudio/best" ; open-in-browser ; set browser linkhandler
macro v set browser "setsid -f mpv" ; open-in-browser ; set browser linkhandler
macro w set browser "lynx" ; open-in-browser ; set browser linkhandler
macro d set browser "dmenuhandler" ; open-in-browser ; set browser linkhandler
macro c set browser "echo %u | xclip -r -sel c" ; open-in-browser ; set browser linkhandler
macro C set browser "youtube-viewer --comments=%u" ; open-in-browser ; set browser linkhandler
macro p set browser "peertubetorrent %u 480" ; open-in-browser ; set browser linkhandler
macro P set browser "peertubetorrent %u 1080" ; open-in-browser ; set browser linkhandler
highlight all "---.*---" yellow
highlight feedlist ".*(0/0))" black
highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold
highlight article "(^Link:.*|^Date:.*)" default default
highlight article "https?://[^ ]+" green default
highlight article "^(Title):.*$" blue default
highlight article "\\[[0-9][0-9]*\\]" magenta default bold
highlight article "\\[image\\ [0-9]+\\]" green default bold
highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold
highlight article ":.*\\(link\\)$" cyan default
highlight article ":.*\\(image\\)$" blue default
highlight article ":.*\\(embedded flash\\)$" magenta default

0
.config/newsboat/urls Normal file
View File

View File

@@ -0,0 +1,4 @@
# Never exit pulseaudio if idle. This is to deal with an issue of Chromium
# browsers not properly starting Pulseaudio by themselves. When the underlying
# issue is solved, this file/directory should be removed.
exit-idle-time = -1

96
.config/shell/aliasrc Normal file
View File

@@ -0,0 +1,96 @@
#!/bin/sh
# Use neovim for vim if present
[ -x "$(command -v nvim)" ] && alias vim="nvim" vimdiff="nvim -d"
# Use $XINITRC variable if file exists.
[ -f "$XINITRC" ] && alias startx="startx $XINITRC"
# sudo not required for some system commands
for x in mount umount sv pacman updatedb su ; do
alias $x="sudo $x"
done
# Verbosity and settings that you pretty much just always are going to want.
alias \
cp="cp -iv" \
mv="mv -iv" \
rm="rm -vI" \
bc="bc -ql" \
mkd="mkdir -pv" \
yt="youtube-dl --add-metadata -i" \
yta="yt -x -f bestaudio/best" \
ffmpeg="ffmpeg -hide_banner" \
# Colorize commands when possible.
alias \
ls="ls -hN --color=auto --group-directories-first" \
grep="grep --color=auto" \
diff="diff --color=auto" \
ccat="highlight --out-format=ansi"
# Abbreviating long commands
alias \
ka="killall" \
YT="youtube-viewer" \
sdn="sudo shutdown -h now" \
e="$EDITOR" \
v="$EDITOR" \
p="sudo pacman" \
z="zathura" \
ll="ls -l" \
la="ls -al" \
ag="alias | grep"
# Git aliases
alias \
g="git" \
ga="git add" \
ga="git add --all" \
gb="git branch" \
gba="git branch -a" \
gbd="git branch -d" \
gbD="git branch -D" \
gbs="git bisect" \
gbsb="git bisect bad" \
gbsg="git bisect good" \
gbsr="git bisect reset" \
gbss="git bisect start" \
gc="git commit -v" \
gc!="git commit -v --amend" \
gcn!="git commit -v --no-edit --amend" \
gca="git commit -v -a" \
gca!="git commit -v -a --amend" \
gcan!="git commit -v -a --no-edit --amend" \
gcam="git commit -a -m" \
gcm="git checkout $(git_main_branch)" \
gco="git checkout" \
gcb="git checkout -b" \
gf="git fetch" \
gfa="git fetch --all --prune" \
gd="git diff" \
gl="git pull" \
glg="git log --stat" \
glgg="git log --graph" \
glo="git log --oneline --decorate" \
glgp="git log --stat -p" \
gm="git merge" \
gp="git push" \
grb="git rebase" \
gsb="git status -sb" \
gsh="git show" \
gsps="git show --pretty=short --show-signature" \
gsta="git stash push" \
gstaa="git stash apply" \
gstp="git stash pop" \
gstl="git stash list" \
gsts="git stash show --text" \
gup="git pull --rebase" \
nah="git reset --hard; git clean -df" \
gapa="git add --patch -A" \
gun="git reset --" \
glgm="git log --stat --author=christopher" \
glgpm="git log --stat -p --author=christopher"

22
.config/shell/bm-dirs Normal file
View File

@@ -0,0 +1,22 @@
cac ${XDG_CACHE_HOME:-$HOME/.cache}
cf ${XDG_CONFIG_HOME:-$HOME/.config}
D ${XDG_DOWNLOAD_DIR:-$HOME/Downloads}
d ${XDG_DOCUMENTS_DIR:-$HOME/Tower/Documents}
dt ${XDG_DATA_HOME:-$HOME/.local/share}
h $HOME
m ${XDG_MUSIC_DIR:-$HOME/Tower/Music}
mn /mnt
pp ${XDG_PICTURES_DIR:-$HOME/Tower/Pictures}
sc $HOME/.local/bin
src $HOME/.local/src
vv ${XDG_VIDEOS_DIR:-$HOME/Tower/Videos}
c $HOME/Code
cp $HOME/Code/PHP
cw $HOME/Code/Websites
cj $HOME/Code/JavaScript
cd $HOME/Code/DevOps
cr $HOME/Code/Rust
cm $HOME/Code/MobileApps
cs $HOME/Code/Scala
ct $HOME/Code/Tutorials

16
.config/shell/bm-files Normal file
View File

@@ -0,0 +1,16 @@
bf ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-files
bd ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs
cfx ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources
cfb ~/.local/src/dwmblocks/config.h
cfv ${XDG_CONFIG_HOME:-$HOME/.config}/nvim/init.vim
cfz $ZDOTDIR/.zshrc
cfa ${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc
cfp ${XDG_CONFIG_HOME:-$HOME/.config}/shell/profile
cfm ${XDG_CONFIG_HOME:-$HOME/.config}/mutt/muttrc
cfn ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/config
cfu ${XDG_CONFIG_HOME:-$HOME/.config}/newsboat/urls
cfmb ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/bindings
cfmc ${XDG_CONFIG_HOME:-$HOME/.config}/ncmpcpp/config
cfl ${XDG_CONFIG_HOME:-$HOME/.config}/lf/lfrc
cfL ${XDG_CONFIG_HOME:-$HOME/.config}/lf/scope
cfX ${XDG_CONFIG_HOME:-$HOME/.config}/sxiv/exec/key-handler

19
.config/shell/inputrc Normal file
View File

@@ -0,0 +1,19 @@
$inclue /etc/inputrc
set editing-mode vi
$if mode=vi
set show-mode-in-prompt on
set vi-ins-mode-string \1\e[6 q\2
set vi-cmd-mode-string \1\e[2 q\2
set keymap vi-command
# these are for vi-command mode
Control-l: clear-screen
Control-a: beginning-of-line
set keymap vi-insert
# these are for vi-insert mode
Control-l: clear-screen
Control-a: beginning-of-line
$endif

144
.config/shell/profile Normal file
View File

@@ -0,0 +1,144 @@
#!/bin/zsh
# profile file. Runs on login. Environmental variables are set here.
# Adds `~/.local/bin` to $PATH
export PATH="$PATH:${$(find ~/.local/bin -type d -printf %p:)%%:}"
unsetopt PROMPT_SP
# Default programs
export EDITOR="nvim"
export TERMINAL="alacritty"
export BROWSER="firefox"
# ~/ Clean-up:
export TOWER="$HOME/Tower"
export XDG_CONFIG_HOME="$HOME/.config"
export XDG_DATA_HOME="$HOME/.local/share"
export XDG_CACHE_HOME="$HOME/.cache"
export XDG_DOCUMENTS_DIR="$TOWER/Documents"
export XDG_MUSIC_DIR="$TOWER/Music"
export XDG_PICTURES_DIR="$TOWER/Pictures"
export XDG_VIDEOS_DIR="$TOWER/Videos"
export XINITRC="${XDG_CONFIG_HOME:-$HOME/.config}/x11/xinitrc"
export NOTMUCH_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/notmuch-config"
export GTK2_RC_FILES="${XDG_CONFIG_HOME:-$HOME/.config}/gtk-2.0/gtkrc-2.0"
export LESSHISTFILE="-"
export WGETRC="${XDG_CONFIG_HOME:-$HOME/.config}/wget/wgetrc"
export INPUTRC="${XDG_CONFIG_HOME:-$HOME/.config}/shell/inputrc"
export ZDOTDIR="${XDG_CONFIG_HOME:-$HOME/.config}/zsh"
export WINEPREFIX="${XDG_DATA_HOME:-$HOME/.local/share}/wineprefixes/default"
export KODI_DATA="${XDG_DATA_HOME:-$HOME/.local/share}/kodi"
export PASSWORD_STORE_DIR="${XDG_DATA_HOME:-$HOME/.local/share}/password-store"
export TMUX_TMPDIR="$XDG_RUNTIME_DIR"
export ANDROID_SDK_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/android"
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
export ANSIBLE_CONFIG="${XDG_CONFIG_HOME:-$HOME/.config}/ansible/ansible.cfg"
export UNISON="${XDG_DATA_HOME:-$HOME/.local/share}/unison"
export HISTFILE="${XDG_DATA_HOME:-$HOME/.local/share}/history"
export WEECHAT_HOME="${XDG_CONFIG_HOME:-$HOME/.config}/weechat"
export MBSYNCRC="${XDG_CONFIG_HOME:-$HOME/.config}/mbsync/config"
export ELECTRUMDIR="${XDG_DATA_HOME:-$HOME/.local/share}/electrum"
# Other program settings
export DICS="/usr/share/stardicts/dic/"
export SUDO_ASK_PASS="$HOME/.local/bin/dmenupass"
export FZF_DEFAULT_OPTS="--layout=reverse --height 40%"
export LESS=-R
export LESS_TERMCAP_mb="$(printf '%b' '[1;31m')"
export LESS_TERMCAP_md="$(printf '%b' '[1;36m')"
export LESS_TERMCAP_me="$(printf '%b' '[0m')"
export LESS_TERMCAP_so="$(printf '%b' '[01;44;33m')"
export LESS_TERMCAP_se="$(printf '%b' '[0m')"
export LESS_TERMCAP_us="$(printf '%b' '[1;32m')"
export LESS_TERMCAP_ue="$(printf '%b' '[0m')"
export LESS_OPEN="| /usr/bin/highlight -O ansi %s 2>/dev/null"
export QT_QPA_PLATFORMTHEME="gtk2" # Have QT use gtk2 theme.
export MOZ_USE_XINPUT2="1" # Mozilla smooth scrolling/touchpads.
export _JAVA_AWT_WM_NONREPARENTING=1 # Fix for Java applications in dwm
# This is the list for lf icons:
export LF_ICONS="di=📁:\
fi=📃:\
tw=🤝:\
ow=📂:\
ln=⛓:\
or=❌:\
ex=🎯:\
*.txt=✍:\
*.mom=✍:\
*.me=✍:\
*.ms=✍:\
*.png=🖼:\
*.webp=🖼:\
*.ico=🖼:\
*.jpg=📸:\
*.jpe=📸:\
*.jpeg=📸:\
*.gif=🖼:\
*.svg=🗺:\
*.tif=🖼:\
*.tiff=🖼:\
*.xcf=🖌:\
*.html=🌎:\
*.xml=📰:\
*.gpg=🔒:\
*.css=🎨:\
*.pdf=📚:\
*.djvu=📚:\
*.epub=📚:\
*.csv=📓:\
*.xlsx=📓:\
*.tex=📜:\
*.md=📘:\
*.r=📊:\
*.R=📊:\
*.rmd=📊:\
*.Rmd=📊:\
*.m=📊:\
*.mp3=🎵:\
*.opus=🎵:\
*.ogg=🎵:\
*.m4a=🎵:\
*.flac=🎼:\
*.wav=🎼:\
*.mkv=🎥:\
*.mp4=🎥:\
*.webm=🎥:\
*.mpeg=🎥:\
*.avi=🎥:\
*.mov=🎥:\
*.mpg=🎥:\
*.wmv=🎥:\
*.m4b=🎥:\
*.flv=🎥:\
*.zip=📦:\
*.rar=📦:\
*.7z=📦:\
*.tar.gz=📦:\
*.z64=🎮:\
*.v64=🎮:\
*.n64=🎮:\
*.gba=🎮:\
*.nes=🎮:\
*.gdi=🎮:\
*.1=:\
*.nfo=:\
*.info=:\
*.log=📙:\
*.iso=📀:\
*.img=📀:\
*.bib=🎓:\
*.ged=👪:\
*.part=💔:\
*.torrent=🔽:\
*.jar=♨:\
*.java=♨:\
"
[ ! -f ${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc ] && shortcuts >/dev/null 2>&1 &
[ "$(tty)" = "/dev/tty1" ] && ! pidof -s Xorg >/dev/null 2>&1 && exec startx "$XINITRC"

View File

@@ -0,0 +1,33 @@
#!/bin/sh
while read file
do
case "$1" in
"w") setbg "$file" & ;;
"c")
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | dmenu -l 20 -i -p "Copy file(s) to where?" | sed "s|~|$HOME|g")"
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
cp "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file copied to $destdir." &
;;
"m")
[ -z "$destdir" ] && destdir="$(sed "s/\s.*#.*$//;/^\s*$/d" ${XDG_CONFIG_HOME:-$HOME/.config}/shell/bm-dirs | awk '{print $2}' | dmenu -l 20 -i -p "Move file(s) to where?" | sed "s|~|$HOME|g")"
[ ! -d "$destdir" ] && notify-send "$destdir is not a directory, cancelled." && exit
mv "$file" "$destdir" && notify-send -i "$(readlink -f "$file")" "$file moved to $destdir." &
;;
"r")
convert -rotate 90 "$file" "$file" ;;
"R")
convert -rotate -90 "$file" "$file" ;;
"f")
convert -flop "$file" "$file" ;;
"y")
echo -n "$file" | tr -d '\n' | xclip -selection clipboard &&
notify-send "$file copied to clipboard" & ;;
"Y")
readlink -f "$file" | tr -d '\n' | xclip -selection clipboard &&
notify-send "$(readlink -f "$file") copied to clipboard" & ;;
"d")
[ "$(printf "No\\nYes" | dmenu -i -p "Really delete $file?")" = "Yes" ] && rm "$file" && notify-send "$file deleted." ;;
"g") setsid -f gimp "$file" ;;
"i") notify-send "File information" "$(mediainfo "$file")" ;;
esac
done

1
.config/user-dirs.dirs Normal file
View File

@@ -0,0 +1 @@
XDG_DESKTOP_DIR="$HOME/"

28
.config/wal/postrun Normal file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
source "${HOME}/.cache/wal/colors.sh"
mkdir -p "${HOME}/.config/dunst"
mkdir -p "${HOME}/.config/zathura"
ln -sf "${HOME}/.cache/wal/dunstrc" "${HOME}/.config/dunst/dunstrc"
ln -sf "${HOME}/.cache/wal/zathurarc" "${HOME}/.config/zathura/zathurarc"
fix_sequences() {
e=$'\e'
sequences=$(cat)
foreground_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]10[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
background_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]11[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
cursor_color="$(echo -e "${sequences}\c" | grep --color=never -Eo "${e}]12[^${e}\\\\]*?${e}\\\\" | grep --color=never -Eo "#[0-9A-Fa-f]{6}")"
for term in /dev/pts/{0..9}*
do
echo -e "\e]4;256;${cursor_color}\a\c" > "${term}" 2>/dev/nul
echo -e "\e]4;258;${background_color}\a\c" > "${term}" 2>/dev/null
echo -e "\e]4;259;${foreground_color}\a\c" > "${term}" 2>/dev/null
done
}
fix_sequences <"${HOME}/.cache/wal/sequences"
pkill dunst; dunst &

View File

@@ -0,0 +1,152 @@
[global]
monitor = 0
follow = keyboard
geometry = "350x5-0+24"
indicate_hidden = yes
shrink = yes
transparency = 20
notification_height = 0
separator_height = 2
padding = 0
horizontal_padding = 8
frame_width = 3
frame_color = "{color4}"
# Define a color for the separator.
# possible values are:
# * auto: dunst tries to find a color fitting to the background;
# * foreground: use the same color as the foreground;
# * frame: use the same color as the frame;
# * anything else will be interpreted as a X color.
separator_color = frame
# Sort messages by urgency.
sort = yes
idle_threshold = 120
font = Monospace 14
line_height = 0
markup = full
# The format of the message. Possible variables are:
# %a appname
# %s summary
# %b body
# %i iconname (including its path)
# %I iconname (without its path)
# %p progress value if set ([ 0%] to [100%]) or nothing
# %n progress value if set without any extra characters
# %% Literal %
# Markup is allowed
format = "<b>%s</b>\n%b"
alignment = left
show_age_threshold = 60
word_wrap = yes
ellipsize = middle
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = true
show_indicators = yes
icon_position = left
max_icon_size = 40
#icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/:/usr/share/icons/Adwaita/256x256/status/
sticky_history = yes
history_length = 20
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/firefox -new-tab
# Always run rule-defined scripts, even if the notification is suppressed
always_run_script = true
title = Dunst
class = Dunst
startup_notification = false
force_xinerama = false
[experimental]
per_monitor_dpi = false
[shortcuts]
close = ctrl+space
close_all = ctrl+shift+space
history = ctrl+grave
context = ctrl+shift+period
[urgency_low]
# IMPORTANT: colors have to be defined in quotation marks.
# Otherwise the "#" and following would be interpreted as a comment.
background = "{background}"
foreground = "{foreground}"
timeout = 5
# Icon for notifications with low urgency, uncomment to enable
#icon = /path/to/icon
[urgency_normal]
background = "{background}"
foreground = "{foreground}"
timeout = 5
[urgency_critical]
background = "{background}"
foreground = "{foreground}"
frame_color = "#fabd2f"
timeout = 0
# Every section that isn't one of the above is interpreted as a rules to
# override settings for certain messages.
# Messages can be matched by "appname", "summary", "body", "icon", "category",
# "msg_urgency" and you can override the "timeout", "urgency", "foreground",
# "background", "new_icon" and "format".
# Shell-like globbing will get expanded.
#
# SCRIPTING
# You can specify a script that gets run when the rule matches by
# setting the "script" option.
# The script will be called as follows:
# script appname summary body icon urgency
# where urgency can be "LOW", "NORMAL" or "CRITICAL".
#
# NOTE: if you don't want a notification to be displayed, set the format
# to "".
# NOTE: It might be helpful to run dunst -print in a terminal in order
# to find fitting options for rules.
#[espeak]
# summary = "*"
# script = dunst_espeak.sh
#[script-test]
# summary = "*script*"
# script = dunst_test.sh
#[ignore]
# # This notification will not be displayed
# summary = "foobar"
# format = ""
#[history-ignore]
# # This notification will not be saved in history
# summary = "foobar"
# history_ignore = yes
#[signed_on]
# appname = Pidgin
# summary = "*signed on*"
# urgency = low
#
#[signed_off]
# appname = Pidgin
# summary = *signed off*
# urgency = low
#
#[says]
# appname = Pidgin
# summary = *says*
# urgency = critical
#
#[twitter]
# appname = Pidgin
# summary = *twitter.com*
# urgency = normal
#
# vim: ft=cfg

View File

@@ -0,0 +1,35 @@
set sandbox none
set statusbar-h-padding 0
set statusbar-v-padding 0
set page-padding 1
set selection-clipboard clipboard
map u scroll half-up
map d scroll half-down
map D toggle_page_mode
map r reload
map R rotate
map K zoom in
map J zoom out
map i recolor
map p print
set default-bg "{background}"
set default-fg "{foreground}"
set statusbar-bg "{background}"
set statusbar-fg "{foreground}"
set inputbar-bg "{background}"
set inputbar-fg "{foreground}"
set notification-bg "{background}"
set notification-fg "{foreground}"
set notification-error-bg "{background}"
set notification-error-fg "{foreground}"
set notification-warning-bg "{background}"
set notification-warning-fg "{foreground}"
set highlight-color "{color3}"
set highlight-active-color "{color4}"
set completion-bg "{color3}"
set completion-fg "{color4}"
set completion-highlight-bg "{color3}"
set completion-highlight-fg "{color4}"
set recolor-lightcolor "{background}"
set recolor-darkcolor "{foreground}"

1
.config/wget/wgetrc Normal file
View File

@@ -0,0 +1 @@
hsts-file=~/.cache/wget-hsts

17
.config/x11/xinitrc Normal file
View File

@@ -0,0 +1,17 @@
#!/bin/sh
# xinitrc runs automatically when you run startx.
# There are some small but important commands that need to be run when we start
# the graphical environment. There is a link to this file in ~/.xprofile
# because that file is run automatically if someone uses a display manager
# (login screen) and so they are needed there. To prevent doubling up commands,
# I source them here with the line below.
if [ -f "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile" ]; then
. "${XDG_CONFIG_HOME:-$HOME/.config}/x11/xprofile"
else
. "$HOME/.xprofile"
fi
ssh-agent dwm

10
.config/x11/xprofile Normal file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
# This file runs when a DM logs you into a graphical session.
# If you use startx/xinit, this file will also be sourced.
# xrdb ${XDG_CONFIG_HOME:-$HOME/.config}/x11/xresources & # Use Xresources colors/settings on startup
xcompmgr & # xcompmgr for transparency
dunst & # dunst for notifications
xset r rate 300 50 & # Speed xrate up
unclutter & # Remove mouse when idle

156
.config/x11/xresources Normal file
View File

@@ -0,0 +1,156 @@
!! Transparency (0-1):
*.alpha: 0.8
!! Set a default font and font size as below:
*.font: monospace:size=10
/* name dark light */
/* black 0 8 */
/* red 1 9 */
/* green 2 10 */
/* yellow 3 11 */
/* blue 4 12 */
/* purple 5 13 */
/* cyan 6 14 */
/* white 7 15 */
/* !! gruvbox: */
/* *.color0: #1d2021 */
/* *.color1: #cc241d */
/* *.color2: #98971a */
/* *.color3: #d79921 */
/* *.color4: #458588 */
/* *.color5: #b16286 */
/* *.color6: #689d6a */
/* *.color7: #a89984 */
/* *.color8: #928374 */
/* *.color9: #fb4934 */
/* *.color10: #b8bb26 */
/* *.color11: #fabd2f */
/* *.color12: #83a598 */
/* *.color13: #d3869b */
/* *.color14: #8ec07c */
/* *.color15: #ebdbb2 */
/* *.color256: #1d2021 */
/* *.color257: #ebdbb2 */
/* !! gruvbox light: */
/* *.color0: #fbf1c7 */
/* *.color1: #cc241d */
/* *.color2: #98971a */
/* *.color3: #d79921 */
/* *.color4: #458588 */
/* *.color5: #b16286 */
/* *.color6: #689d6a */
/* *.color7: #7c6f64 */
/* *.color8: #928374 */
/* *.color9: #9d0006 */
/* *.color10: #79740e */
/* *.color11: #b57614 */
/* *.color12: #076678 */
/* *.color13: #8f3f71 */
/* *.color14: #427b58 */
/* *.color15: #3c3836 */
/* *.background: #fbf1c7 */
/* *.foreground: #282828 */
/* st.alpha: 0.9 */
/* !! brogrammer: */
/* *.foreground: #d6dbe5 */
/* *.background: #131313 */
/* *.color0: #1f1f1f */
/* *.color8: #d6dbe5 */
/* *.color1: #f81118 */
/* *.color9: #de352e */
/* *.color2: #2dc55e */
/* *.color10: #1dd361 */
/* *.color3: #ecba0f */
/* *.color11: #f3bd09 */
/* *.color4: #2a84d2 */
/* *.color12: #1081d6 */
/* *.color5: #4e5ab7 */
/* *.color13: #5350b9 */
/* *.color6: #1081d6 */
/* *.color14: #0f7ddb */
/* *.color7: #d6dbe5 */
/* *.color15: #ffffff */
/* *.colorBD: #d6dbe5 */
/* ! base16 */
/* *.color0: #181818 */
/* *.color1: #ab4642 */
/* *.color2: #a1b56c */
/* *.color3: #f7ca88 */
/* *.color4: #7cafc2 */
/* *.color5: #ba8baf */
/* *.color6: #86c1b9 */
/* *.color7: #d8d8d8 */
/* *.color8: #585858 */
/* *.color9: #ab4642 */
/* *.color10: #a1b56c */
/* *.color11: #f7ca88 */
/* *.color12: #7cafc2 */
/* *.color13: #ba8baf */
/* *.color14: #86c1b9 */
/* *.color15: #f8f8f8 */
/* !! solarized */
/* *.color0: #073642 */
/* *.color1: #dc322f */
/* *.color2: #859900 */
/* *.color3: #b58900 */
/* *.color4: #268bd2 */
/* *.color5: #d33682 */
/* *.color6: #2aa198 */
/* *.color7: #eee8d5 */
/* *.color9: #cb4b16 */
/* *.color8: #fdf6e3 */
/* *.color10: #586e75 */
/* *.color11: #657b83 */
/* *.color12: #839496 */
/* *.color13: #6c71c4 */
/* *.color14: #93a1a1 */
/* *.color15: #fdf6e3 */
/* !! xterm */
/* *.color0: #000000 */
/* *.color1: #cd0000 */
/* *.color2: #00cd00 */
/* *.color3: #cdcd00 */
/* *.color4: #0000cd */
/* *.color5: #cd00cd */
/* *.color6: #00cdcd */
/* *.color7: #e5e5e5 */
/* *.color8: #4d4d4d */
/* *.color9: #ff0000 */
/* *.color10: #00ff00 */
/* *.color11: #ffff00 */
/* *.color12: #0000ff */
/* *.color13: #ff00ff */
/* *.color14: #00ffff */
/* *.color15: #aabac8 */
/* *.background: #000000 */
/* ! Dracula Xresources palette */
/* *.foreground: #F8F8F2 */
/* *.background: #282A36 */
/* *.color0: #000000 */
/* *.color8: #4D4D4D */
/* *.color1: #FF5555 */
/* *.color9: #FF6E67 */
/* *.color2: #50FA7B */
/* *.color10: #5AF78E */
/* *.color3: #F1FA8C */
/* *.color11: #F4F99D */
/* *.color4: #BD93F9 */
/* *.color12: #CAA9FA */
/* *.color5: #FF79C6 */
/* *.color13: #FF92D0 */
/* *.color6: #8BE9FD */
/* *.color14: #9AEDFE */
/* *.color7: #BFBFBF */
/* *.color15: #E6E6E6 */
/* *.background: .color0 */
/* *.color256: 0#1d2021 */
/* *.color257: 15#ebdbb2 */

15
.config/zathura/zathurarc Normal file
View File

@@ -0,0 +1,15 @@
set sandbox none
set statusbar-h-padding 0
set statusbar-v-padding 0
set page-padding 1
set selection-clipboard clipboard
map u scroll half-up
map d scroll half-down
map D toggle_page_mode
map r reload
map R rotate
map K zoom in
map J zoom out
map i recolor
map p print
map g goto top

79
.config/zsh/.zshrc Normal file
View File

@@ -0,0 +1,79 @@
# ZSH Config File
# Enable colors and set prompt
autoload -U colors && colors
PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]{$reset_color%}$%b "
setopt autocd # Automatically cd into typed directory.
stty stop undef # Disable ctrl-s to freeze terminal.
setopt interactive_comments
# History in cache directory:
HISTSIZE=10000000
SAVEHIST=10000000
HISTFILE=~/.cache/zsh/history
# Load aliases and shortcuts if existent.
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/shortcutrc"
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/aliasrc"
[ -f "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc" ] && source "${XDG_CONFIG_HOME:-$HOME/.config}/shell/zshnameddirrc"
# Basic auto/tab complete:
autoload -U compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots) # Include hidden files.
# vi mode
bindkey -v
export KEYTIMEOUT=1
# Use vim keys in tab complete menu:
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char
bindkey -M menuselect 'j' vi-down-line-or-history
bindkey -v '^?' backward-delete-char
# Change cursor shape for different vi modes.
function zle-keymap-select() {
case $KEYMAP in
vicmd) echo -ne '\e[1 q';; # block
viins|main) echo -ne '\e[5 q';; # beam
esac
}
zle -N zle-keymap-select
zle-line-init() {
zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
echo -ne "\e[5 q"
}
zle -N zle-line-init
echo -ne '\e[5 q' # Use beam shape cursor on startup.
preexec() {
echo -ne '\e[5 q'
}
# Use lf to switch directories and bind it to ctrl-o
lfcd() {
tmp="$(mktemp)"
lf -last-dir-path="$tmp" "$@"
if [ -f "$tmp" ]; then
dir="$(cat "$tmp")"
rm -f "$tmp" >/dev/null
[ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
fi
}
bindkey -s '^o' 'lfcd\n'
bindkey -s '^a' 'bc -lq\n'
bindkey -s '^f' 'cd "$(dirname "$(fzf)")"\n'
bindkey '^[[P' delete-char
# Edit line in vim with ctrl-e:
autoload edit-commandd-line; zle -N edit-command-line
bindkey '^e' edit-command-line
# Load syntax highlighting; should be last.
source /usr/share/zsh/plugins/fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh 2>/dev/null