Initial commit

master
Ian Mancini 5 years ago
commit 6e24a7bd6e

39
.gitignore vendored

@ -0,0 +1,39 @@
# Created by https://www.gitignore.io/api/vim,linux
# Edit at https://www.gitignore.io/?templates=vim,linux
### Linux ###
*~
# temporary files which can be created if a process still has a handle open of a deleted file
.fuse_hidden*
# KDE directory preferences
.directory
# Linux trash folder which might appear on any partition or disk
.Trash-*
# .nfs files are created when an open file is removed but is still being accessed
.nfs*
### Vim ###
# Swap
[._]*.s[a-v][a-z]
[._]*.sw[a-p]
[._]s[a-rt-v][a-z]
[._]ss[a-gi-z]
[._]sw[a-p]
# Session
Session.vim
# Temporary
.netrwhist
# Auto-generated tag files
tags
# Persistent undo
[._]*.un~
# End of https://www.gitignore.io/api/vim,linux
out

@ -0,0 +1,42 @@
#!/bin/bash
declare -A COLORS
COLORS=(\
[color0]="#000000" \
[color1]="#ff5555" \
[color2]="#55ff55" \
[color3]="#ffff55" \
[color4]="#5555ff" \
[color5]="#ff55ff" \
[color6]="#55ffff" \
[color7]="#bbbbbb" \
[color8]="#555555" \
[color9]="#ff5555" \
[color10]="#55ff55" \
[color11]="#ffff55" \
[color12]="#5555ff" \
[color13]="#ff55ff" \
[color14]="#55ffff" \
[color15]="#ffffff" \
[background]="#000000" \
[lightbackground]="${COLORS[color8]}" \
[foreground]="${COLORS[color15]}" \
[darkforeground]="${COLORS[color7]}" \
[red]="${COLORS[color9]}" \
[green]="${COLORS[color10]}" \
[yellow]="${COLORS[color11]}" \
[blue]="${COLORS[color12]}" \
[purple]="${COLORS[color13]}" \
[magenta]="${COLORS[color13]}" \
[cyan]="${COLORS[color14]}" \
[orange]="${COLORS[yellow]}" \
[currentline]="${COLORS[color0]}" \
[selection]="${COLORS[color8]}" \
[comment]="${COLORS[color7]}" \
[cursor]=${COLORS[magenta]} \
)
VIMCOLORSCHEME="default"
VIMLIGHTLINE="nord"
VIMBACKGROUND="dark"

@ -0,0 +1,42 @@
#!/bin/bash
declare -A COLORS
COLORS=(\
[color0]="#282a36" \
[color1]="#FF5555" \
[color2]="#50FA7B" \
[color3]="#F1FA8C" \
[color4]="#BD93F9" \
[color5]="#FF79C6" \
[color6]="#8BE9FD" \
[color7]="#BFBFBF" \
[color8]="#4D4D4D" \
[color9]="#FF6E67" \
[color10]="#5AF78E" \
[color11]="#F4F99D" \
[color12]="#CAA9FA" \
[color13]="#FF92D0" \
[color14]="#9AEDFE" \
[color15]="#F8F8F2" \
[background]="${COLORS[color0]}" \
[lightbackground]="${COLORS[color8]}" \
[foreground]="${COLORS[color15]}" \
[darkforeground]="${COLORS[color7]}" \
[red]="${COLORS[color1]}" \
[green]="${COLORS[color2]}" \
[yellow]="${COLORS[color3]}" \
[blue]="${COLORS[color4]}" \
[purple]="${COLORS[color4]}" \
[magenta]="${COLORS[color5]}" \
[cyan]="${COLORS[color6]}" \
[orange]="#FFB86C" \
[currentline]="#44475A" \
[selection]="${COLORS[currentline]}" \
[comment]="#6272A4" \
[cursor]=${COLORS[magenta]} \
)
VIMCOLORSCHEME="dracula"
VIMLIGHTLINE="dracula"
VIMBACKGROUND="dark"

@ -0,0 +1,42 @@
#!/bin/bash
declare -A COLORS
COLORS=(\
[color0]="#080808" \
[color1]="#B21818" \
[color2]="#18B218" \
[color3]="#B26818" \
[color4]="#1818B2" \
[color5]="#B218B2" \
[color6]="#18B2B2" \
[color7]="#B2B2B2" \
[color8]="#686868" \
[color9]="#FF5454" \
[color10]="#54FF54" \
[color11]="#FFFF54" \
[color12]="#5454FF" \
[color13]="#FF54FF" \
[color14]="#54FFFF" \
[color15]="#FFFFFF" \
[background]="#000000" \
[lightbackground]="${COLORS[color8]}" \
[foreground]="${COLORS[color15]}" \
[darkforeground]="${COLORS[color7]}" \
[red]="${COLORS[color9]}" \
[green]="${COLORS[color10]}" \
[yellow]="${COLORS[color11]}" \
[blue]="${COLORS[color12]}" \
[purple]="${COLORS[color13]}" \
[magenta]="${COLORS[color13]}" \
[cyan]="${COLORS[color14]}" \
[orange]="${COLORS[yellow]}" \
[currentline]="${COLORS[color0]}" \
[selection]="${COLORS[color8]}" \
[comment]="${COLORS[color7]}" \
[cursor]=${COLORS[magenta]} \
)
VIMCOLORSCHEME="default"
VIMLIGHTLINE="nord"
VIMBACKGROUND="dark"

@ -0,0 +1,42 @@
#!/bin/bash
declare -A COLORS
COLORS=(\
[color0]="#3B4252" \
[color1]="#BF616A" \
[color2]="#A3BE8C" \
[color3]="#EBCB8B" \
[color4]="#81A1C1" \
[color5]="#B48EAD" \
[color6]="#88C0D0" \
[color7]="#E5E9F0" \
[color8]="#4C566A" \
[color9]="#BF616A" \
[color10]="#A3BE8C" \
[color11]="#EBCB8B" \
[color12]="#81A1C1" \
[color13]="#B48EAD" \
[color14]="#8FBCBB" \
[color15]="#ECEFF4" \
[background]="#2E3440" \
[lightbackground]="${COLORS[color8]}" \
[foreground]="#D8DEE9" \
[darkforeground]="${COLORS[color7]}" \
[red]="${COLORS[color1]}" \
[green]="${COLORS[color2]}" \
[yellow]="${COLORS[color3]}" \
[blue]="${COLORS[color4]}" \
[purple]="${COLORS[color5]}" \
[magenta]="${COLORS[color5]}" \
[cyan]="${COLORS[color6]}" \
[orange]="${COLORS[color3]}" \
[currentline]="${COLORS[color8]}" \
[selection]="${COLORS[currentline]}" \
[comment]="${COLORS[lightbackground]}" \
[cursor]="${COLORS[foreground]}" \
)
VIMCOLORSCHEME="nord"
VIMLIGHTLINE="nord"
VIMBACKGROUND="dark"

