commit 6e24a7bd6e23fa2fa421a07072285c2acadc9eb4 Author: Ian Mancini Date: Fri Sep 6 00:42:08 2019 -0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dc80375 --- /dev/null +++ b/.gitignore @@ -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 diff --git a/colors/darkchalk b/colors/darkchalk new file mode 100644 index 0000000..2437b9c --- /dev/null +++ b/colors/darkchalk @@ -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" diff --git a/colors/dracula b/colors/dracula new file mode 100644 index 0000000..4ef7f41 --- /dev/null +++ b/colors/dracula @@ -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" diff --git a/colors/linux b/colors/linux new file mode 100644 index 0000000..047819c --- /dev/null +++ b/colors/linux @@ -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" diff --git a/colors/nord b/colors/nord new file mode 100644 index 0000000..4495028 --- /dev/null +++ b/colors/nord @@ -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" diff --git a/colors/solarized-dark b/colors/solarized-dark new file mode 100644 index 0000000..12bae8d --- /dev/null +++ b/colors/solarized-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" diff --git a/colors/solarized-light b/colors/solarized-light new file mode 100644 index 0000000..9e9166b --- /dev/null +++ b/colors/solarized-light @@ -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" diff --git a/config b/config new file mode 100644 index 0000000..7f6f05e --- /dev/null +++ b/config @@ -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" diff --git a/post.sh b/post.sh new file mode 100644 index 0000000..8279b02 --- /dev/null +++ b/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 & diff --git a/pre.sh b/pre.sh new file mode 100644 index 0000000..6982c14 --- /dev/null +++ b/pre.sh @@ -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/* diff --git a/template/bash/.bashrc b/template/bash/.bashrc new file mode 100755 index 0000000..3231953 --- /dev/null +++ b/template/bash/.bashrc @@ -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 +# 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 !! 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\] " diff --git a/template/beets/.config/beets/config.yaml b/template/beets/.config/beets/config.yaml new file mode 100755 index 0000000..837e6b2 --- /dev/null +++ b/template/beets/.config/beets/config.yaml @@ -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 diff --git a/template/beets/.config/beets/discogs_token.json b/template/beets/.config/beets/discogs_token.json new file mode 100755 index 0000000..91d37a7 --- /dev/null +++ b/template/beets/.config/beets/discogs_token.json @@ -0,0 +1 @@ +{"token": "ipboqWCBLVhOdjnYnKIimttxAlMoJFLDgdPjrdvn", "secret": "MKQDTyVUEzNeVppEaUJLSJGoRjDOylXZekSLZhfG"} \ No newline at end of file diff --git a/template/beets/.config/beets/state.pickle b/template/beets/.config/beets/state.pickle new file mode 100755 index 0000000..5ea4df4 --- /dev/null +++ b/template/beets/.config/beets/state.pickle @@ -0,0 +1,5 @@ +(dp0 +S'tagprogress' +p1 +(dp2 +s. \ No newline at end of file diff --git a/template/compton/.config/compton/compton.conf b/template/compton/.config/compton/compton.conf new file mode 100755 index 0000000..da68205 --- /dev/null +++ b/template/compton/.config/compton/compton.conf @@ -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; diff --git a/template/dunst/.config/dunst/dunstrc b/template/dunst/.config/dunst/dunstrc new file mode 100755 index 0000000..b44e51b --- /dev/null +++ b/template/dunst/.config/dunst/dunstrc @@ -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 diff --git a/template/feh/.config/feh/keys b/template/feh/.config/feh/keys new file mode 100755 index 0000000..2256c78 --- /dev/null +++ b/template/feh/.config/feh/keys @@ -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 diff --git a/template/fontconfig/.config/fontconfig/fonts.conf b/template/fontconfig/.config/fontconfig/fonts.conf new file mode 100755 index 0000000..f4352d4 --- /dev/null +++ b/template/fontconfig/.config/fontconfig/fonts.conf @@ -0,0 +1,82 @@ + + + + + + + true + + + + + lcddefault + + + + true + + + + + + Icons + + + + + Noto Color Emoji + + + + + sans-serif + + Source Sans Pro + + + + serif + + Noto Serif + + + + monospace + + Source Code Pro + + + + ~/.fonts + + + rgb + + + + + true + + + + + hintslight + + + + + true + + + diff --git a/template/gpg/.gnupg/gpg-agent.conf b/template/gpg/.gnupg/gpg-agent.conf new file mode 100755 index 0000000..169bd73 --- /dev/null +++ b/template/gpg/.gnupg/gpg-agent.conf @@ -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 diff --git a/template/gpg/.gnupg/gpg.conf b/template/gpg/.gnupg/gpg.conf new file mode 100755 index 0000000..d53cb13 --- /dev/null +++ b/template/gpg/.gnupg/gpg.conf @@ -0,0 +1 @@ +use-agent diff --git a/template/i3/.config/i3/config b/template/i3/.config/i3/config new file mode 100755 index 0000000..a8dc87a --- /dev/null +++ b/template/i3/.config/i3/config @@ -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 diff --git a/template/mpd/.config/mpd/mpd.conf b/template/mpd/.config/mpd/mpd.conf new file mode 100755 index 0000000..1e1848c --- /dev/null +++ b/template/mpd/.config/mpd/mpd.conf @@ -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" +} + diff --git a/template/ncmpcpp/.ncmpcpp/config b/template/ncmpcpp/.ncmpcpp/config new file mode 100755 index 0000000..d33ee7d --- /dev/null +++ b/template/ncmpcpp/.ncmpcpp/config @@ -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 = "+|" diff --git a/template/newsboat/.newsboat/urls b/template/newsboat/.newsboat/urls new file mode 100644 index 0000000..84308dc --- /dev/null +++ b/template/newsboat/.newsboat/urls @@ -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/ diff --git a/template/nvim/.config/nvim/init.vim b/template/nvim/.config/nvim/init.vim new file mode 100755 index 0000000..3889be4 --- /dev/null +++ b/template/nvim/.config/nvim/init.vim @@ -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 za + +" Movement +nnoremap j gj +nnoremap k gk + +" Turn off search highlight +nnoremap :nohlsearch + +" Session save +nnoremap s :mksession + +" Make p in Visual mode replace the selected text with the yank register +vnoremap p :let current_reg = @"gvdi=current_reg + +" :W sudo saves the file +command W w !sudo tee % > /dev/null + +" Completion with tab +inoremap pumvisible() ? "\" : "\" +inoremap pumvisible() ? "\" : "\" + +" NERD Tree +map :NERDTreeToggle + +" Ale +nmap aj :ALENext +nmap ak :ALEPrevious + +" fzf +nnoremap :Files + +" ############# +" # 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 mappings. +imap (neosnippet_expand_or_jump) +smap (neosnippet_expand_or_jump) +xmap (neosnippet_expand_target) + +" SuperTab like snippets behavior. +" Note: It must be "imap" and "smap". It uses mappings. +"imap +" \ pumvisible() ? "\" : +" \ neosnippet#expandable_or_jumpable() ? +" \ "\(neosnippet_expand_or_jump)" : "\" +smap neosnippet#expandable_or_jumpable() ? +\ "\(neosnippet_expand_or_jump)" : "\" + + +" For conceal markers. +"if has('conceal') +" set conceallevel=2 concealcursor=niv +"endif + +let g:neosnippet#snippets_directory='~/.config/nvim/snippets' diff --git a/template/nvim/.config/nvim/snippets/javascript.snip b/template/nvim/.config/nvim/snippets/javascript.snip new file mode 100644 index 0000000..c6f6c3d --- /dev/null +++ b/template/nvim/.config/nvim/snippets/javascript.snip @@ -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} diff --git a/template/polybar/.config/polybar/config b/template/polybar/.config/polybar/config new file mode 100755 index 0000000..8786829 --- /dev/null +++ b/template/polybar/.config/polybar/config @@ -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-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 = "{{POLYBAR.wifiicon}} %essid% (%local_ip%)" +label-connected-padding = 1 +label-connected-margin = 0 +label-connected-foreground = ${colors.green} + +format-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 = "{{POLYBAR.ethicon}} %local_ip%" +label-connected-padding = 1 +label-connected-margin = 0 +label-connected-foreground = ${colors.green} + +format-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 = "{{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 = +label-charging = %percentage%% +format-charging-foreground = ${colors.green} +format-charging-padding = 1 + +format-full = "" +label-full = " %percentage%% " +format-full-foreground= ${colors.green} +format-full-padding = 1 + +format-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 = {{POLYBAR.chargingicon}} %percentage%% +format-charging-foreground = ${colors.green} +format-charging-padding = 1 + +format-full = "" +label-full = "{{POLYBAR.fullicon}} %percentage%% " +format-full-foreground= ${colors.green} +format-full-padding = 1 + +format-discharging = +label-discharging = "{{POLYBAR.dischargingicon}} %percentage%%" +format-discharging-foreground = ${colors.yellow} +format-discharging-padding = 1 + +[module/mpd] +type = internal/mpd + +format-online = +format-online-spacing = 0 +format-online-padding = 2 +format-online-margin = 1 +format-online-background = ${colors.background} + +format-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 diff --git a/template/ranger/.config/ranger/rc.conf b/template/ranger/.config/ranger/rc.conf new file mode 100755 index 0000000..7edc43b --- /dev/null +++ b/template/ranger/.config/ranger/rc.conf @@ -0,0 +1,2 @@ +set preview_images true +set draw_borders true diff --git a/template/tmux/.tmux.conf b/template/tmux/.tmux.conf new file mode 100755 index 0000000..21e9f58 --- /dev/null +++ b/template/tmux/.tmux.conf @@ -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 ' diff --git a/template/x/.Xdefaults b/template/x/.Xdefaults new file mode 100755 index 0000000..fbae4e5 --- /dev/null +++ b/template/x/.Xdefaults @@ -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 diff --git a/template/x/.xinitrc b/template/x/.xinitrc new file mode 100755 index 0000000..1e78c64 --- /dev/null +++ b/template/x/.xinitrc @@ -0,0 +1,6 @@ +[[ -f ~/.Xdefaults ]] && xrdb -merge -I $HOME ~/.Xdefaults + +export TERMINAL=urxvt +export EDITOR=nvim + +exec i3 diff --git a/template/zathura/.config/zathura/zathurarc b/template/zathura/.config/zathura/zathurarc new file mode 100755 index 0000000..e281721 --- /dev/null +++ b/template/zathura/.config/zathura/zathurarc @@ -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 diff --git a/template/zsh/.zshrc b/template/zsh/.zshrc new file mode 100755 index 0000000..30bfbd8 --- /dev/null +++ b/template/zsh/.zshrc @@ -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 + +# Don’t 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)" diff --git a/themes/droid b/themes/droid new file mode 100644 index 0000000..d653d4b --- /dev/null +++ b/themes/droid @@ -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]="🔋⬇️" \ +) diff --git a/themes/iosevka b/themes/iosevka new file mode 100644 index 0000000..0a4959c --- /dev/null +++ b/themes/iosevka @@ -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]="🔋⬇️" \ +) diff --git a/themes/tamsyn b/themes/tamsyn new file mode 100644 index 0000000..00ba36b --- /dev/null +++ b/themes/tamsyn @@ -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]="" \ +)