@ -0,0 +1,42 @@
#!/bin/bash
declare -A COLORS
COLORS=(\
[color0]="#073642" \
[color1]="#dc322f" \
[color2]="#859900" \
[color3]="#b58900" \
[color4]="#268bd2" \
[color5]="#d33682" \
[color6]="#2aa198" \
[color7]="#eee8d5" \
[color8]="#002b36" \
[color9]="#cb4b16" \
[color10]="#586e75" \
[color11]="#657b83" \
[color12]="#839496" \
[color13]="#6c71c4" \
[color14]="#93a1a1" \
[color15]="#fdf6e3" \
[background]="${COLORS[color8]}" \
[lightbackground]="${COLORS[color2]}" \
[foreground]="${COLORS[color12]}" \
[darkforeground]="${COLORS[color11]}" \
[red]="${COLORS[color1]}" \
[green]="${COLORS[color2]}" \
[yellow]="${COLORS[color3]}" \
[blue]="${COLORS[color4]}" \
[purple]="${COLORS[color13]}" \
[magenta]="${COLORS[color5]}" \
[cyan]="${COLORS[color6]}" \
[orange]="${COLORS[color9]}" \
[currentline]={COLORS[color08] \
[selection]="${COLORS[currentline]}" \
[comment]="${COLORS[color10]}" \
[cursor]=${COLORS[color14]} \
)
VIMCOLORSCHEME="solarized"
VIMLIGHTLINE="solarized"
VIMBACKGROUND="dark"

@ -0,0 +1,42 @@
#!/bin/bash
declare -A COLORS
COLORS=(\
[color0]="#073642" \
[color1]="#dc322f" \
[color2]="#859900" \
[color3]="#b58900" \
[color4]="#268bd2" \
[color5]="#d33682" \
[color6]="#2aa198" \
[color7]="#eee8d5" \
[color8]="#002b36" \
[color9]="#cb4b16" \
[color10]="#586e75" \
[color11]="#657b83" \
[color12]="#839496" \
[color13]="#6c71c4" \
[color14]="#93a1a1" \
[color15]="#fdf6e3" \
[background]="${COLORS[color15]}" \
[lightbackground]="${COLORS[color7]}" \
[foreground]="${COLORS[color11]}" \
[darkforeground]="${COLORS[color10]}" \
[red]="${COLORS[color1]}" \
[green]="${COLORS[color2]}" \
[yellow]="${COLORS[color3]}" \
[blue]="${COLORS[color4]}" \
[purple]="${COLORS[color13]}" \
[magenta]="${COLORS[color5]}" \
[cyan]="${COLORS[color6]}" \
[orange]="${COLORS[color9]}" \
[currentline]={COLORS[color08] \
[selection]="${COLORS[currentline]}" \
[comment]="${COLORS[color10]}" \
[cursor]=${COLORS[foreground]} \
)
VIMCOLORSCHEME="solarized"
VIMLIGHTLINE="solarized"
VIMBACKGROUND="light"

@ -0,0 +1,11 @@
#!/bin/bash
BASEDIR="$HOME/.config/dali"
TEMPLATE="template"
THEMES="themes"
COLORS="colors"
OUTDIR="out"
THEME="default"
COLORSCHEME="dracula"
PREHOOK="pre.sh"
POSTHOOK="post.sh"

@ -0,0 +1,17 @@
#!/bin/bash
echo "Linking dotfiles dir"
ln -s $HOME/.config/dali/out $HOME/.dotfiles
echo "Linking individual dotfiles"
cd $HOME/.dotfiles
for dir in $(find . -maxdepth 1 -type d -printf "%f\n" | grep -v '\.'); do
stow -d $HOME/.dotfiles -t $HOME $dir
done
echo "Loading X settings"
ln -s $HOME/.Xdefaults $HOME/.Xresources
xrdb $HOME/.Xdefaults
echo "Reloading i3"
i3-msg restart &

@ -0,0 +1,25 @@
#!/bin/bash
echo "Unlinking individual dotfiles"
if [ -L "$HOME/.Xresources" ]; then
unlink $HOME/.Xresources
fi
if [ -d "$HOME/.dotfiles" ]; then
OLDIR=$PWD
cd $HOME/.dotfiles
for dir in $(find . -maxdepth 1 -type d -printf "%f\n" | grep -v '\.'); do
stow -D -d $HOME/.dotfiles -t $HOME $dir
done
cd $OLDIR
fi
echo "Unlinking dotfiles dir"
if [ -L "$HOME/.dotfiles" ]; then
unlink $HOME/.dotfiles
fi
echo "Cleaning out dir"
rm -rf $HOME/.config/dali/out/*

@ -0,0 +1,219 @@
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
# Enable bash_completion
if [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
# Enable vi mode
set -o vi
# Enable colors
eval "`dircolors -b`"
# env
EDITOR="nvim"
TERMINAL="urxvt"
# FZF
export FZF_DEFAULT_COMMAND='ag -g ""'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
# Keychain
eval "$(keychain --eval --agents gpg,ssh --quiet)"
# nvim
alias vi=nvim
alias vim=nvim
alias ls='ls -hF --color=auto'
alias dir='ls --color=auto --format=long'
alias ll='ls -la'
# Grep
alias grep='grep -i --color=auto'
alias Grep='grep --color=auto'
# Add some colour to LESS/MAN pages
export LESSOPEN="| /usr/bin/source-highlight-esc.sh %s"
export LESS='-R'
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;33m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;42;30m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;36m'
# The Fuck
#eval $(thefuck --alias)
# nnn
n()
{
nnn "$@"
NNN_TMPFILE=${XDG_CONFIG_HOME:-$HOME/.config}/nnn/.lastd
if [ -f $NNN_TMPFILE ]; then
. $NNN_TMPFILE
rm -f $NNN_TMPFILE > /dev/null
fi
}
# NVM
#export NODE_OPTIONS="--max-old-space-size=1024"
#export NVM_DIR="$HOME/.nvm"
#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
#[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nv
# fnm
export PATH=/home/ianmethyst/.fnm:$PATH
eval "`fnm env --multi`"
# Sensible Bash - An attempt at saner Bash defaults
# Maintainer: mrzool <http://mrzool.cc>
# Repository: https://github.com/mrzool/bash-sensible
# Version: 0.2.2
## GENERAL OPTIONS ##
# Prevent file overwrite on stdout redirection
# Use `>|` to force redirection to an existing file
set -o noclobber
# Update window size after every command
shopt -s checkwinsize
# Automatically trim long paths in the prompt (requires Bash 4.x)
PROMPT_DIRTRIM=2
# Enable history expansion with space
# E.g. typing !!<space> will replace the !! with your last command
bind Space:magic-space
# Turn on recursive globbing (enables ** to recurse all directories)
shopt -s globstar 2> /dev/null
# Case-insensitive globbing (used in pathname expansion)
shopt -s nocaseglob;
## SMARTER TAB-COMPLETION (Readline bindings) ##
# Perform file completion in a case insensitive fashion
bind "set completion-ignore-case on"
# Treat hyphens and underscores as equivalent
bind "set completion-map-case on"
# Display matches for ambiguous patterns at first tab press
bind "set show-all-if-ambiguous on"
# Immediately add a trailing slash when autocompleting symlinks to directories
bind "set mark-symlinked-directories on"
## SANE HISTORY DEFAULTS ##
# Append to the history file, don't overwrite it
shopt -s histappend
# Save multi-line commands as one command
shopt -s cmdhist
# Record each line as it gets issued
PROMPT_COMMAND='history -a'
# Huge history. Doesn't appear to slow things down, so why not?
HISTSIZE=500000
HISTFILESIZE=100000
# Avoid duplicate entries
HISTCONTROL="erasedups:ignoreboth"
# Don't record some commands
export HISTIGNORE="&:[ ]*:exit:ls:bg:fg:history:clear"
# Use standard ISO 8601 timestamp
# %F equivalent to %Y-%m-%d
# %T equivalent to %H:%M:%S (24-hours format)
HISTTIMEFORMAT='%F %T '
# Enable incremental history search with up/down arrows (also Readline goodness)
# Learn more about this here: http://codeinthehole.com/writing/the-most-important-command-line-tip-incremental-history-searching-with-inputrc/
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
bind '"\e[C": forward-char'
bind '"\e[D": backward-char'
## BETTER DIRECTORY NAVIGATION ##
# Prepend cd to directory names automatically
shopt -s autocd 2> /dev/null
# Correct spelling errors during tab-completion
shopt -s dirspell 2> /dev/null
# Correct spelling errors in arguments supplied to cd
shopt -s cdspell 2> /dev/null
# This defines where cd looks for targets
# Add the directories you want to have fast access to, separated by colon
# Ex: CDPATH=".:~:~/projects" will look for targets in the current working directory, in home and in the ~/projects folder
CDPATH="."
# This allows you to bookmark your favorite places across the file system
# Define a variable containing a path and you will be able to cd into it regardless of the directory you're in
shopt -s cdable_vars
# Prompt
# get current branch in git repo
function parse_git_branch() {
BRANCH=`git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/\1/'`
if [ ! "${BRANCH}" == "" ]
then
STAT=`parse_git_dirty`
echo "[${BRANCH}${STAT}]"
else
echo ""
fi
}
# get current status of git repo
function parse_git_dirty {
status=`git status 2>&1 | tee`
dirty=`echo -n "${status}" 2> /dev/null | grep "modified:" &> /dev/null; echo "$?"`
untracked=`echo -n "${status}" 2> /dev/null | grep "Untracked files" &> /dev/null; echo "$?"`
ahead=`echo -n "${status}" 2> /dev/null | grep "Your branch is ahead of" &> /dev/null; echo "$?"`
newfile=`echo -n "${status}" 2> /dev/null | grep "new file:" &> /dev/null; echo "$?"`
renamed=`echo -n "${status}" 2> /dev/null | grep "renamed:" &> /dev/null; echo "$?"`
deleted=`echo -n "${status}" 2> /dev/null | grep "deleted:" &> /dev/null; echo "$?"`
bits=''
if [ "${renamed}" == "0" ]; then
bits=">${bits}"
fi
if [ "${ahead}" == "0" ]; then
bits="*${bits}"
fi
if [ "${newfile}" == "0" ]; then
bits="+${bits}"
fi
if [ "${untracked}" == "0" ]; then
bits="?${bits}"
fi
if [ "${deleted}" == "0" ]; then
bits="x${bits}"
fi
if [ "${dirty}" == "0" ]; then
bits="!${bits}"
fi
if [ ! "${bits}" == "" ]; then
echo " ${bits}"
else
echo ""
fi
}
export PS1="\[\e[95m\]\u\[\e[m\]@\[\e[96m\]\h\[\e[m\]:\w \[\e[92m\]\`parse_git_branch\`\[\e[m\] \[\e[91m\]\\$\[\e[m\] "

@ -0,0 +1,33 @@
directory: ~/Data/Music
library: ~/.musiclibrary.db
plugins: web fetchart lyrics lastgenre scrub missing embedart mpdupdate thumbnails mbsync edit discogs fromfilename chroma
import:
move: no
copy: yes
write: yes
remove: no
resume: ask
timid: no
replace:
'[\\/]': _
'^\.': _
paths:
default: $albumartist/[$original_year] $album%aunique{}/$track $title
singleton: Non-Album/$artist/$title
comp: Compilations/$album%aunique{}/$track $title
art_filename: cover
mpd:
host: localhost
port: 6600
lastgenre:
count: 3
missing:
format: $albumartist - $album - $title
count: no
total: no

@ -0,0 +1 @@
{"token": "ipboqWCBLVhOdjnYnKIimttxAlMoJFLDgdPjrdvn", "secret": "MKQDTyVUEzNeVppEaUJLSJGoRjDOylXZekSLZhfG"}

@ -0,0 +1,5 @@
(dp0
S'tagprogress'
p1
(dp2
s.

@ -0,0 +1,107 @@
# vim: ft=cfg
# Shadows
shadow = true;
no-dnd-shadow = true;
no-dock-shadow = true;
clear-shadow = true;
shadow-radius = 12;
shadow-offset-x = -18;
shadow-offset-y = -12;
shadow-opacity = 0.35;
# shadow-red = 1.0;
# shadow-green = 0.0;
# shadow-blue = 0.0;
shadow-exclude = [
"! name~=''",
"name = 'Notification'",
"name = 'Plank'",
"name = 'Docky'",
"name = 'Kupfer'",
"name = 'xfce4-notifyd'",
"name *= 'VLC'",
"name *= 'compton'",
"name *= 'Chromium'",
"name *= 'Chrome'",
"class_g = 'Conky'",
"class_g = 'Kupfer'",
"class_g = 'Synapse'",
"class_g ?= 'Notify-osd'",
"class_g ?= 'Cairo-dock'",
"class_g ?= 'Xfce4-notifyd'",
"class_g ?= 'Xfce4-power-manager'",
"class_g = 'Polybar'",
"class_g = 'polybar'",
"class_g = 'Dmenu'",
"class_g = 'dmenu'",
"class_g = 'i3-frame'",
"_GTK_FRAME_EXTENTS@:c"
];
#Opacity
menu-opacity = 0.9;
frame-opacity = 0.9;
inactive-opacity = 1;
active-opacity = 1;
inactive-opacity-override = false;
inactive-dim = 0.4;
# inactive-dim-fixed = true;
focus-exclude = [
"class_g = 'chromium'",
"class_g = 'Chromium'",
"class_g = 'conky'",
"class_g = 'conky'"
]
# Blur
blur-background = true;
blur-background-frame = false;
blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1"
blur-background-exclude = [
"window_type = 'desktop'",
"class_g = 'polybar'",
"class_g = 'Polybar'",
"class_g = 'Conky'",
"class_g = 'conky'",
"_GTK_FRAME_EXTENTS@:c"
];
# Fading
fading = true;
fade-delta = 20;
fade-in-step = 0.1;
fade-out-step = 0.1;
no-fading-openclose = false;
no-fading-destroyed-argb = true;
fade-exclude = [ ];
# Other
backend = "glx";
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# use-ewmh-active-win = true;
detect-rounded-corners = true;
detect-client-opacity = true;
refresh-rate = 0;
vsync = "none";
dbe = false;
paint-on-overlay = true;
# sw-opti = true;
unredir-if-possible = true;
# unredir-if-possible-delay = 5000;
# unredir-if-possible-exclude = [ ];
#focus-exclude = [ "class_g = 'Cairo-clock'" ];
detect-transient = true;
detect-client-leader = true;
invert-color-include = [ ];
# resize-damage = 1;
# GLX backend
glx-no-stencil = true;
glx-copy-from-front = false;
glx-use-copysubbuffermesa = true;
glx-no-rebind-pixmap = false;
glx-swap-method = "buffer-age";
# glx-use-gpushader4 = true;
xrender-sync = true;
xrender-sync-fence = true;

@ -0,0 +1,65 @@
# vim: ft=cfg
[global]
monitor = 0
follow = none
geometry = "300x5-24+52"
indicate_hidden = yes
shrink = no
transparency = 0
notification_height = 0
separator_height = 0
padding = 8
horizontal_padding = 8
frame_width = 3
sort = yes
idle_threshold = 120
font = {{FONT}} {{FONTSIZE}}
line_height = 0
markup = full
format = "%s\n%b"
alignment = center
show_age_threshold = 60
word_wrap = yes
ignore_newline = no
stack_duplicates = true
hide_duplicate_count = false
show_indicators = no
icon_position = off
max_icon_size = 32
icon_path = /usr/share/icons/gnome/16x16/status/:/usr/share/icons/gnome/16x16/devices/
sticky_history = yes
history_length = 20
dmenu = /usr/bin/dmenu -p dunst:
browser = /usr/bin/chromium
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]
background = "{{COLORS.background}}"
foreground = "{{COLORS.foreground}}"
frame_color = "{{COLORS.blue}}"
timeout = 4
[urgency_normal]
background = "{{COLORS.background}}"
foreground = "{{COLORS.foreground}}"
frame_color = "{{COLORS.green}}"
timeout = 8
[urgency_critical]
background = "{{COLORS.red}}"
foreground = "{{COLORS.foreground}}"
frame_color = "{{COLORS.red}}"
timeout = 0

@ -0,0 +1,38 @@
menu_parent Left
menu_child Right
menu_down Down
menu_up Up
scroll_left h
scroll_right l
scroll_up k
scroll_down j
scroll_left_page C-h
scroll_right_page C-l
scroll_up_page C-k
scroll_down_page C-j
toggle_aliasing A
toggle_filenames d
toggle_pointer o
toggle_fullscreen f
zoom_in plus
zoom_out minus
next_img greater
prev_img less
reload_image r
size_to_image w
next_dir bracketright
prev_dir bracketleft
orient_3 parenright
orient_1 parenleft
flip underscore
mirror bar
remove Delete
zoom_fit s
zoom_default a
close q Q

@ -0,0 +1,82 @@
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Font rendering -->
<match target="font">
<edit mode="assign" name="autohint">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="lcdfilter">
<const>lcddefault</const>
</edit>
</match>
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
<!--
<match target="pattern">
<edit mode="assign" name="dpi">96</edit>
</match>
-->
<!-- Emoji -->
<match target="pattern">
<edit mode="prepend_first" name="family">
<string>Icons</string>
</edit>
</match>
<match target="pattern">
<edit mode="prepend_first" name="family">
<string>Noto Color Emoji</string>
</edit>
</match>
<!-- Default fonts -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Source Sans Pro</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Source Code Pro</family>
</prefer>
</alias>
<!---
<alias>
<family>fixed</family>
<prefer>
<family>scientifica</family>
</prefer>
</alias>
-->
<dir>~/.fonts</dir>
<match target="font">
<edit mode="assign" name="rgba">
<const>rgb</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hinting">
<bool>true</bool>
</edit>
</match>
<match target="font">
<edit mode="assign" name="hintstyle">
<const>hintslight</const>
</edit>
</match>
<match target="font">
<edit mode="assign" name="antialias">
<bool>true</bool>
</edit>
</match>
</fontconfig>

@ -0,0 +1,9 @@
# PIN entry program
# pinentry-program /usr/bin/pinentry-curses
# pinentry-program /usr/bin/pinentry-qt
# pinentry-program /usr/bin/pinentry-kwallet
pinentry-program /usr/bin/pinentry-gtk-2
default-cache-ttl 42000
max-cache-ttl 42000

@ -0,0 +1,357 @@
###########
# General #
###########
# Using Super instead of alt
set $mod Mod4
# Font
font pango: {{FONT}} {{FONTSIZE}}
# Titles
for_window [class="^.*"] title_format " %title"
##############
# Workspaces #
##############
set $ws1 "1"
set $ws2 "2"
set $ws3 "3"
set $ws4 "4"
set $ws5 "5"
set $ws6 "6"
set $ws7 "7"
set $ws8 "8"
set $ws9 "9"
set $ws10 "10"
##########
# Colors #
##########
set_from_resource $background background {{COLORS.background}}
set_from_resource $foreground foreground {{COLORS.background}}
set_from_resource $lightblack color8 {{COLORS.color8}}
set_from_resource $black color0 {{COLORS.color0}}
set_from_resource $lightred color9 {{COLORS.color9}}
set_from_resource $red color1 {{COLORS.color1}}
set_from_resource $lightgreen color10 {{COLORS.color10}}
set_from_resource $green color2 {{COLORS.color2}}
set_from_resource $lightyellow color12 {{COLORS.color12}}
set_from_resource $yellow color3 {{COLORS.color3}}
set_from_resource $lightblue color12 {{COLORS.color12}}
set_from_resource $blue color4 {{COLORS.color4}}
set_from_resource $lightmagenta color13 {{COLORS.color13}}
set_from_resource $magenta color5 {{COLORS.color5}}
set_from_resource $lightcyan color14 {{COLORS.color14}}
set_from_resource $cyan color6 {{COLORS.color6}}
set_from_resource $lightwhite color15 {{COLORS.color15}}
set_from_resource $white color7 {{COLORS.color7}}
# BORDER BACKGROUND TEXT INDICATOR
client.focused $green $green $background $green
client.unfocused $background $background $foreground $background
client.focused_inactive $background $background $foreground $background
client.urgent $red $red $foreground $red
################
# Key Bindings #
################
# Start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# Kill focused window
bindsym $mod+Shift+q kill
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# Start dmenu
# bindsym $mod+d exec dmenu_run
# bindsym $mod+Shift+d exec "dmenu_run -h 24 -x 12 -y 10 -w 1342 -fn 'Iosevka Nerd Font Mono-11' -nb '$background' -sb '$green' -nf '$foreground' -sf '$background'"
# Change focus
bindsym $mod+h focus left
bindsym $mod+j focus down
bindsym $mod+k focus up
bindsym $mod+l focus right
# Alternatively, you can use the cursor keys:
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# Move focused window
bindsym $mod+Shift+h move left
bindsym $mod+Shift+j move down
bindsym $mod+Shift+k move up
bindsym $mod+Shift+l move right
# Alternatively, you can use the cursor keys:
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# Toggle Split in vertical/horizontal orientation
bindsym $mod+v split toggle
# Enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# Change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# Toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# Change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# Focus the parent container
bindsym $mod+a focus parent
# Focus the child container
# bindsym $mod+d focus child
# Reload the configuration file
bindsym $mod+Shift+c reload
# Restart i3 inplace (preserves your layout/session, can be used to upgrde i3)
bindsym $mod+Shift+r restart
# Lock
bindsym $mod+shift+x exec betterlockscreen -l dim
# Program shortcuts
# Scrot
bindsym --release Print exec $HOME/.bin/scrot
bindsym --release Shift+Print exec $HOME/.bin/scrot-area
# pcmanfm
# bindsym $mod+p exec --no-startup-id pcmanfm -n
# Chromium
bindsym $mod+c exec --no-startup-id chromium
# Rofi
bindsym $mod+d exec --no-startup-id rofi -show run
#bindsym $mod+Shift+Tab exec --no-startup-id rofi -show window
bindsym $mod+Shift+s exec --no-startup-id rofi -show ssh
bindsym $mod+Shift+e exec --no-startup-id rofi -show emoji
bindsym $mod+Shift+p exec --no-startup-id ~/.bin/rofi-passmenu
bindsym $mod+p exec --no-startup-id ~/.bin/rofi-xrandr
##############
# Workspaces #
##############
# Allow workspaces back and forth
workspace_auto_back_and_forth yes
# Switch to workspace
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+Tab workspace back_and_forth
# Move workspace one monitor to the right
bindsym $mod+Shift+Tab move workspace to output right
# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace number $ws1
bindsym $mod+Shift+2 move container to workspace number $ws2
bindsym $mod+Shift+3 move container to workspace number $ws3
bindsym $mod+Shift+4 move container to workspace number $ws4
bindsym $mod+Shift+5 move container to workspace number $ws5
bindsym $mod+Shift+6 move container to workspace number $ws6
bindsym $mod+Shift+7 move container to workspace number $ws7
bindsym $mod+Shift+8 move container to workspace number $ws8
bindsym $mod+Shift+9 move container to workspace number $ws9
bindsym $mod+Shift+0 move container to workspace number $ws10
# Assign clients to workspaces
assign [class="^Nautilus$"] → $ws1
assign [class="^pcmanfm$"] → $ws1
assign [class="^Pcmanfm$"] → $ws1
assign [class="^Firefox$"] → $ws2
assign [class="^Chromium$" window_role="^browser$"] → $ws2
for_window [class="^Chromium$" window_role="^pop-up$"] floating enable
assign [class="^atom$"] → $ws3
assign [class="^Atom$"] → $ws3
assign [class="^sun-awt-X11-XFramePeer$"] → $ws3
assign [class="^Processing$"] → $ws3
for_window [title="^Welcome to Processing"] floating enable
assign [class="^processing-app-Base$"] → $ws3
for_window [title="^Java$"] floating enable
for_window [title="^Java$"] move position center
assign [class="^discord$"] → $ws4
assign [class="^telegram-desktop$"] → $ws4
assign [class="^TelegramDesktop$"] → $ws4
assign [class="^cura$"] → $ws6
assign [class="^inkscape$"] → $ws6
assign [class="^Inkscape$"] → $ws6
assign [class="^Darktable$"] → $ws6
assign [class="^darktable$"] → $ws6
assign [class="^gimp$"] → $ws6
assign [class="^Gimp$"] → $ws6
assign [class="^krita$"] → $ws6
assign [class="^Blender$"] → $ws6
assign [title="^LibreOffice$"] → $ws6
assign [class="^libreoffice$"] → $ws6
assign [class="^libreoffice-startcenter$"] → $ws6
assign [class="^libreoffice-writer$"] → $ws6
assign [class="^Steam$"] → $ws9
assign [title="^Steam$"] → $ws9
for_window [class="^Unity$"] floating enable
for_window [title="^Unity - Unity"] floating disable
for_window [class="^Steam$"] floating enable
for_window [class="^Steam$" title="^Steam$"] floating disable
for_window [class="^pavucontrol$"] floating enable
for_window [class="^Pavucontrol$"] floating enable
for_window [class="^arandr$"] floating enable
for_window [class="^Arandr$"] floating enable
#############
# Autostart #
#############
exec_always $HOME/.bin/fehbg $HOME/Pictures/wall.png
exec_always xmodmap ~/.Xmodmap
exec_always $HOME/.bin/setxkbmap
exec_always --no-startup-id $HOME/.bin/dunst
#exec_always compton --config $HOME/.config/compton/compton.conf
#exec_always $HOME/.bin/conky
exec xautolock -time 15 -locker "betterlockscreen -l dim" -corners 0-00
exec pcmanfm -d
exec discord
exec telegram-desktop
exec steam
exec nm-applet
# exec blueman-applet
# exec pasystray
exec redshift-gtk
exec cbatticon BAT0 -l 25 -r 10
# exec clipit
#########
# Modes #
#########
# Resize window (you can also use the mouse for that)
set $mode_resize resize
bindsym $mod+r mode "$mode_resize"
mode "$mode_resize" {
bindsym h resize shrink width 10 px or 10 ppt
bindsym j resize grow height 10 px or 10 ppt
bindsym k resize shrink height 10 px or 10 ppt
bindsym l resize grow width 10 px or 10 ppt
# same bindings, but for the arrow keys
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
bindsym Return mode "default"
bindsym Escape mode "default"
}
# System Menu
set $sysmenu "[p]oweroff re[b]oot [h]ibernate [s]uspend [l]ogout"
bindsym $mod+Delete mode $sysmenu
mode $sysmenu {
bindsym r restart
bindsym l exit
bindsym p exec shutdown -P now
bindsym b exec shutdown -r now
bindsym s exec systemctl suspend
bindsym h exec systemctl hibernate
bindsym Return mode "default"
bindsym Escape mode "default"
}
#######
# Bar #
#######
#bar {
# status_command $HOME/.bin/polybar
#
#}
exec_always --no-startup-id $HOME/.bin/polybar
###################
# Multimedia Keys #
###################
# Volume
# PulseAudio
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +2% #increase sound volume
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -2% #decrease sound volume
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
# ALSA
bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master '2%+'
bindsym XF86AudioLowerVolume exec --no-startup-id amixer -D pulse sset Master '2%-'
bindsym XF86AudioMute exec --no-startup-id amixer set Master toggle
# MPC
bindsym XF86AudioPrev exec mpc prev
bindsym XF86AudioNext exec mpc next
bindsym XF86AudioPlay exec mpc toggle
bindsym XF86AudioStop exec mpc stop
# Sreen brightness controls
bindsym XF86MonBrightnessUp exec xbacklight +2
bindsym XF86MonBrightnessDown exec xbacklight -2
bindsym XF86Display exec arandr
bindsym XF86TouchpadToggle exec pavucontrol
###########
# i3-Gaps #
###########
# Borders
for_window [class="^.*"] border pixel 3
for_window [class="^Chromium$" window_role="^browser$"] border pixel 0
# Set inner/outer gaps
gaps inner 0
gaps outer 0
# Smart gaps (gaps used if only more than one container on the workspace)
# smart_gaps on
# Smart borders (draw borders around container only if it is not the only container on this workspace)
smart_borders on

@ -0,0 +1,43 @@
music_directory "~/Data/Music"
# Required files
db_file "~/.config/mpd/database"
log_file "~/.config/mpd/log"
# Optional
playlist_directory "~/.config/mpd/playlists"
pid_file "~/.config/mpd/pid"
state_file "~/.config/mpd/state"
sticker_file "~/.config/mpd/sticker.sql"
input {
plugin "curl"
# proxy "proxy.isp.com:8080"
# proxy_user "user"
# proxy_password "password"
}
#audio_output {
# type "alsa"
# name "My ALSA Device"
# device "hw:0,0" # optional
# mixer_type "hardware" # optional
# mixer_device "default" # optional
# mixer_control "PCM" # optional
# mixer_index "0" # optional
#}
audio_output {
type "pulse"
name "My Pulse Output"
# server "remote_server" # optional
# sink "remote_server_sink" # optional
}
audio_output {
type "fifo"
name "my_fifo"
path "/tmp/mpd.fifo"
format "44100:16:2"
}

@ -0,0 +1,10 @@
media_library_primary_tag = album_artist
fetch_lyrics_for_current_song_in_background = yes
startup_screen = media_library
visualizer_fifo_path = "/tmp/mpd.fifo"
visualizer_output_name = "my_fifo"
visualizer_sync_interval = "30"
visualizer_in_stereo = "yes"
visualizer_type = "spectrum"
visualizer_look = "+|"

@ -0,0 +1,13 @@
https://www.archlinux.org/feeds/news/
https://news.ycombinator.com/rss
http://feeds.feedburner.com/codinghorror?format=xml
https://hackaday.com/blog/feed/
https://www.raspberrypi.org/blog/feed/
https://alistapart.com/main/feed
https://css-tricks.com/feed/
http://feeds2.feedburner.com/tympanus
http://feeds.feedburner.com/TheGreatDiscontent
https://www.eff.org/rss/updates.xml
https://blog.codepen.io/feed/
http://feeds.feedburner.com/ReadItLaterBlog?format=xml
http://revistaanfibia.com/feed/

@ -0,0 +1,290 @@
" ########
" # Plug #
" ########
call plug#begin('~/.local/share/nvim/plugged')
Plug 'chriskempson/base16-vim'
Plug 'dracula/vim', { 'as': 'dracula' }
Plug 'altercation/vim-colors-solarized'
Plug 'arcticicestudio/nord-vim'
Plug 'itchyny/lightline.vim'
Plug 'daviesjamie/vim-base16-lightline'
Plug 'maximbaz/lightline-ale'
Plug 'gioele/vim-autoswap' "Requires wmctrl
Plug 'sheerun/vim-polyglot'
Plug 'sirtaj/vim-openscad'
Plug 'othree/yajs.vim'
Plug 'othree/javascript-libraries-syntax.vim'
Plug 'jparise/vim-graphql'
Plug 'styled-components/vim-styled-components'
Plug 'vim-pandoc/vim-pandoc-syntax'
Plug 'junegunn/fzf.vim'
Plug 'scrooloose/nerdtree'
Plug 'xuyuanp/nerdtree-git-plugin'
Plug 'airblade/vim-gitgutter'
Plug 'nathanaelkane/vim-indent-guides'
" Plug 'donRaphaco/neotex', { 'for': 'tex' }
Plug 'lervag/vimtex'
Plug 'mhinz/neovim-remote'
if has('nvim')
Plug 'Shougo/deoplete.nvim', { 'do': ':UpdateRemotePlugins' }
else
Plug 'Shougo/deoplete.nvim'
Plug 'roxma/nvim-yarp'
Plug 'roxma/vim-hug-neovim-rpc'
endif
Plug 'Shougo/neco-syntax'
Plug 'Shougo/neoinclude.vim'
Plug 'Shougo/neopairs.vim'
Plug 'Shougo/context_filetype.vim'
Plug 'Shougo/neco-vim'
Plug 'carlitux/deoplete-ternjs', { 'do': 'npm install -g tern' }
Plug 'ternjs/tern_for_vim'
Plug 'Shougo/neosnippet.vim'
Plug 'Shougo/neosnippet-snippets'
Plug 'w0rp/ale'
call plug#end()
" ###########
" # General #
" ###########
let g:python_host_prog = '/usr/bin/python2'
let g:python3_host_prog = '/usr/bin/python'
" Syntax
filetype plugin indent on
let g:polyglot_disabled = ['js', 'latex']
syntax on
" Colorscheme
let base16colorspace=256
let g:dracula_colorterm=0
let g:nord_underline = 1
let g:nord_italic = 1
let g:nord_italic_comments = 0
let g:nord_cursor_line_number_background = 1
let g:solarized_termcolors= 16
let g:solarized_bold = 1
let g:solarized_underline = 1
let g:solarized_italic = 1
colorscheme {{VIMCOLORSCHEME}}
set bg={{VIMBACKGROUND}}
" make the highlighting of tabs and other non-text less annoying
highlight SpecialKey ctermbg=none ctermfg=8
highlight NonText ctermbg=none ctermfg=8
" Tabs and Identation
set expandtab
set copyindent
set preserveindent
set softtabstop=2
set shiftwidth=2
set tabstop=2
" set list
" set lcs+=space:·
" Essentials
set encoding=utf-8 " Set encoding
set ffs=unix,dos,mac
set title titlestring= " Change the terminal's title
set number " Show line numbers
set relativenumber " Show relative numbers
set cursorline " Highlight current line
set showcmd " Show command in bottom bar
set wildmenu " Visual autocomplete for command menu
set wildignore+=*/tmp/*,*.so,*.swp,*.zip " MacOSX/Linux
"set wildignore+=*\\tmp\\*,*.swp,*.zip,*.exe " Windows
set timeoutlen=1000 ttimeoutlen=0 " No timeout before keypresses
set scrolloff=10
set lazyredraw " Redraw only when we need to.
set showmatch " Highlight matching [{()}]
" History
set history=1000 " Remember more commands and search history
set undolevels=1000 " Use many muchos levels of undo
" Search
set incsearch " Search as characters are entered
set hlsearch " Highlight matches
set ignorecase " Ignore case when searching
set smartcase " When searching try to be smart about cases
" Folding
set foldenable " Enable folding
set foldlevelstart=99 " Don't fold things by default
set foldcolumn=0 " Don't show fold column
set foldmethod=indent
set foldopen=block,hor,insert,jump,mark,percent,quickfix,search,tag,undo
" Mouse support
set mouse=a
" Backups
set backup
set backupdir=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp
set backupskip=/tmp/*,/private/tmp/*
set directory=~/.vim-tmp,~/.tmp,~/tmp,/var/tmp,/tmp
set writebackup
" ###########
" # Keymaps #
" ###########
" Leader
let mapleader=","
" Fold toggle
nnoremap <space> za
" Movement
nnoremap j gj
nnoremap k gk
" Turn off search highlight
nnoremap <leader><space> :nohlsearch<CR>
" Session save
nnoremap <leader>s :mksession<CR>
" Make p in Visual mode replace the selected text with the yank register
vnoremap p <Esc>:let current_reg = @"<CR>gvdi<C-R>=current_reg<CR><Esc>
" :W sudo saves the file
command W w !sudo tee % > /dev/null
" Completion with tab
inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>"
inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>"
" NERD Tree
map <C-n> :NERDTreeToggle<CR>
" Ale
nmap <silent> <leader>aj :ALENext<cr>
nmap <silent> <leader>ak :ALEPrevious<cr>
" fzf
nnoremap <c-p> :Files<cr>
" #############
" # Statusbar #
" #############
set laststatus=2
set noshowmode
let g:lightline = {
\ 'colorscheme': '{{VIMLIGHTLINE}}',
\ 'component_expand': {
\ 'linter_checking': 'lightline#ale#checking',
\ 'linter_warnings': 'lightline#ale#warnings',
\ 'linter_errors': 'lightline#ale#errors',
\ 'linter_ok': 'lightline#ale#ok',
\ },
\ 'component_type': {
\ 'linter_checking': 'left',
\ 'linter_warnings': 'warning',
\ 'linter_errors': 'error',
\ 'linter_ok': 'left',
\ },
\ 'active': {
\ 'right': [ [ 'linter_checking', 'linter_errors', 'linter_warnings', 'linter_ok' ],
\ [ 'percent', 'lineinfo'],
\ [ 'fileformat', 'fileencoding', 'filetype'] ]
\ },
\ }
" ###########
" # Plugins #
" ###########
" Indent guides
hi IndentGuidesOdd ctermbg=8
hi IndentGuidesEven ctermbg=8
let g:indent_guides_start_level = 2
let g:indent_guides_guide_size = 1
let g:indent_guides_enable_on_vim_startup = 1
" Deoplete
let g:deoplete#enable_at_startup = 1
let g:deoplete#num_processes = 1
"call deoplete#custom#option('sources', {
" \ '_': ['buffer'],
" \ 'cpp': ['buffer', 'tag'],
" \})
let g:tern#command = ["tern"]
let g:tern#arguments = ["--persistent"]
" ale
let g:ale_completion_enabled = 0
let g:ale_linters_explicit = 1
let g:ale_linters = {
\ 'cpp': ['clangcheck', 'clangtidy', 'cppcheck'],
\ 'javascript': ['eslint'],
\ 'vim': ['vint'],
\}
let b:ale_fixers = {
\ 'javascript': ['eslint']
\}
" neotex
let g:neotex_enabled = 1
let g:tex_flavor = 'latex'
let g:neotex_pdflatex_alternative = 'xelatex'
" neopairs
let g:neopairs#enable = 1
" neco-vim
if !exists('g:necovim#complete_functions')
let g:necovim#complete_functions = {}
endif
let g:necovim#complete_functions.Ref =
\ 'ref#complete'
" neosnippet
" Plugin key-mappings.
" Note: It must be "imap" and "smap". It uses <Plug> mappings.
imap <C-k> <Plug>(neosnippet_expand_or_jump)
smap <C-k> <Plug>(neosnippet_expand_or_jump)
xmap <C-k> <Plug>(neosnippet_expand_target)
" SuperTab like snippets behavior.
" Note: It must be "imap" and "smap". It uses <Plug> mappings.
"imap <expr><TAB>
" \ pumvisible() ? "\<C-n>" :
" \ neosnippet#expandable_or_jumpable() ?
" \ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
smap <expr><TAB> neosnippet#expandable_or_jumpable() ?
\ "\<Plug>(neosnippet_expand_or_jump)" : "\<TAB>"
" For conceal markers.
"if has('conceal')
" set conceallevel=2 concealcursor=niv
"endif
let g:neosnippet#snippets_directory='~/.config/nvim/snippets'

@ -0,0 +1,70 @@
snippet ireact
abbr Import React
options head
import React from 'react';
snippet iprop
abbr Import PropTypes
options head
import PropTypes from 'prop-types';
snippet ireactprop
abbr Import React and PropTypes
options head
import React from 'react';
import PropTypes from 'prop-types';
snippet istyled
abbr Import Styled Components
options head
import styled from 'styled-components';
snippet iredux
abbr Import Redux's connect
options head
import { connect } from 'react-redux';
snippet constructor
abbr Constructor
options word
constructor() {
super(${1});
${0}
}
snippet react-component
abbr Constructor
options head
class ${$1:Component} extends React.Component {
render() {
${0}
}
}
snippet react-pure
abbr Constructor
options head
class ${$1:Component} extends React.PureComponent {
render() {
${0}
}
}
snippet react-stateless
abbr Constructor
options head
const ${$1:Component} = ( ${2:props} ) => (
${0}
)
snippet styled
abbr New Styled component
options head
const ${1:Component} = styled.${2:div}\`
${3:#:/* Positioning */}
${4:#:/* Display */}
${5:#:/* Color */}
${6:#:/* Text */}
${7:#:/* Other */}
\`;
${0}

@ -0,0 +1,270 @@
[colors]
background = {{COLORS.background}}
background-alt = {{COLORS.comment}}
foreground = {{COLORS.foreground}}
red = {{COLORS.red}}
green = {{COLORS.green}}
yellow = {{COLORS.yellow}}
blue= {{COLORS.blue}}
purple = {{COLORS.purple}}
cyan = {{COLORS.cyan}}
[settings]
screenchange-reload = true
[bar/bar]
enable-ipc = true
;monitor = ${env:MONITOR:eDP-1}
width = 100%
height = {{POLYBAR.height}}
fixed-center = true
bottom = {{POLYBAR.bottom}}
background = ${colors.background}
foreground = ${colors.foreground}
padding-left = 1
padding-right = 1
border-bottom-size = 0
border-top-size = 0
font-0 = {{FONT}}:size={{FONTSIZE}}:{{POLYBAR.antialias}};{{POLYBAR.textoffset}}
font-1 = {{ICONFONT}}:size={{FONTSIZE}}:scale={{POLYBAR.iconfontscale}}:{{POLYBAR.antialias}};{{POLYBAR.textoffset}}
modules-left = {{POLYBAR.modulesleft}}
modules-center = {{POLYBAR.modulescenter}}
modules-right = {{POLYBAR.modulesright}}
tray-position =
tray-background = ${colors.background-alt}
tray-padding = 2
tray-maxsize = 18
tray-detached = true
tray-offset-x = -4
[module/empty]
type = custom/script
[module/rofi]
type = custom/script
exec = echo "  "
format-background = ${colors.blue}
format-foreground = ${colors.foreground}
format-padding = 1
click-left = rofi -show run
click-right = rofi -show window
[module/window]
type = internal/xwindow
label = %title%
label-maxlen = 50
label-foreground = ${colors.foreground}
label-margin = 1
label-padding = 1
[module/i3]
type = internal/i3
index-sort = true
pin-workspaces = false
enable-scroll = true
wrapping-scroll = true
format = <label-state> <label-mode>
label-mode = %mode%
label-mode-padding = 1
label-mode-margin = 1
label-mode-background = ${colors.yellow}
label-mode-foreground = ${colors.background}
label-focused = {{POLYBAR.i3label}}
label-focused-padding = 1
label-focused-foreground = ${colors.green}
label-unfocused = {{POLYBAR.i3label}}
label-unfocused-padding= 1
label-unfocused-foreground = ${colors.background-alt}
label-urgent = {{POLYBAR.i3label}}
label-urgent-padding= 1
label-urgent-foreground = ${colors.red}
label-visible = {{POLYBAR.i3label}}
label-visible-padding= 1
label-visible-foreground = ${colors.purple}
ws-icon-0 = 1;home
ws-icon-1 = 2;web
ws-icon-2 = 3;vim
ws-icon-3 = 4;chat
ws-icon-4 = 5;music
ws-icon-5 = 6;design
ws-icon-6 = 7;seven
ws-icon-7 = 8;eight
ws-icon-8 = 9;games
ws-icon-9 = 10;random
ws-icon-default = ?
[module/wifi]
type = internal/network
interface = {{POLYBAR.wifidev}}
interval = 3.0
format-connected = <label-connected>
label-connected = "{{POLYBAR.wifiicon}} %essid% (%local_ip%)"
label-connected-padding = 1
label-connected-margin = 0
label-connected-foreground = ${colors.green}
format-disconnected = <label-disconnected>
label-disconnected = ""
label-disconnected-padding = 0
label-disconnected-foreground = ${colors.background}
[module/eth]
type = internal/network
interface = {{POLYBAR.ethdev}}
interval = 3.0
format-connected = <label-connected>
label-connected = "{{POLYBAR.ethicon}} %local_ip%"
label-connected-padding = 1
label-connected-margin = 0
label-connected-foreground = ${colors.green}
format-disconnected = <label-disconnected>
label-disconnected = ""
label-disconnected-padding = 0
label-disconnected-foreground = ${colors.background}
[module/cpu]
type = internal/cpu
interval = 2
label = {{POLYBAR.cpuicon}} %percentage%%
label-foreground = ${colors.cyan}
label-padding= 1
[module/memory]
type = internal/memory
interval = 2
label= {{POLYBAR.ramicon}} %percentage_used%%
label-foreground = ${colors.blue}
label-padding = 1
[module/date]
type = internal/date
label = "{{POLYBAR.dateicon}} %date%"
date = %m/%d
time = %H:%M
interval = 5
label-padding = 1
label-foreground = ${colors.background-alt}
[module/time]
type = internal/date
label = "{{POLYBAR.timeicon}} %time%"
date = %m/%d
time = %H:%M
interval = 5
label-padding = 1
label-foreground = ${colors.foreground}
[module/volume]
type = internal/pulseaudio
format-volume = <label-volume>
label-volume = "{{POLYBAR.volumeicon}} %percentage%%"
label-volume-foreground = ${colors.green}
label-volume-padding = 1
label-muted = {{POLYBAR.muteicon}} %percentage%%
label-muted-foreground = ${colors.red}
label-muted-padding = 1
[module/battery]
type = internal/battery
full-at = 100
time-format = %H:%M
format-charging = <animation-charging> <label-charging>
label-charging = %percentage%%
format-charging-foreground = ${colors.green}
format-charging-padding = 1
format-full = "<label-full>"
label-full = " %percentage%% "
format-full-foreground= ${colors.green}
format-full-padding = 1
format-discharging = <ramp-capacity> <label-discharging>
label-discharging = "%percentage%%"
format-discharging-foreground = ${colors.yellow}
format-discharging-padding = 1
ramp-capacity-0 = 
ramp-capacity-1 = 
ramp-capacity-2 = 
animation-charging-0 = 
animation-charging-1 = 
animation-charging-2 = 
animation-charging-framerate = 800
[module/batteryemoji]
type = internal/battery
full-at = 100
time-format = %H:%M
format-charging = <label-charging>
label-charging = {{POLYBAR.chargingicon}} %percentage%%
format-charging-foreground = ${colors.green}
format-charging-padding = 1
format-full = "<label-full>"
label-full = "{{POLYBAR.fullicon}} %percentage%% "
format-full-foreground= ${colors.green}
format-full-padding = 1
format-discharging = <label-discharging>
label-discharging = "{{POLYBAR.dischargingicon}} %percentage%%"
format-discharging-foreground = ${colors.yellow}
format-discharging-padding = 1
[module/mpd]
type = internal/mpd
format-online = <label-song> <label-time>
format-online-spacing = 0
format-online-padding = 2
format-online-margin = 1
format-online-background = ${colors.background}
format-offline = <label-offline>
format-offline-foreground = ${colors.background-alt}
format-offline-background = ${colors.background}
format-offline-padding = 2
format-offline-margin = 1
label-offline = "mpd is off"
format-paused-foreground = ${colors.background-alt}
label-song-maxlen = 50
label-song-ellipsis = true
label-time-foreground = ${colors.background-alt}
[module/xkeyboard]
type = internal/xkeyboard
blacklist-0 = num lock
;label-layout = " %layout%"
label-layout = {{POLYBAR.layouticon}} %layout%
label-layout-foreground = ${colors.purple}
label-layout-padding = 1
label-indicator-foreground = ${colors.red}
; vim:ft=dosini

@ -0,0 +1,2 @@
set preview_images true
set draw_borders true

@ -0,0 +1,81 @@
###########
# Keymaps #
###########
# Prefix is Ctrl-a
set -g prefix C-a
bind C-a send-prefix
unbind C-b
# Vi split pane commands
unbind '"'
unbind %
unbind s
bind v split-window -h
bind s split-window -v
# Moving between panes with vim movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Moving between windows with vim movement keys
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
bind-key C-a last-window
# Resize panes with vim movement keys
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# Reload the tmux config file
bind r source-file ~/.tmux.conf
# Enable vi mode
set-window-option -g mode-keys vi
# Vi mode select and yank
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
bind -T copy-mode-vi v send-keys -X begin-selection
###########
# General #
###########
# Enable mouse control
set -g mouse on
set -g base-index 1
setw -g pane-base-index 1
set -s escape-time 0
########
# Look #
########
# Messaging
set -g message-fg colour14
set -g message-bg black
set -g message-command-fg white
set -g message-command-bg black
# Pane
set -g pane-active-border-style fg=colour8
set -g pane-border-style fg=colour8
# Status bar
set -g status-justify left
set -g status-interval 2
set -g status-bg default
set -g status-fg colour7
set -g status-left ''
set -g status-right '#[fg=colour15,bg=blue] %b %d %Y #[fg=colour15,bg=red] %R '
set -g status-right-length 100
# Window
set -g window-status-format '#[fg=colour249,bg=colour241] #I #[fg=colour249,bg=colour242] #W '
set -g window-status-current-format '#[fg=black,bg=colour15] #I #[fg=black,bg=colour2] #W '

@ -0,0 +1,123 @@
#define alpha #00000000
*.foreground: {{COLORS.foreground}}
*.background: {{COLORS.background}}
*.cursorColor: {{COLORS.cursor}}
*.color0: {{COLORS.color0}}
*.color8: {{COLORS.color8}}
*.color1: {{COLORS.color1}}
*.color9: {{COLORS.color9}}
*.color2: {{COLORS.color2}}
*.color10: {{COLORS.color10}}
*.color3: {{COLORS.color3}}
*.color11: {{COLORS.color11}}
*.color4: {{COLORS.color4}}
*.color12: {{COLORS.color12}}
*.color5: {{COLORS.color5}}
*.color13: {{COLORS.color13}}
*.color6: {{COLORS.color6}}
*.color14: {{COLORS.color14}}
*.color7: {{COLORS.color7}}
*.color15: {{COLORS.color15}}
! General settings
URxvt*saveline: 15000
! Disable scrollbar
URxvt.scrollBar: 0
! Cursor blink
URxvt.cursorBlink: 1
! Geometry
URxvt.geometry: 102x22
! Clipboard
!URxvt.perl-ext-common: default,clipboard
!URxvt.keysym.Shift-Control-C: perl:clipboard:copy
!URxvt.keysym.Shift-Control-V: perl:clipboard:paste
! Font
URxvt.font :xft:{{FONT}}:size={{FONTSIZE}}
URxvt.boldFont :xft:{{FONT}}:Bold:size={{FONTSIZE}}
URxvt.italicFont :xft:{{FONT}}:Bold:size={{FONTSIZE}}
URxvt.letterSpace: 0
URxvt*lineSpace: 0
! Icon
URxvt.iconFile: terminal.svg
! Clickable links
URxvt.url-launcher: /usr/bin/chromium
! Border
URxvt.internalBorder: 18
! Fade
URxvt*fading: 30
! Transparency
! fake
!urxvt*transparent: true
!urxvt*shading: 10
urxvt*depth: 32
! Map CTRL + arrow keys
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Left: \033[1;5D
URxvt.keysym.Control-Right: \033[1;5C
! Font rendering
Xft.autohint: 1
Xft.dpi: 96
Xft.antialias: 1
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.rgba: rgb
Xft.lcdfilter: lcddefault
!!!!!!!!
! Rofi !
!!!!!!!!
! Enable the extended coloring options
rofi.color-enabled: true
rofi.modi: run,window,emoji:~/.bin/rofimoji,ssh
rofi.sidebar-mode: true
! bg fg bg-alt hl-bg hl-fg
rofi.color-window: {{COLORS.background}}, {{COLORS.background}}, alpha, alpha, alpha
rofi.color-normal: alpha, {{COLORS.comment}}, alpha, {{COLORS.currentline}}, {{COLORS.foreground}}
rofi.color-active: alpha, {{COLORS.green}}, alpha, {{COLORS.currentline}}, {{COLORS.green}}
rofi.color-urgent: alpha, {{COLORS.red}}, alpha, {{COLORS.currentline}}, {{COLORS.red}}
rofi.fake-transparency: false
rofi.hide-scrollbar: true
rofi.font: {{FONT}} {{FONTSIZE}}
rofi.separator-style: none
rofi.scrollbar-width: 0
rofi.location: 1
rofi.yoffset: 40
rofi.xoffset: 24
rofi.padding: 18
rofi.lines: 18
rofi.eh: 1
rofi.width: 400
rofi.bw: 0
rofi.terminal: urxvt
rofi.ssh-client: ssh
rofi.ssh-command: {terminal} -e {ssh-client} {host}
rofi.run-command: {cmd}
rofi.run-shell-command: {terminal} -e {cmd}
rofi.disable-history: false
rofi.levenshtein-sort: false
rofi.case-sensitive: false
rofi.auto-select: false
rofi.parse-hosts: false

@ -0,0 +1,6 @@
[[ -f ~/.Xdefaults ]] && xrdb -merge -I $HOME ~/.Xdefaults
export TERMINAL=urxvt
export EDITOR=nvim
exec i3

@ -0,0 +1,59 @@
# Zathura configuration file
# See man `man zathurarc'
# Open document in fit-width mode by default
set adjust-open "best-fit"
# One page per row by default
set pages-per-row 1
# Stop at page boundries
set scroll-page-aware "true"
set smooth-scroll "true"
set scroll-full-overlap 0.01
# Zoom settings
set zoom-min 10
set guioptions "s"
# Colors and font
set font "{{FONT}} {{FONTSIZE}}"
set default-bg "{{COLORS.background}}"
set default-fg "{{COLORS.foreground}}"
set statusbar-bg "{{COLORS.lightbackground}}"
set statusbar-fg "{{COLORS.foreground}}"
set inputbar-bg "{{COLORS.lightbackground}}"
set inputbar-fg "{{COLORS.foreground}}"
set notification-bg "{{COLORS.cyan}}"
set notification-fg "{{COLORS.background}}"
set notification-error-bg "{{COLORS.red}}"
set notification-error-fg "{{COLORS.foreground}}"
set notification-warning-bg "{{COLORS.yellow}}"
set notification-warning-fg "{{COLORS.background}}"
set highlight-color "{{COLORS.yellow}}"
set highlight-active-color "{{COLORS.green}}"
set completion-bg "{{COLORS.background}}"
set completion-fg "{{COLORS.foreground}}"
set completion-highlight-bg "{{COLORS.yellow}}"
set completion-highlight-fg "{{COLORS.background}}"
set recolor true
set recolor-keephue false
set recolor-darkcolor "{{COLORS.foreground}}"
set recolor-lightcolor "{{COLORS.background}}"
set render-loading false
set scroll-step 50
set selection-clipboard clipboard

@ -0,0 +1,157 @@
# Skip all this for non-interactive shells
[[ -z "$PS1" ]] && return
#########
# zplug #
#########
export ZPLUG_HOME=~/.zplug
source $ZPLUG_HOME/init.zsh
zplug 'zplug/zplug', hook-build:'zplug --self-manage'
# Set the priority when loading
# e.g., zsh-syntax-highlighting must be loaded
# after executing compinit command and sourcing other plugins
# (If the defer tag is given 2 or above, run after compinit command)
zplug "zsh-users/zsh-syntax-highlighting", defer:2
# Manage local plugins
# zplug "~/.zsh", from:local
# Theme
# zplug "dracula/zsh", as:theme
# zplug "marszall87/nodeys-zsh-theme", as:theme
zplug "themes/frisk", as:theme, from:oh-my-zsh
# Plugins
zplug "zsh-users/zsh-autosuggestions"
zplug "zsh-users/zsh-history-substring-search"
zplug "zsh-users/zsh-completions"
zplug "laurenkt/zsh-vimto"
# zplug "paulmelnikow/zsh-startup-timer"
# zplug "lib/nvm", from:oh-my-zsh
# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
printf "Install? [y/N]: "
if read -q; then
echo; zplug install
fi
fi
# Then, source plugins and add commands to $PATH
zplug load
################
# Zsh settings #
################
# Vi mode
bindkey -v
export KEYTIMEOUT=1
# backspace and ^h working even after
# returning from command mode
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
# ctrl-w removed word backwards
bindkey '^w' backward-kill-word
# ctrl-r starts searching history backward
bindkey '^r' history-incremental-search-backward
# History
HISTFILE="$HOME/.zsh_history"
HISTSIZE=10000000
SAVEHIST=$HISTSIZE
setopt INC_APPEND_HISTORY
setopt HIST_IGNORE_SPACE
setopt SHARE_HISTORY
setopt HIST_IGNORE_ALL_DUPS
setopt HIST_REDUCE_BLANKS
# Other options
# Prompts for confirmation after 'rm *' etc
setopt RM_STAR_WAIT
#Background processes aren't killed on exit of shell
setopt AUTO_CONTINUE
# Dont write over existing files with >, use >! instead
setopt NOCLOBBER
# ls Colors
LS_COLORS='rs=0:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:tw=30;42:ow=34;42:st=37;44:ex=01;32:';
export LS_COLORS
# Aliases
alias s="sudo"
alias ls="ls --color -F"
alias ll="ls --color -lh"
alias mkdir='mkdir -p'
alias dmesg='dmesg --ctime'
alias cd..='cd ..'
# Completion
zmodload zsh/complist
autoload -Uz compinit
compinit
zstyle :compinstall filename '${HOME}/.zshrc'
zstyle ':completion:*:pacman:*' force-list always
zstyle ':completion:*:*:pacman:*' menu yes select
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
# Completion selection by menu for kill
zstyle ':completion:*:*:kill:*' menu yes select
zstyle ':completion:*:kill:*' force-list always
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
zstyle ':completion:*:*:killall:*' menu yes select
zstyle ':completion:*:killall:*' force-list always
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path ~/.zsh/cache
# Calculator
# autoload zcalc
# Keybindings
# bindkey "^[[A" history-beginning-search-backward
# bindkey "^[[B" history-beginning-search-forward
bindkey '^[[A' history-substring-search-up
bindkey '^[[B' history-substring-search-down
###############
# Environment #
###############
# bin
export PATH=/home/ianmethyst/.local/bin:$PATH
# fzf
export FZF_DEFAULT_COMMAND='ag -g ""'
export FZF_CTRL_T_COMMAND="$FZF_DEFAULT_COMMAND"
# Keychain
eval "$(keychain --eval --agents gpg,ssh --quiet)"
# fnm
export PATH=/home/ianmethyst/.fnm:$PATH
eval "`fnm env --multi`"
# NVM
#export NODE_OPTIONS="--max-old-space-size=1024"
#export NVM_DIR="$HOME/.nvm"
#[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
#[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
# Base 16
#BASE16_SHELL_SET_BACKGROUND=false
#BASE16_SHELL=$HOME/.config/base16-shell/
#[ -n "$PS1" ] && [ -s $BASE16_SHELL/profile_helper.sh ] && eval "$($BASE16_SHELL/profile_helper.sh)"

@ -0,0 +1,32 @@
#!/bin/bash
FONT="Droid Sans Mono"
ICONFONT="Noto Color Emoji"
FONTSIZE="10"
declare -A POLYBAR
POLYBAR=(\
[modulesleft]="i3" \
[modulescenter]="" \
[modulesright]="eth wifi cpu memory volume batteryemoji time date xkeyboard" \
[textoffset]="2" \
[iconfontscale]="8" \
[antialias]="true" \
[bottom]="false" \
[height]="32" \
[i3label]="%icon%" \
[wifidev]="wlp3s0" \
[wifiicon]="📡" \
[ethdev]="enp2s0" \
[ethicon]="🔌" \
[cpuicon]="💻" \
[ramicon]="🧠" \
[dateicon]="📅" \
[timeicon]="🕖" \
[volumeicon]="🔊" \
[muteicon]="🔈" \
[layouticon]="⌨️" \
[chargingicon]="🔋⬆️" \
[fullicon]="🔋" \
[dischargingicon]="🔋⬇️" \
)

@ -0,0 +1,32 @@
#!/bin/bash
FONT="Iosevka"
ICONFONT="Noto Color Emoji"
FONTSIZE="10"
declare -A POLYBAR
POLYBAR=(\
[modulesleft]="i3" \
[modulescenter]="" \
[modulesright]="eth wifi cpu memory volume batteryemoji time date xkeyboard" \
[textoffset]="2" \
[iconfontscale]="8" \
[antialias]="true" \
[bottom]="false" \
[height]="32" \
[i3label]="%icon%" \
[wifidev]="wlp3s0" \
[wifiicon]="📡" \
[ethdev]="enp2s0" \
[ethicon]="🔌" \
[cpuicon]="💻" \
[ramicon]="🧠" \
[dateicon]="📅" \
[timeicon]="🕖" \
[volumeicon]="🔊" \
[muteicon]="🔈" \
[layouticon]="⌨️" \
[chargingicon]="🔋⬆️" \
[fullicon]="🔋" \
[dischargingicon]="🔋⬇️" \
)

@ -0,0 +1,32 @@
#!/bin/bash
FONT="Misc Tamsyn"
ICONFONT="Wuncon Siji"
FONTSIZE="10.5"
declare -A POLYBAR
POLYBAR=(\
[modulesleft]="i3" \
[modulescenter]="cpu memory" \
[modulesright]="eth wifi volume battery time date xkeyboard" \
[textoffset]="2" \
[iconfontscale]="1" \
[antialias]="false" \
[bottom]="true" \
[height]="28" \
[i3label]="%icon%" \
[wifidev]="wlp3s0" \
[wifiicon]="" \
[ethdev]="enp2s0" \
[ethicon]="" \
[cpuicon]="CPU:" \
[ramicon]="RAM:" \
[dateicon]="" \
[timeicon]="" \
[volumeicon]="" \
[muteicon]="" \
[layouticon]="" \
[chargingicon]="" \
[fullicon]="" \
[dischargingicon]="" \
)
Loading…
Cancel
Save