From e900c217c1e50a4067384c9bb3fe43dff61986c6 Mon Sep 17 00:00:00 2001 From: Mitsuo Tokumori Date: Fri, 24 Nov 2023 00:31:06 -0500 Subject: Restructure dirs to mimic XDG base dirs Non XDG base directories have a leading '_'. --- .gitmodules | 2 +- Xorg/xbindkeysrc | 177 ------- Xorg/xinitrc | 71 --- _minimal/README.txt | 1 + _windows/README.txt | 1 + .../powershell/Microsoft.PowerShell_profile.ps1 | 19 + bash/bash_aliases | 81 --- bash/bash_profile | 5 - bash/bashrc | 160 ------ bash/inputrc | 10 - bash/profile | 12 - code/README.txt | 2 + config/bash/bash_aliases | 81 +++ config/bash/bash_profile | 5 + config/bash/bashrc | 160 ++++++ config/bash/inputrc | 10 + config/bash/profile | 12 + config/git/config | 13 + config/git/ignore | 7 + config/gtk-3.0/settings.ini | 15 + config/intellijidea/ideavimrc | 51 ++ config/locale.conf | 5 + config/mpv/mpv.conf | 5 + config/nvim/colors/mac_classic.vim | 226 ++++++++ config/nvim/ftplugin/tex.vim | 1 + config/nvim/init.vim | 193 +++++++ config/nvim/pack/mitsuo/Readme.txt | 1 + config/nvim/pack/mitsuo/start/fun/Readme.txt | 1 + config/nvim/pack/mitsuo/start/fun/plugin/fun.vim | 121 +++++ config/nvim/pack/mitsuo/start/vim-commentary | 1 + config/pandoc/linuxcolors_style.html | 188 +++++++ config/ssh/Readme.txt | 8 + config/ssh/config | 9 + config/ssh/sshd_config | 117 ++++ config/tmux/tmux.conf | 63 +++ config/vim/fun.vim | 89 ++++ config/vim/pack/mitsuo/README.md | 12 + config/vim/pack/mitsuo/nerdtree | 1 + config/vim/pack/mitsuo/vim-fugitive | 1 + config/vim/viminfo | 31 ++ config/vim/vimrc | 332 ++++++++++++ config/vim/vimrc_windows | 10 + config/vscode/Readme.adoc | 7 + config/vscode/keybindings.json | 58 ++ config/vscode/settings.json | 14 + config/xorg/xbindkeysrc | 177 +++++++ config/xorg/xinitrc | 71 +++ config/zathura/zathurarc | 59 +++ extra/20-libinput.conf | 12 - extra/applications.txt | 51 -- extra/archlinuxpackages.txt | 159 ------ extra/newdebian | 199 ------- extra/qtcurvetestsettings.qtcurve | 165 ------ git/config | 13 - git/git-prompt.sh | 589 --------------------- git/ignore | 7 - local/bin/git-prompt.sh | 589 +++++++++++++++++++++ local/share/applications/README.txt | 1 + local/share/applications/img.desktop | 5 + local/share/applications/text.desktop | 4 + minimal/README.txt | 1 - mpv/mpv.conf | 5 - nvim/colors/mac_classic.vim | 226 -------- nvim/ftplugin/tex.vim | 1 - nvim/init.vim | 193 ------- nvim/pack/mitsuo/Readme.txt | 1 - nvim/pack/mitsuo/start/fun/Readme.txt | 1 - nvim/pack/mitsuo/start/fun/plugin/fun.vim | 121 ----- nvim/pack/mitsuo/start/vim-commentary | 1 - other/ideavimrc | 51 -- other/mpd/mpd.conf | 425 --------------- other/ncmpc/config | 186 ------- other/ncmpc/keys | 23 - pandoc/linuxcolors_style.html | 188 ------- ssh/Readme.txt | 8 - ssh/config | 9 - ssh/sshd_config | 117 ---- tmux/tmux.conf | 63 --- vim/fun.vim | 89 ---- vim/pack/mitsuo/README.md | 12 - vim/pack/mitsuo/nerdtree | 1 - vim/pack/mitsuo/vim-fugitive | 1 - vim/viminfo | 31 -- vim/vimrc | 332 ------------ vim/vimrc_windows | 10 - vscode/Readme.adoc | 7 - vscode/keybindings.json | 58 -- vscode/settings.json | 14 - .../powershell/Microsoft.PowerShell_profile.ps1 | 19 - zathura/zathurarc | 59 --- 90 files changed, 2778 insertions(+), 3965 deletions(-) delete mode 100644 Xorg/xbindkeysrc delete mode 100644 Xorg/xinitrc create mode 100644 _minimal/README.txt create mode 100644 _windows/README.txt create mode 100644 _windows/powershell/Microsoft.PowerShell_profile.ps1 delete mode 100644 bash/bash_aliases delete mode 100644 bash/bash_profile delete mode 100644 bash/bashrc delete mode 100644 bash/inputrc delete mode 100644 bash/profile create mode 100644 code/README.txt create mode 100644 config/bash/bash_aliases create mode 100644 config/bash/bash_profile create mode 100644 config/bash/bashrc create mode 100644 config/bash/inputrc create mode 100644 config/bash/profile create mode 100644 config/git/config create mode 100644 config/git/ignore create mode 100644 config/gtk-3.0/settings.ini create mode 100644 config/intellijidea/ideavimrc create mode 100644 config/locale.conf create mode 100644 config/mpv/mpv.conf create mode 100644 config/nvim/colors/mac_classic.vim create mode 100644 config/nvim/ftplugin/tex.vim create mode 100644 config/nvim/init.vim create mode 100644 config/nvim/pack/mitsuo/Readme.txt create mode 100644 config/nvim/pack/mitsuo/start/fun/Readme.txt create mode 100644 config/nvim/pack/mitsuo/start/fun/plugin/fun.vim create mode 160000 config/nvim/pack/mitsuo/start/vim-commentary create mode 100644 config/pandoc/linuxcolors_style.html create mode 100644 config/ssh/Readme.txt create mode 100644 config/ssh/config create mode 100644 config/ssh/sshd_config create mode 100644 config/tmux/tmux.conf create mode 100644 config/vim/fun.vim create mode 100644 config/vim/pack/mitsuo/README.md create mode 160000 config/vim/pack/mitsuo/nerdtree create mode 160000 config/vim/pack/mitsuo/vim-fugitive create mode 100644 config/vim/viminfo create mode 100644 config/vim/vimrc create mode 100644 config/vim/vimrc_windows create mode 100644 config/vscode/Readme.adoc create mode 100644 config/vscode/keybindings.json create mode 100644 config/vscode/settings.json create mode 100644 config/xorg/xbindkeysrc create mode 100644 config/xorg/xinitrc create mode 100644 config/zathura/zathurarc delete mode 100644 extra/20-libinput.conf delete mode 100644 extra/applications.txt delete mode 100644 extra/archlinuxpackages.txt delete mode 100644 extra/newdebian delete mode 100644 extra/qtcurvetestsettings.qtcurve delete mode 100644 git/config delete mode 100644 git/git-prompt.sh delete mode 100644 git/ignore create mode 100644 local/bin/git-prompt.sh create mode 100644 local/share/applications/README.txt create mode 100644 local/share/applications/img.desktop create mode 100644 local/share/applications/text.desktop delete mode 100644 minimal/README.txt delete mode 100644 mpv/mpv.conf delete mode 100644 nvim/colors/mac_classic.vim delete mode 100644 nvim/ftplugin/tex.vim delete mode 100644 nvim/init.vim delete mode 100644 nvim/pack/mitsuo/Readme.txt delete mode 100644 nvim/pack/mitsuo/start/fun/Readme.txt delete mode 100644 nvim/pack/mitsuo/start/fun/plugin/fun.vim delete mode 160000 nvim/pack/mitsuo/start/vim-commentary delete mode 100644 other/ideavimrc delete mode 100644 other/mpd/mpd.conf delete mode 100644 other/ncmpc/config delete mode 100644 other/ncmpc/keys delete mode 100644 pandoc/linuxcolors_style.html delete mode 100644 ssh/Readme.txt delete mode 100644 ssh/config delete mode 100644 ssh/sshd_config delete mode 100644 tmux/tmux.conf delete mode 100644 vim/fun.vim delete mode 100644 vim/pack/mitsuo/README.md delete mode 160000 vim/pack/mitsuo/nerdtree delete mode 160000 vim/pack/mitsuo/vim-fugitive delete mode 100644 vim/viminfo delete mode 100644 vim/vimrc delete mode 100644 vim/vimrc_windows delete mode 100644 vscode/Readme.adoc delete mode 100644 vscode/keybindings.json delete mode 100644 vscode/settings.json delete mode 100644 windows/powershell/Microsoft.PowerShell_profile.ps1 delete mode 100644 zathura/zathurarc diff --git a/.gitmodules b/.gitmodules index e247b6c..55d2732 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ [submodule "nvim/pack/mitsuo/start/vim-commentary"] - path = nvim/pack/mitsuo/start/vim-commentary + path = config/nvim/pack/mitsuo/start/vim-commentary url = https://github.com/tpope/vim-commentary diff --git a/Xorg/xbindkeysrc b/Xorg/xbindkeysrc deleted file mode 100644 index 9437ef0..0000000 --- a/Xorg/xbindkeysrc +++ /dev/null @@ -1,177 +0,0 @@ -# For the benefit of emacs users: -*- shell-script -*- -########################### -# xbindkeys configuration # -########################### -# -# Version: 1.8.7 -# -# If you edit this file, do not forget to uncomment any lines -# that you change. -# The pound(#) symbol may be used anywhere for comments. -# -# To specify a key, you can use 'xbindkeys --key' or -# 'xbindkeys --multikey' and put one of the two lines in this file. -# -# The format of a command line is: -# "command to start" -# associated key -# -# -# A list of keys is in /usr/include/X11/keysym.h and in -# /usr/include/X11/keysymdef.h -# The XK_ is not needed. -# -# List of modifier: -# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock), -# Mod3 (CapsLock), Mod4, Mod5 (Scroll). -# - -# The release modifier is not a standard X modifier, but you can -# use it if you want to catch release events instead of press events - -# By defaults, xbindkeys does not pay attention with the modifiers -# NumLock, CapsLock and ScrollLock. -# Uncomment the lines above if you want to pay attention to them. - -#keystate_numlock = enable -#keystate_capslock = enable -#keystate_scrolllock= enable - -# Examples of commands: - -#"xbindkeys_show" -# control+shift + q - -## set directly keycode (here control + f with my keyboard) -#"xterm" -# c:41 + m:0x4 - -## specify a mouse button -#"xterm" -# control + b:2 - -#"xterm -geom 50x20+20+20" -# Shift+Mod2+alt + s -# -## set directly keycode (here control+alt+mod2 + f with my keyboard) -#"xterm" -# alt + c:0x29 + m:4 + mod2 -# -## Control+Shift+a release event starts rxvt -#"rxvt" -# release+control+shift + a -# -## Control + mouse button 2 release event starts rxvt -#"rxvt" -# Control + b:2 + Release - - -# My shortcuts -# ============ - -# Modifier scheme (order: Control,Shift,Alt(Mod1),Super(Mod4)): -# * app-specific: -# * Control, Control+Shift -# * Linux & WM (dwm): -# * Alt, Control+Alt, Shift+Alt -# * user-defined: -# * Mod4 (application launch & audio control) -# * Shift+Mod4 (brightness control & audio control) -# * Control+Mod4 (unused) -# * Alt+Mod4 (unused) -# * unused (4 finger shortcuts): -# * Control+Shift+Alt, Control+Shift+Mod4, Control+Alt+Mod4, Shift+Alt+Mod4 -# * unused (5 finger shortcut): -# * Control+Shift+Alt+Mod4 - -# System -# ------ - -"sudo shutdown 0" - Control+Shift+Alt+Mod4 + s -"sudo reboot" - Control+Shift+Alt+Mod4 + r - -"slock" - Control+Alt + l - -# Audio & brightness control -# Ref.: -# https://wiki.archlinux.org/title/Backlight - -"pactl set-sink-volume '@DEFAULT_SINK@' '+10%'" - Mod4 + k -# XF86AudioRaiseVolume - -"pactl set-sink-volume '@DEFAULT_SINK@' '-10%'" - Mod4 + j -# XF86AudioLowerVolume - -"pactl set-sink-mute '@DEFAULT_SINK@' 'toggle'" - Shift+Mod4 + m -# XF86AudioMute - -"pactl set-source-mute @DEFAULT_SOURCE@ toggle" - Mod4 + m - -# Maybe it'd be a good idea to remove the sudo from here, idk -"sudo xbacklight -inc 10" - Shift+Mod4 + k -# XF86MonBrightnessUp - -"sudo xbacklight -dec 10" - Shift+Mod4 + j -# XF86MonBrightnessDown - -# dwm -# -------------------- - -"dmenu-webshortcuts.sh" - Alt + w - -"dmenu-emojicopy.sh" - Alt + e - -# Launch applications (super + key) -# --------------------------------- - -"st -e tmux" - Mod4 + Return - -"st" - Shift+Mod4 + Return - -"pcmanfm" - Mod4 + e - -"firefox" - Mod4 + w - -"thunderbird" - Mod4 + t - -"goldendict" - Mod4 + g - -"zeal" - Mod4 + h - -# Media control -# ------------- - -"playerctl play-pause" - Mod4 + Down -# XF86AudioPlay -"playerctl stop" - Mod4 + Up -# XF86AudioStop -"playerctl next" - Mod4 + Right -# XF86AudioPrev -"playerctl previous" - Mod4 + Left -# XF86AudioNext - -################################## -# End of xbindkeys configuration # -################################## diff --git a/Xorg/xinitrc b/Xorg/xinitrc deleted file mode 100644 index 6268abc..0000000 --- a/Xorg/xinitrc +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/sh - -# This first part is copied from /etc/X11/xinit/xinitrc -# -# Start X with `$ xstart` -# See startx(1) and xinit(1) - - -userresources=$HOME/.Xresources -usermodmap=$HOME/.Xmodmap -sysresources=/etc/X11/xinit/.Xresources -sysmodmap=/etc/X11/xinit/.Xmodmap - -# merge in defaults and keymaps - -if [ -f $sysresources ]; then - xrdb -merge $sysresources -fi - -if [ -f $sysmodmap ]; then - xmodmap $sysmodmap -fi - -if [ -f "$userresources" ]; then - xrdb -merge "$userresources" -fi - -if [ -f "$usermodmap" ]; then - xmodmap "$usermodmap" -fi - -# Load necessary X11 configuration - -if [ -d /etc/X11/xinit/xinitrc.d ] ; then - for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do - [ -x "$f" ] && . "$f" - done - unset f -fi - -# Setup and start Desktop Environment -# ====================================================================== - -# fcitx (CJK and emoji input method) -export GTK_IM_MODULE=fcitx -export QT_IM_MODULE=fcitx -export XMODIFIERS=@im=fcitx - -xrandr --dpi 144 # Original mac: 72, stupid windows: 96 pulse15: 188 -laptop-xinput_setup.sh -xbindkeys # keyboard shortcuts -setxkbmap -option caps:escape # map CAPSLOCK to ESC - -# Start twm -#twm & -#xclock -geometry 50x50-1+1 & -#xterm -geometry 80x50+494+51 & -#xterm -geometry 80x20+494-0 & -#exec xterm -geometry 80x66+0+0 -name login - -# Start Plasma -# Start KDE Plasma (DE) -#export DESKTOP_SESSION=plasma -#exec startplasma-x11 - -# Start xfce4 -#startxfce4 - -# Start dwm -xautolock -time 10 -locker slock & -exec dwm diff --git a/_minimal/README.txt b/_minimal/README.txt new file mode 100644 index 0000000..3fd50f9 --- /dev/null +++ b/_minimal/README.txt @@ -0,0 +1 @@ +Minimal configuration. Only the most essential non-default stuff here. diff --git a/_windows/README.txt b/_windows/README.txt new file mode 100644 index 0000000..da0c1b4 --- /dev/null +++ b/_windows/README.txt @@ -0,0 +1 @@ +ugly stuff diff --git a/_windows/powershell/Microsoft.PowerShell_profile.ps1 b/_windows/powershell/Microsoft.PowerShell_profile.ps1 new file mode 100644 index 0000000..fc55bac --- /dev/null +++ b/_windows/powershell/Microsoft.PowerShell_profile.ps1 @@ -0,0 +1,19 @@ +# Access this file using $PROFILE +# +# By default, powershell does not allow execution of non-signed scripts +# > Get-ExecutionPolicy +# > Set-ExecutionPolicy -Scope CurrentUser RemoteSigned +# +# Home directory: +# cmd.exe: %USERPROFILE% +# Powershell: $ENV:USERPROFILE +# +# To break long commands in Powershell use a trailing backtick (`) + +# Custom colored prompt +# Ref.: https://stackoverflow.com/questions/6297072 +function prompt +{ + Write-Host "PS $(get-location)`n>" -nonewline -foregroundcolor DarkCyan + return ' ' +} diff --git a/bash/bash_aliases b/bash/bash_aliases deleted file mode 100644 index 899f80f..0000000 --- a/bash/bash_aliases +++ /dev/null @@ -1,81 +0,0 @@ -# Bash aliases. -# -# Previously set environment variables work. -# Aliases are recursive (I.e., an alias inside an alias works). - - -# Shortcuts -# ====================================================================== - -alias e="$EDITOR" -alias aliases="$EDITOR ~/.bash_aliases && source ~/.bash_aliases" -alias evrc='vim ~/.vim/vimrc' -alias ebrc="$EDITOR ~/.bashrc && source ~/.bashrc" -#alias jupyter-lab='jupyter-lab . &> /dev/null &' # Redirect stdout and stderr -# wtf error with Code-OSS -# Ref.: https://stackoverflow.com/a/73317738/7498073 -alias code="code --enable-proposed-api ms-toolsai.jupyter" - - -# Common program's options -# ====================================================================== - -# coretools -alias diff2='diff --color=always -ys' # side by side, tell if file identical -alias diff='diff --color=always' -alias dir='dir --color=auto' -alias grep='grep --color=auto -i' # color case-insensitive -# Sort files by ASCII value (override current locale) -alias ls='ls --color=auto --group-directories-first --classify' -alias la='ls -A' -alias ll='ls -l -h' -alias lla='ll -A' -alias ip='ip --color=auto' - -alias gcc='gcc -g -std=c99 -lm' -alias ed='ed -p "* "' - -# https://missing.csail.mit.edu/2020/version-control/ -alias gitlogpretty='git log --all --graph --decorate --abbrev-commit' -# https://stackoverflow.com/a/15606995/7498073 -alias gitshowtrackedfiles='git ls-tree -r master --name-only' - -# Precautionary -alias rm='rm -I' # Promt before removing more than 3 files -alias mv='mv -i' # Promt before overwrite -alias cp='cp -i' # same - -#alias sqlite3='sqlite3 --safe' # Disables some really cool dot-commands - - -# Other program's options -# ====================================================================== - -#alias feh='feh -g 640x480 -S filename' # opens files sorted by filename -alias feh='feh -g 640x480 --auto-zoom --scale-down --on-last-slide hold' -alias feht='feh -Tthumb_s' -alias fehfx='feh -Tfs --slideshow-delay' -alias fehfrx='feh -Tfs --recursive --slideshow-delay' -alias units='units --verbose' -alias tty-clock='tty-clock -cs' - -# Quick tools -alias pdfreduce='gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook' -alias youtube-dl_info='youtube-dl --get-filename --get-format --get-duration --get-description' -alias youtube-dl_fast='youtube-dl --format "best[height<=720][fps<=?30]" -o '\''%(title)s.%(ext)s'\' -alias mpv_webcam='mpv av://v4l2:/dev/video0' # retrived from the Archwiki -alias mpv_nhk_720p='mpv "https://nhkwlive-ojp.akamaized.net/hls/live/2003459/nhkwlive-ojp-en/index_4M.m3u8"' -alias scan_dpto_europa='hp-scan --mode=color --device=hpaio:/net/OfficeJet_Pro_6970?ip=192.168.0.7' -#alias java8='~/code/openjdk8/jdk8u265-b01/bin/java' -#alias javac8='~/code/openjdk8/jdk8u265-b01/bin/javac' -#alias inf265_jupyterlab='cd /home/mitsuo/docs/courses/2021-1/INF265; \ -# jupyter lab' - - -# Cosmetic -# ====================================================================== -alias :q='cowsay -d "this isn'\''t Vim"' # To scape single quotes in single - # quoted string first finish opened - # string and add the scaped quote - # (\'). -alias :w="cowsay -b \"this isn't Vim\"" diff --git a/bash/bash_profile b/bash/bash_profile deleted file mode 100644 index 5545f00..0000000 --- a/bash/bash_profile +++ /dev/null @@ -1,5 +0,0 @@ -# -# ~/.bash_profile -# - -[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/bash/bashrc b/bash/bashrc deleted file mode 100644 index 7f0abff..0000000 --- a/bash/bashrc +++ /dev/null @@ -1,160 +0,0 @@ -# -# ~/.bashrc: executed by bash(1) for interactive shells -# -# Tinkerer's guide to a prettier and colorful CLI: -# https://wiki.archlinux.org/title/Color_output_in_console - -# If not running interactively, don't do anything -[[ $- != *i* ]] && return - -# TROUBLESHOOTING -# =============== - -export EDITOR=nvim -export VISUAL=nvim -export TERM=xterm-256color # Required for AWS VPS work good when SSHing - -# https://wiki.archlinux.org/title/GnuPG#Configure_pinentry_to_use_the_correct_TTY -export GPG_TTY=$(tty) -gpg-connect-agent updatestartuptty /bye >/dev/null - - -# Bash configuration -# ================== - -# don't put duplicate lines or lines starting with space in the history. -# See bash(1) for more options -HISTCONTROL=ignoreboth - -# append to the history file, don't overwrite it -shopt -s histappend - -# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) -HISTSIZE=1000 -HISTFILESIZE=2000 - -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. (Isn't this the default behaviour?) -shopt -s checkwinsize - -# If set, the pattern "**" used in a pathname expansion context will -# match all files and zero or more directories and subdirectories. -#shopt -s globstar - -# make less more friendly for non-text input files, see lesspipe(1) -#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" - -# colored GCC warnings and errors -#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' - -# Alias definitions. -if [ -f ~/.bash_aliases ]; then - . ~/.bash_aliases -fi - -# Don't forget to install bash-completion - -# Disable CTRL+S and CTRL+Q keybindings -# (used to pause and resume output to terminal) -# See: https://unix.stackexchange.com/a/137846/347754 -# https://unix.stackexchange.com/a/73499/347754 -stty -ixon - - -# Prompt -# ------ - -# - Basic [user@host $pwd]$ -#PS1='[\u@\h \W]\$ ' -# - Blue timestamp and italic green pwd -#PS1='\[\033[34m\]|\D{%H:%M:%S}| \[\033[3;32m\][\w]\[\033[00m\]\n\$ ' - -# - user@host pwd (git prompt) -# Ref.: https://stackoverflow.com/a/15398153/7498073 -source ~/.git-prompt.sh -PS1='\[\033[32m\]\u@\h \[\033[35m\]$MSYSTEM \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ ' - - -# Environment -# =========== - -# FIXME: This is executed twice. One just after login (first bash) in tty. And -# again then again in the terminal emulator. -PATH="$HOME/.local/bin:$PATH" -PATH="$HOME/mahcode/bin:$PATH" -PATH="$HOME/code/tex-live-native/build/bin/x86_64-linux:$PATH" -export PATH - -export MANPATH="$HOME/code/tex-live-native/build/texmf-dist/doc/man:$MANPATH" -export INFOPATH="$HOME/code/tex-live-native/build/texmf-dist/doc/man:$INFOPATH" - -# XDG = Cross-Desktop Group -# For more info see https://wiki.archlinux.org/index.php/XDG_Base_Directory -export XDG_CONFIG_HOME="$HOME/.config" -export XDG_CACHE_HOME="$HOME/.cache" -export XDG_DATA_HOME="$HOME/.local/share" -export XDG_STATE_HOME="$HOME/.local/state" - -export LC_COLLATE=C - -# fcitx5 (input method) -export GTK_IM_MODULE=fcitx -export QT_IM_MODULE=fcitx -export XMODIFIERS=@im=fcitx - -# less -LESS="-i " # ignore case -LESS+="-S " # don't chop long lines -LESS+="--RAW-CONTROL-CHARS" -export LESS - -# better `ls` (and other programs like `tree`) colors -eval "$(dircolors)" - - -# Extra programs -# -------------- - -# tldr -[ -f /usr/bin/tldr ] && export TLDR_CONFIG_DIR="$XDG_CONFIG_HOME" - -# gpg -#export GPG_TTY=$(tty) - -# nvm -#source /usr/share/nvm/init-nvm.sh - -# Pandoc: Bash completition for pandoc -if [ -f /usr/bin/pandoc ]; then - eval "$(pandoc --bash-completion)" -fi - -# Node.js -#export NODE_PATH=~/code/nodejs/node-v16.15.1-linux-x64/lib/node_modules - -# Rust -#. "$HOME/.cargo/env" - -# Ruby on Rails -#https://stackoverflow.com/a/19072136/7498073 -#gempath="$HOME/.local/share/gem/ruby/3.0.0/bin" -#export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" -#if [[ -d $gempath ]]; then -# export PATH="$PATH:$GEM_HOME/bin" -#fi - - -# Fun -# ================ - -# Greeting or salute -if [ -f /usr/games/cowsay ] || [ -f /usr/bin/cowsay ]; then - #cowsay -f flaming-sheep "oh no" # original - #cowsay $(fortune -e 30% debian-hints 20% linux 20% science \ - #cowsay $(fortune 30% debian-hints 20% linux 20% science \ - # 20% off/linux 10% off/black-humor) - cowsay $(fortune) - #fortune ascii-art -else - echo "Welcome back $LOGNAME" -fi diff --git a/bash/inputrc b/bash/inputrc deleted file mode 100644 index f40f4a2..0000000 --- a/bash/inputrc +++ /dev/null @@ -1,10 +0,0 @@ -# Set up "vi input mode" in bash - -set editing-mode vi -$if mode=vi - -set keymap vi-command -Control-l: clear-screen - -set keymap vi-insert -Control-l: clear-screen diff --git a/bash/profile b/bash/profile deleted file mode 100644 index 956694c..0000000 --- a/bash/profile +++ /dev/null @@ -1,12 +0,0 @@ -# ~/.profile: executed by the command interpreter for login shells. -# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login -# exists. - -# the default umask is set in /etc/profile; for setting the umask -# for ssh logins, install and configure the libpam-umask package. -#umask 022 - -# if bash -if [ "$SHELL" = "/bin/bash" ]; then - . ~/.bashrc -fi diff --git a/code/README.txt b/code/README.txt new file mode 100644 index 0000000..b8c12ad --- /dev/null +++ b/code/README.txt @@ -0,0 +1,2 @@ +Files here are configuration files for software that applies such configuration +in compile time. Mainly suckless (https://suckless.org/) software. diff --git a/config/bash/bash_aliases b/config/bash/bash_aliases new file mode 100644 index 0000000..899f80f --- /dev/null +++ b/config/bash/bash_aliases @@ -0,0 +1,81 @@ +# Bash aliases. +# +# Previously set environment variables work. +# Aliases are recursive (I.e., an alias inside an alias works). + + +# Shortcuts +# ====================================================================== + +alias e="$EDITOR" +alias aliases="$EDITOR ~/.bash_aliases && source ~/.bash_aliases" +alias evrc='vim ~/.vim/vimrc' +alias ebrc="$EDITOR ~/.bashrc && source ~/.bashrc" +#alias jupyter-lab='jupyter-lab . &> /dev/null &' # Redirect stdout and stderr +# wtf error with Code-OSS +# Ref.: https://stackoverflow.com/a/73317738/7498073 +alias code="code --enable-proposed-api ms-toolsai.jupyter" + + +# Common program's options +# ====================================================================== + +# coretools +alias diff2='diff --color=always -ys' # side by side, tell if file identical +alias diff='diff --color=always' +alias dir='dir --color=auto' +alias grep='grep --color=auto -i' # color case-insensitive +# Sort files by ASCII value (override current locale) +alias ls='ls --color=auto --group-directories-first --classify' +alias la='ls -A' +alias ll='ls -l -h' +alias lla='ll -A' +alias ip='ip --color=auto' + +alias gcc='gcc -g -std=c99 -lm' +alias ed='ed -p "* "' + +# https://missing.csail.mit.edu/2020/version-control/ +alias gitlogpretty='git log --all --graph --decorate --abbrev-commit' +# https://stackoverflow.com/a/15606995/7498073 +alias gitshowtrackedfiles='git ls-tree -r master --name-only' + +# Precautionary +alias rm='rm -I' # Promt before removing more than 3 files +alias mv='mv -i' # Promt before overwrite +alias cp='cp -i' # same + +#alias sqlite3='sqlite3 --safe' # Disables some really cool dot-commands + + +# Other program's options +# ====================================================================== + +#alias feh='feh -g 640x480 -S filename' # opens files sorted by filename +alias feh='feh -g 640x480 --auto-zoom --scale-down --on-last-slide hold' +alias feht='feh -Tthumb_s' +alias fehfx='feh -Tfs --slideshow-delay' +alias fehfrx='feh -Tfs --recursive --slideshow-delay' +alias units='units --verbose' +alias tty-clock='tty-clock -cs' + +# Quick tools +alias pdfreduce='gs -sDEVICE=pdfwrite -dPDFSETTINGS=/ebook' +alias youtube-dl_info='youtube-dl --get-filename --get-format --get-duration --get-description' +alias youtube-dl_fast='youtube-dl --format "best[height<=720][fps<=?30]" -o '\''%(title)s.%(ext)s'\' +alias mpv_webcam='mpv av://v4l2:/dev/video0' # retrived from the Archwiki +alias mpv_nhk_720p='mpv "https://nhkwlive-ojp.akamaized.net/hls/live/2003459/nhkwlive-ojp-en/index_4M.m3u8"' +alias scan_dpto_europa='hp-scan --mode=color --device=hpaio:/net/OfficeJet_Pro_6970?ip=192.168.0.7' +#alias java8='~/code/openjdk8/jdk8u265-b01/bin/java' +#alias javac8='~/code/openjdk8/jdk8u265-b01/bin/javac' +#alias inf265_jupyterlab='cd /home/mitsuo/docs/courses/2021-1/INF265; \ +# jupyter lab' + + +# Cosmetic +# ====================================================================== +alias :q='cowsay -d "this isn'\''t Vim"' # To scape single quotes in single + # quoted string first finish opened + # string and add the scaped quote + # (\'). +alias :w="cowsay -b \"this isn't Vim\"" diff --git a/config/bash/bash_profile b/config/bash/bash_profile new file mode 100644 index 0000000..5545f00 --- /dev/null +++ b/config/bash/bash_profile @@ -0,0 +1,5 @@ +# +# ~/.bash_profile +# + +[[ -f ~/.bashrc ]] && . ~/.bashrc diff --git a/config/bash/bashrc b/config/bash/bashrc new file mode 100644 index 0000000..7f0abff --- /dev/null +++ b/config/bash/bashrc @@ -0,0 +1,160 @@ +# +# ~/.bashrc: executed by bash(1) for interactive shells +# +# Tinkerer's guide to a prettier and colorful CLI: +# https://wiki.archlinux.org/title/Color_output_in_console + +# If not running interactively, don't do anything +[[ $- != *i* ]] && return + +# TROUBLESHOOTING +# =============== + +export EDITOR=nvim +export VISUAL=nvim +export TERM=xterm-256color # Required for AWS VPS work good when SSHing + +# https://wiki.archlinux.org/title/GnuPG#Configure_pinentry_to_use_the_correct_TTY +export GPG_TTY=$(tty) +gpg-connect-agent updatestartuptty /bye >/dev/null + + +# Bash configuration +# ================== + +# don't put duplicate lines or lines starting with space in the history. +# See bash(1) for more options +HISTCONTROL=ignoreboth + +# append to the history file, don't overwrite it +shopt -s histappend + +# for setting history length see HISTSIZE and HISTFILESIZE in bash(1) +HISTSIZE=1000 +HISTFILESIZE=2000 + +# check the window size after each command and, if necessary, +# update the values of LINES and COLUMNS. (Isn't this the default behaviour?) +shopt -s checkwinsize + +# If set, the pattern "**" used in a pathname expansion context will +# match all files and zero or more directories and subdirectories. +#shopt -s globstar + +# make less more friendly for non-text input files, see lesspipe(1) +#[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)" + +# colored GCC warnings and errors +#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01' + +# Alias definitions. +if [ -f ~/.bash_aliases ]; then + . ~/.bash_aliases +fi + +# Don't forget to install bash-completion + +# Disable CTRL+S and CTRL+Q keybindings +# (used to pause and resume output to terminal) +# See: https://unix.stackexchange.com/a/137846/347754 +# https://unix.stackexchange.com/a/73499/347754 +stty -ixon + + +# Prompt +# ------ + +# - Basic [user@host $pwd]$ +#PS1='[\u@\h \W]\$ ' +# - Blue timestamp and italic green pwd +#PS1='\[\033[34m\]|\D{%H:%M:%S}| \[\033[3;32m\][\w]\[\033[00m\]\n\$ ' + +# - user@host pwd (git prompt) +# Ref.: https://stackoverflow.com/a/15398153/7498073 +source ~/.git-prompt.sh +PS1='\[\033[32m\]\u@\h \[\033[35m\]$MSYSTEM \[\033[33m\]\w\[\033[36m\]`__git_ps1`\[\033[0m\]\n$ ' + + +# Environment +# =========== + +# FIXME: This is executed twice. One just after login (first bash) in tty. And +# again then again in the terminal emulator. +PATH="$HOME/.local/bin:$PATH" +PATH="$HOME/mahcode/bin:$PATH" +PATH="$HOME/code/tex-live-native/build/bin/x86_64-linux:$PATH" +export PATH + +export MANPATH="$HOME/code/tex-live-native/build/texmf-dist/doc/man:$MANPATH" +export INFOPATH="$HOME/code/tex-live-native/build/texmf-dist/doc/man:$INFOPATH" + +# XDG = Cross-Desktop Group +# For more info see https://wiki.archlinux.org/index.php/XDG_Base_Directory +export XDG_CONFIG_HOME="$HOME/.config" +export XDG_CACHE_HOME="$HOME/.cache" +export XDG_DATA_HOME="$HOME/.local/share" +export XDG_STATE_HOME="$HOME/.local/state" + +export LC_COLLATE=C + +# fcitx5 (input method) +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx + +# less +LESS="-i " # ignore case +LESS+="-S " # don't chop long lines +LESS+="--RAW-CONTROL-CHARS" +export LESS + +# better `ls` (and other programs like `tree`) colors +eval "$(dircolors)" + + +# Extra programs +# -------------- + +# tldr +[ -f /usr/bin/tldr ] && export TLDR_CONFIG_DIR="$XDG_CONFIG_HOME" + +# gpg +#export GPG_TTY=$(tty) + +# nvm +#source /usr/share/nvm/init-nvm.sh + +# Pandoc: Bash completition for pandoc +if [ -f /usr/bin/pandoc ]; then + eval "$(pandoc --bash-completion)" +fi + +# Node.js +#export NODE_PATH=~/code/nodejs/node-v16.15.1-linux-x64/lib/node_modules + +# Rust +#. "$HOME/.cargo/env" + +# Ruby on Rails +#https://stackoverflow.com/a/19072136/7498073 +#gempath="$HOME/.local/share/gem/ruby/3.0.0/bin" +#export GEM_HOME="$(ruby -e 'puts Gem.user_dir')" +#if [[ -d $gempath ]]; then +# export PATH="$PATH:$GEM_HOME/bin" +#fi + + +# Fun +# ================ + +# Greeting or salute +if [ -f /usr/games/cowsay ] || [ -f /usr/bin/cowsay ]; then + #cowsay -f flaming-sheep "oh no" # original + #cowsay $(fortune -e 30% debian-hints 20% linux 20% science \ + #cowsay $(fortune 30% debian-hints 20% linux 20% science \ + # 20% off/linux 10% off/black-humor) + cowsay $(fortune) + #fortune ascii-art +else + echo "Welcome back $LOGNAME" +fi diff --git a/config/bash/inputrc b/config/bash/inputrc new file mode 100644 index 0000000..f40f4a2 --- /dev/null +++ b/config/bash/inputrc @@ -0,0 +1,10 @@ +# Set up "vi input mode" in bash + +set editing-mode vi +$if mode=vi + +set keymap vi-command +Control-l: clear-screen + +set keymap vi-insert +Control-l: clear-screen diff --git a/config/bash/profile b/config/bash/profile new file mode 100644 index 0000000..956694c --- /dev/null +++ b/config/bash/profile @@ -0,0 +1,12 @@ +# ~/.profile: executed by the command interpreter for login shells. +# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login +# exists. + +# the default umask is set in /etc/profile; for setting the umask +# for ssh logins, install and configure the libpam-umask package. +#umask 022 + +# if bash +if [ "$SHELL" = "/bin/bash" ]; then + . ~/.bashrc +fi diff --git a/config/git/config b/config/git/config new file mode 100644 index 0000000..a5dd072 --- /dev/null +++ b/config/git/config @@ -0,0 +1,13 @@ +[user] + email = rtokumori@pucp.edu.pe + name = Mitsuo Tokumori +[diff] + # used with $ git difftool + tool = nvim -d + submodule = log +[merge] + tool = nvim -d +[gitweb] + owner = Mitsuo Tokumori +[init] + defaultBranch = master diff --git a/config/git/ignore b/config/git/ignore new file mode 100644 index 0000000..d71d05b --- /dev/null +++ b/config/git/ignore @@ -0,0 +1,7 @@ +# gitconfig file in ~/.config/git/config (if not in ~/.gitconfig) + +# Vim +*.swp + +# KDE +.directory diff --git a/config/gtk-3.0/settings.ini b/config/gtk-3.0/settings.ini new file mode 100644 index 0000000..7033423 --- /dev/null +++ b/config/gtk-3.0/settings.ini @@ -0,0 +1,15 @@ +[Settings] +gtk-application-prefer-dark-theme=false +gtk-button-images=true +gtk-cursor-theme-name=breeze_cursors +gtk-cursor-theme-size=24 +gtk-decoration-layout=icon:minimize,maximize,close +gtk-enable-animations=true +gtk-font-name=Noto Sans, 12 +gtk-icon-theme-name=breeze +gtk-menu-images=true +gtk-modules=colorreload-gtk-module:window-decorations-gtk-module +gtk-primary-button-warps-slider=false +gtk-theme-name=Breeze +gtk-toolbar-style=3 +gtk-xft-dpi=98304 diff --git a/config/intellijidea/ideavimrc b/config/intellijidea/ideavimrc new file mode 100644 index 0000000..c746971 --- /dev/null +++ b/config/intellijidea/ideavimrc @@ -0,0 +1,51 @@ +"" Source your .vimrc +"source ~/.vimrc + +"" -- Suggested options -- +" Show a few lines of context around the cursor. Note that this makes the +" text scroll if you mouse-click near the start or end of the window. +set scrolloff=5 + +" Do incremental searching. +set incsearch + +" Don't use Ex mode, use Q for formatting. +"map Q gq + + +"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t +"" Map \r to the Reformat Code action +"map \r (ReformatCode) + +"" Map d to start debug +"map d (Debug) + +"" Map \b to toggle the breakpoint on the current line +"map \b (ToggleLineBreakpoint) + + +" Find more examples here: https://jb.gg/share-ideavimrc + +""" My stuff +set hlsearch +set ignorecase +set smartcase +set showmode +nnoremap :nohl +nnoremap :tabp +nnoremap :tabn + +""" IdeaVim options +" Join and justify paragraphs/lines +set ideajoin " smartjoin +vnoremap gq :action FillParagraph +" Thank you: https://stackoverflow.com/a/37842786/7498073 +" TIP: Got the action name by listing all actions that contain the word fill +" `:actionlist fill` +"set ideamarks + +""" Plugins +" Couldn't make it to work well :( +" https://github.com/abrookins/WrapToColumn +" vnoremap gq :action com.andrewbrookins.idea.wrap.WrapParagraphAction + diff --git a/config/locale.conf b/config/locale.conf new file mode 100644 index 0000000..b827928 --- /dev/null +++ b/config/locale.conf @@ -0,0 +1,5 @@ +LANG=C.UTF-8 +LC_COLLATE=C.UTF-8 +LC_MEASUREMENT=ja_JP.UTF-8 +LC_TIME=ja_JP.UTF-8 +LC_PAPER=ja_JP.UTF-8 diff --git a/config/mpv/mpv.conf b/config/mpv/mpv.conf new file mode 100644 index 0000000..23b612d --- /dev/null +++ b/config/mpv/mpv.conf @@ -0,0 +1,5 @@ +# ~/.config/mpv/mpv.conf + +# Screenshots +screenshot-template="%f-%P" +screenshot-directory="~/media/Pictures/Screenshots/mpv" diff --git a/config/nvim/colors/mac_classic.vim b/config/nvim/colors/mac_classic.vim new file mode 100644 index 0000000..9382bde --- /dev/null +++ b/config/nvim/colors/mac_classic.vim @@ -0,0 +1,226 @@ +" Vim color scheme +" +" Name: mac_classic.vim +" Maintainer: Drew Neil +" License: public domain +" Version: 0.1 + +" Boilerplate: {{{1 +set background=light +highlight clear + +if exists("syntax_on") + syntax reset +endif + +let g:colors_name = "mac_classic" + + +" Colors: {{{1 +" TODO figure out how to not highlight TODO +" +" #000000 +" #3C4C72 - BLUE/GREY - cursor, rails helpers +" #0000A2 - D.BLUE - numbers & function names +" #1E39F6 - BLUE +" #0066FF - L.BLUE - Comments, TODOs and folds +" #6E79F1 - L.PURPLE - Booleans, Ruby Constants & CSS definitions +" #318495 - BLUE/GREEN - Ruby instance/global/pseudo variables +" #007B22 - D.GREEN - Strings, Labels and code blocks in Markdown +" #00BC41 - L.GREEN - CSS common attributes & ruby interpolation +" #990000 - BURGUNDY - Errors and Warnings +" #D51015 - RED for constants, symbols, numbers +" #E18AC7 - PINK RegularExpressions in Ruby +" #FFCE77 - ORANGE - Incremental Search +" #FFE6BB - L.ORANGE - Search +" #C6DEFF - VL.BLUE Visual, Current StatusLine & AutoComplete selection +" #808080 - Line numbers +" #CFCFCF - VerticalSplit separator +" #DFDFDF - Invisible Characters +" #EFEFEF - LineNumber & Non-Current StatusLine +" #F0F6FF - CursorLine & CursorColumn +" #FFFFFF - WHITE +" }}} + +" GUI: {{{1 +hi Cursor guifg=#FFFFFF ctermfg=15 guibg=#3C4C72 ctermbg=240 +hi Visual guibg=#C6DEFF ctermbg=189 +hi CursorLine guibg=#F0F6FF ctermbg=15 +hi CursorColumn guibg=#F0F6FF ctermbg=15 +hi LineNr guifg=#808080 ctermfg=244 guibg=#EFEFEF ctermbg=7 +hi VertSplit guifg=#FFFFFF ctermfg=15 guibg=#CFCFCF ctermbg=252 gui=NONE +hi MatchParen guifg=#1E39F6 ctermfg=27 guibg=NONE gui=bold +hi Pmenu guibg=#EFEFEF ctermbg=7 +hi PmenuSel guibg=#C6DEFF ctermbg=189 +hi Directory guifg=#D51015 ctermfg=160 gui=bold +hi Folded guifg=#0066FF ctermfg=27 guibg=#FFFFFF ctermbg=15 +" StatusLine: {{{2 +hi StatusLine guifg=#000000 ctermfg=0 guibg=#C6DEFF ctermbg=189 gui=italic +hi StatusLineNC guifg=#000000 ctermfg=0 guibg=#EFEFEF ctermbg=7 gui=NONE + +" Search: {{{2 +" [IncSearch is stronger than Search] +hi IncSearch guifg=NONE guibg=#FFCE77 ctermbg=222 gui=NONE +hi Search guibg=#FFE6BB ctermbg=223 + +" Syntax: {{{1 +hi Normal guifg=#000000 ctermfg=0 guibg=#FFFFFF ctermbg=15 +hi Boolean guifg=#6E79F1 ctermfg=69 gui=bold +hi Character guifg=#D51015 ctermfg=160 gui=bold +hi Comment guifg=#0066FF ctermfg=27 gui=italic +hi Conditional guifg=#1E39F6 ctermfg=27 gui=bold +hi Constant guifg=#D51015 ctermfg=160 gui=bold +hi Define guifg=#1E39F6 ctermfg=27 gui=bold +hi ErrorMsg guifg=#FFFFFF ctermfg=15 guibg=#990000 ctermbg=88 +hi WarningMsg guifg=#FFFFFF ctermfg=15 guibg=#990000 ctermbg=88 +hi Float guifg=#0000A2 ctermfg=19 +hi Function guifg=#0000A2 ctermfg=19 gui=bold +hi Identifier guifg=#1E39F6 ctermfg=27 gui=bold +hi Keyword guifg=#1E39F6 ctermfg=27 gui=bold +hi Label guifg=#007B22 ctermfg=28 +hi Number guifg=#0000A2 ctermfg=19 +hi Operator guifg=#1E39F6 ctermfg=27 gui=bold +hi PreProc guifg=#1E39F6 ctermfg=27 gui=bold +hi Special guifg=#000000 ctermfg=0 +hi Statement guifg=#1E39F6 ctermfg=27 gui=bold +hi StorageClass guifg=#1E39F6 ctermfg=27 gui=bold +hi String guifg=#007B22 ctermfg=28 +hi Title guifg=#000000 ctermfg=0 gui=bold +hi Todo guifg=#0066FF ctermfg=27 gui=inverse,bold,italic +hi Underlined gui=underline + +" Invisible character colors +hi NonText guifg=#DFDFDF ctermfg=253 guibg=#FFFFFF ctermbg=15 +hi SpecialKey guifg=#DFDFDF ctermfg=253 guibg=#FFFFFF ctermbg=15 + +" Diff styles {{{1 +hi diffAdded guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi diffRemoved guifg=#D51015 guibg=#FFFFFF ctermfg=160 ctermbg=15 +hi diffFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15 +hi diffNewFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15 +hi diffLine guifg=#000000 guibg=#FFFFFF ctermfg=0 ctermbg=15 + +hi diffAdd guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi diffChange guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi diffText guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi link diffDelete diffRemoved +" Git styles {{{1 +hi gitcommitFirstLine guifg=#000000 guibg=#FFFFFF ctermfg=0 ctermbg=15 +hi gitcommitSelectedType guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15 +hi link gitcommitSelectedFile gitcommitSelectedType +hi gitcommitDiscardedType guifg=#D51015 guibg=#FFFFFF ctermfg=160 ctermbg=15 +hi link gitcommitDiscardedFile gitcommitDiscardedType +hi gitcommitUntrackedFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15 +" Ruby styles {{{1 +hi rubyClass guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyFunction guifg=#0000A2 ctermfg=19 gui=bold +hi rubyInterpolationDelimiter guifg=#00BC41 ctermfg=35 +hi rubyInterpolation guifg=#00BC41 ctermfg=35 +hi rubySymbol guifg=#D51015 ctermfg=160 gui=bold +hi rubyConstant guifg=#6E79F1 ctermfg=69 gui=bold +hi rubyStringDelimiter guifg=#007B22 ctermfg=28 +hi rubyInstanceVariable guifg=#318495 ctermfg=66 +hi rubyInclude guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyGlobalVariable guifg=#318495 ctermfg=66 +hi rubyRegexp guifg=#E18AC7 ctermfg=176 +hi rubyRegexpAnchor guifg=#E18AC7 ctermfg=176 +hi rubyRegexpQuantifier guifg=#E18AC7 ctermfg=176 +hi rubyRegexpParens guifg=#E18AC7 ctermfg=176 +hi rubyRegexpEscape guifg=#00BC41 ctermfg=35 +hi rubyRegexpCharClass guifg=#00BC41 ctermfg=35 +hi rubyRegexpDelimiter guifg=#E18AC7 ctermfg=176 +hi rubyEscape guifg=#00BC41 ctermfg=35 +hi rubyControl guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyOperator guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyException guifg=#1E39F6 ctermfg=27 gui=bold +hi rubyPseudoVariable guifg=#318495 ctermfg=66 +hi rubyRailsUserClass guifg=#6E79F1 ctermfg=69 gui=bold +hi rubyRailsARAssociationMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi rubyRailsARMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi rubyRailsRenderMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi rubyRailsMethod guifg=#3C4C72 ctermfg=240 gui=bold +hi link erubyComment Comment +hi erubyRailsMethod guifg=#3C4C72 ctermfg=240 gui=bold + +" XML: {{{1 +hi link xmlEndTag xmlTag +" HTML: {{{1 +hi htmlTag guifg=#1E39F6 ctermfg=27 +hi link htmlEndTag htmlTag +hi link htmlTagName htmlTag +hi link htmlArg htmlTag +hi htmlSpecialChar guifg=#D51015 ctermfg=160 gui=bold +hi htmlH1 gui=bold +hi link htmlH2 htmlH1 +hi link htmlH3 htmlH1 +hi link htmlH4 htmlH1 +hi link htmlH5 htmlH1 +hi link htmlH6 htmlH1 + +" JavaScript: {{{1 +hi javaScriptFunction guifg=#1E39F6 ctermfg=27 gui=bold +hi javaScriptFuncName guifg=#318495 ctermfg=66 gui=italic +hi javaScriptLabel guifg=#0000A2 ctermfg=19 gui=bold +hi javaScriptRailsFunction guifg=#3C4C72 ctermfg=240 gui=bold +hi javaScriptType guifg=#318495 ctermfg=66 gui=none +hi javaScriptArgument guifg=#318495 ctermfg=66 gui=italic +hi javaScriptRegexpString guifg=#E18AC7 ctermfg=176 gui=NONE +hi javaScriptSpecial guifg=#00BC41 ctermfg=35 gui=NONE +" NOTE: Syntax Highlighting for javascript doesn't match the +" TextMate version very accurately, because the javascript +" syntax file does not create matches for some items. In +" particular: +" * javaScriptArgument - e.g. function(argument) +" * javaScriptFuncName for object literal style functions - e.g.: +" myFunction: function() { ... } + +" YAML: {{{1 +hi yamlAnchor guifg=#318495 ctermfg=66 +hi yamlAlias guifg=#318495 ctermfg=66 +hi yamlDocumentHeader guibg=#F2F2F2 ctermbg=7 + +" CSS: {{{1 +hi cssTagName gui=bold +hi cssIdentifier gui=italic +hi link cssClassName cssIdentifier +hi cssDefinition guifg=#6E79F1 ctermfg=69 +hi link cssRenderProp cssDefinition +hi link cssTextProp cssDefinition +hi link cssFontProp cssDefinition +hi link cssColorProp cssDefinition +hi link cssBoxProp cssDefinition +hi link cssGeneratedContentProp cssDefinition +hi link cssUIProp cssDefinition +hi cssCommonAttr guifg=#00BC41 ctermfg=35 +hi link cssAttr cssCommonAttr +hi link cssRenderAttr cssCommonAttr +hi link cssTextAttr cssCommonAttr +hi link cssFontAttr cssCommonAttr +hi link cssGeneratedContentAttr cssCommonAttr +hi cssURL guifg=#007B22 ctermfg=28 +hi cssFunctionName guifg=#3C4C72 ctermfg=240 gui=bold +hi cssColor guifg=#D51015 ctermfg=160 gui=bold +hi cssValueLength guifg=#0000A2 ctermfg=19 +hi cssImportant guifg=#1E39F6 ctermfg=27 gui=bold + +" Vimscript: {{{1 +hi vimGroup guifg=#007B22 ctermfg=28 gui=bold +hi link vimHiGroup vimGroup +hi vimCommentTitle guifg=#3C4C72 ctermfg=240 gui=bold +hi helpSpecial guifg=#6E79F1 ctermfg=69 + +" Markdown: {{{1 +hi markdownBold gui=bold +hi markdownItalic gui=italic +hi markdownCode guifg=#007B22 ctermfg=28 +hi link markdownCodeBlock markdownCode + +" Outliner: {{{1 +hi BT1 guifg=#808080 ctermfg=244 gui=italic +hi OL1 guifg=#000000 ctermfg=0 gui=bold +hi OL2 guifg=#0000A2 ctermfg=19 gui=bold +hi OL3 guifg=#007B22 ctermfg=28 gui=bold +hi OL4 guifg=#6E79F1 ctermfg=69 gui=NONE +" Modelines: {{{1 +" vim: nowrap fdm=marker +" }}} diff --git a/config/nvim/ftplugin/tex.vim b/config/nvim/ftplugin/tex.vim new file mode 100644 index 0000000..e005eb1 --- /dev/null +++ b/config/nvim/ftplugin/tex.vim @@ -0,0 +1 @@ +nnoremap :!build-latex.sh % diff --git a/config/nvim/init.vim b/config/nvim/init.vim new file mode 100644 index 0000000..000166a --- /dev/null +++ b/config/nvim/init.vim @@ -0,0 +1,193 @@ +" NeoVim init.vim +" +" Differences with good ol' Vim: +" +" NeoVim has so many of the modern and helpful Vim options on by default. I'll +" remove most of the old Vim configurations that now come by default in NeoVim. +" +" Also NeoVim uses XDG directories by default, keeping a clean directory tree. +" +" NeoVim also allows for this file to be written in Lua. I'll stick to using +" Vim script becuase it has more documentation and is more concise configuring +" Vim options. +" +" Instead of viminfo, NeoVim uses shada files (SHared DAta) (different format). +" See shada-file-name. +" +" For some reason, as of version v0.8.3 of NeoVim, Vim internal codes for shift- +" and control- function keys change in NeoVim. changes to , and +" changes to . See https://github.com/neovim/neovim/issues/7384 +" +" Plugins: There are a lot of ways to install "plug-in"s in Vim. My prefered +" way is using Vim packages, available since Vim version 8. See packages. +" +" Tips: +" * To show navigate help files: +" K " while on an option to see it's documentation +" CTRL-] " navigation while on a Vim help file +" * To re-indent: +" tab->spaces :set tabstop=n :set expandtab :retab +" spaces->tab :set noexpandtab :set tabstop={softtabstop} :retab! +" * To justify: +" To 'justify' comments or block of text (paragraph) use `gq{motion}` or +" `gp{motion}`, where {motion} can be `[/`, `]/`, `ip`, `i{`, `a{`. +" * To see the last page of previous command: +" `g<` +" * Buffer stuff: +" :ls " shows all buffers +" :b N " Go to buffer N (integer) + + +" Settings +" ---------------------------------------------------------------------- + +" Common +colorscheme industry +filetype plugin on + +" Command line: +set cmdheight=1 +set wildmenu +set wildignore+=*.o,.git,*.class +set path+=./**30 " For gf and :find, add all subdirectories relative to + " current file (30 max) to the "search space" + +" Search +set ignorecase +set smartcase + +" Screen +set nonumber +set scrolloff=5 " show a few lines of context +set colorcolumn=+1 " show ruler at position tabstop+1 +set laststatus=2 +" Add buffer number to the default status line with ruler +set statusline=%<%f\ %h%m%r%=b%02n\ \ %-14.(%l,%c%V%)\ %P + +" TODO: move to ftplugin +" TODO: create tags automatically (:!ctags -R . after :w if ft=c) +" Tag Jumping +" Instructions: create tag index (e.g. $ ctags -R .) +" place cursor on tag +" ^] to jump to definition +" g^] if more than 1 definition +" ^T to return (or ^O) + +"set cindent +"set cinoptions=:0,g0 " See C-indenting + + +" Indentation: 4 spaces +" See also: autoindent, smartindent, cindent, indentexpr +set tabstop=4 " Each '\t' takes 8 virtual (screen) columns +set shiftwidth=0 " (Auto)indentation. Also affects: >>, i_C-T, i_C-D +set expandtab " Expand inserted s with +set smartindent " Smart indenting when starting a new line + +" Formatting: See fo-table +set formatoptions+=t " auto-wrap text (when inserting) +set formatoptions+=c " auto-wrap comments (when inserting) +set formatoptions+=q " Allow formatting of comments with "gq" +set formatoptions+=j " Removes comment leader when joining lines +set formatoptions+=l " Don't break long lines that are already typed +set formatoptions+=r " Insert current leader after in Insert mode +set formatoptions+=p " Don't break honorifics like Prof. Smith +set formatoptions+=n " Recognize numbered lists +set formatoptions+=o " Automatically insert the current comment + " leader after `o`. + +" Wrap: Auto-break lines longer than 80 colums +set textwidth=80 +set wrap +set linebreak " Don't break words + +" Mouse +set mouse=a " Enable mouse for all modes + +" Buffers +set hidden " Allow for hidden modified buffers + +" Split +set splitbelow splitright + + +" Mappings +" ---------------------------------------------------------------------- + +let $VIMFILES = split(&rtp, ",")[0] + +map :source $VIMFILES/init.vim +map :e $VIMFILES/init.vim + +map :tabp +map :tabn +map :bNext +map :bnext + +" TODO: move to ftplugin +" C/C++ Programming: +map :w:!clear && make +"map :!./%:r +"map :!./a.out +map :cnext +map :cprev +" "Run cTags" +map rt :!ctags -R . +map :tnext +" Motion to go to beggining of function while cursor is inside +nmap [f [m[{k0 + +" pandoc (& website): +nnoremap mm :w:Md2Html +nmap mM mm:!updatewebsite_zaz + +" asciidoctor: +nnoremap ma :w:!asciidoctor % +nmap mA ma:!updatewebsite_zaz + +" Funcionallity of the following depends on terminal emulator. Needs 8-bit +" input enabled +" for = Alt key combos +" From: https://vim.fandom.com/wiki/Get_Alt_key_to_work_in_terminal +nmap h +nmap j +nmap k +nmap l + +" Go Title Case (and clear highlighted matches) +" Ref.: https://vim.fandom.com +vmap gt :s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g + +" Autoformat JSON jumbled data +" Ref.: https://stackoverflow.com/questions/26214156/how-to-auto-format-json-on-save-in-vim +nnoremap gJ :%!python3 -m json.tool + +" Replaces previous WORD arithmetic expression with result (from Vim +" fandom-wiki) +inoremap diWi=" + + +" Views and Sessions (Window layout and Line folding) +" ---------------------------------------------------------------------- +" It is possible to create folds automatically but idk how to do it. +" :mkview so save them :loadview to load them (zo open one, zc close one, +" zR to open all, zM to close all, zx to restore)) + +" Views saves folds. Sessions saves all windows configuration and layout +" Load Sessions with $ vim -S Session.vim + +" To automatically save and restore views for *.c *.cpp files: +"au BufWinLeave *.c mkview +"au BufWinEnter *.c silent loadview +"au BufWinLeave *.cpp mkview +"au BufWinEnter *.cpp silent loadview + + +" Playground +" ---------- +"autocmd FileType tex nnoremap :!./build.sh % + +"augroup TeX +" autocmd! +" autocmd BufWritePost *.tex !./build.sh % +"augroup END diff --git a/config/nvim/pack/mitsuo/Readme.txt b/config/nvim/pack/mitsuo/Readme.txt new file mode 100644 index 0000000..a9e88cd --- /dev/null +++ b/config/nvim/pack/mitsuo/Readme.txt @@ -0,0 +1 @@ +Vim plugins I use go here. diff --git a/config/nvim/pack/mitsuo/start/fun/Readme.txt b/config/nvim/pack/mitsuo/start/fun/Readme.txt new file mode 100644 index 0000000..2f41d59 --- /dev/null +++ b/config/nvim/pack/mitsuo/start/fun/Readme.txt @@ -0,0 +1 @@ +My special functions :) diff --git a/config/nvim/pack/mitsuo/start/fun/plugin/fun.vim b/config/nvim/pack/mitsuo/start/fun/plugin/fun.vim new file mode 100644 index 0000000..c992f93 --- /dev/null +++ b/config/nvim/pack/mitsuo/start/fun/plugin/fun.vim @@ -0,0 +1,121 @@ +" To call functions use `:call foo()` + +" Echoes longest line number and lenght. +function! LongestLineLength ( ) + let maxlength = 0 + let linenumber= 1 + while linenumber <= line("$") + exe ":".linenumber + let linelength = virtcol("$") + if maxlength < linelength + let maxlength = linelength + let maxlinenumber = linenumber + endif + let linenumber = linenumber+1 + endwhile + +"exe ':0' +"exe 'normal O' +"exe 'normal 0C'.maxlength + exe "normal" . maxlinenumber . "G" + exe ":echo \"" . maxlinenumber . ": " . maxlength . "\"" +endfunction + +command LongestLineLength call LongestLineLength() + + +" Save markdown document and export to pdf using pandoc. +" +" It would be nicer if a default document would be used but I coulnd't made it +" to work even after reading that manual section like 2 times. Also, there are +" variables that are lists of other variables that I don't know how to make them +" work (e.g. geometry=[top=1in, bottom=1in, heightrounded]) +function! Md2Pdf ( ) + exe ":w" + "-N for numbered headers + exe ":! pandoc -o \"" . expand("%:r") . ".pdf\" -t latex --variable classoption=twosides --variable papersize=a4 --variable margin-left=1in --variable margin-right=1in --variable margin-top=1in --variable margin-bottom=1in --variable links-as-notes --variable colorlinks --variable pagestyle=plain --variable documentclass=article -f markdown-implicit_figures \"" . expand("%") . "\"" + echo "pdf saved as \"" . expand("%:p:r") . ".pdf\"" +endfunction + +function! Md2Pdfms ( ) + exe ":w" + exe ":! pandoc -o " . expand("%:r") . ".pdf" . " -t ms -f markdown-implicit_figures \"" . expand("%") . "\"" + echo "pdf saved as " . expand("%:p:r") . ".pdf" +endfunction + +command Md2Pdf call Md2Pdf() +command Md2Pdfms call Md2Pdfms() + + +" Save markdown document and export to html using pandoc +function! Md2Html ( ) + exe ":w" + "exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\"" + exe ":! pandoc --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\"" + echo "html saved as " . expand("%:p:r") . ".html" +endfunction + +command Md2Html call Md2Html() + +" Save markdown as ODT file (.docx is also possible) +function! Md2Odt ( ) + exe ":w" + exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".odt\"" . " \"" . expand("%") . "\"" + echo "ODT saved as " . expand("%:p:r") . ".odt" +endfunction + +command Md2Odt call Md2Odt() + + +" Compiles and Runs a C++ project +" TODO: how to add program's arguments or file redirectioning from command. +function! CompRunProj ( ) + exe ":w" + exe ":! g++ -o " . expand("%:r") . "-g *.cpp" + exe ":! ./" . expand("%:r") +endfunction + +command CompRunProj call CompRunProj() + + +" Function made to give feedback to students code in 1INF01 +" export C code to syntax highlighted pdf +function! C2Pdf ( ) + exe ":set ts=4" + exe ":w" + exe ":ha > %.ps" + exe ":!ps2pdf %.ps" + exe ":!rm %.ps" +endfunction + + +" For printing first export to html and then print using web browser +" Ref.: https://vi.stackexchange.com/questions/12058/printing-unicode-chars +function! ExportHTML (colorscheme="quiet", bg="light") + " Nice colorschemes for printing on paper: quiet, morning, mac_classic + let s:prev_color = g:colors_name + let s:prev_bg = &background + exe "colorscheme" a:colorscheme + exe "set bg=" . a:bg + + exe "TOhtml | w | !xdg-open %" + echo "html export saved as " . expand('%:p') + exe "bd" + + exe "colorscheme" s:prev_color + exe "set bg=" . s:prev_bg +endfunction + +command ExportHTML call ExportHTML() + +" C++ +" Formatting +" Ref.: https://clang.llvm.org/docs/ClangFormat.html +map :pyf /usr/share/clang/clang-format.py +"imap :py3f /usr/share/clang/clang-format.py + +"function! Formatonsave() +" let l:formatdiff = 1 +" pyf /usr/share/clang/clang-format.py +"endfunction +"autocmd BufWritePre *.h,*.hpp,*.cc,*.cpp call Formatonsave() diff --git a/config/nvim/pack/mitsuo/start/vim-commentary b/config/nvim/pack/mitsuo/start/vim-commentary new file mode 160000 index 0000000..e87cd90 --- /dev/null +++ b/config/nvim/pack/mitsuo/start/vim-commentary @@ -0,0 +1 @@ +Subproject commit e87cd90dc09c2a203e13af9704bd0ef79303d755 diff --git a/config/pandoc/linuxcolors_style.html b/config/pandoc/linuxcolors_style.html new file mode 100644 index 0000000..e050698 --- /dev/null +++ b/config/pandoc/linuxcolors_style.html @@ -0,0 +1,188 @@ + diff --git a/config/ssh/Readme.txt b/config/ssh/Readme.txt new file mode 100644 index 0000000..c902d49 --- /dev/null +++ b/config/ssh/Readme.txt @@ -0,0 +1,8 @@ +important considerations for ssh: +- Change port to other than default (specially if exposed) +- Rate limit SSH traffic with a firewall (e.g., ufw) +- Disable password authentication (use RSA) +- Disable root login + +sshd_config goes to /etc/sshd_config in ArchLinux +config goes to ~/.ssh/config diff --git a/config/ssh/config b/config/ssh/config new file mode 100644 index 0000000..7979b64 --- /dev/null +++ b/config/ssh/config @@ -0,0 +1,9 @@ +# global options +#User admin + +# host-specific options +Host example.com + Hostname 123.123.123.123 + #Port 22 + User pocoyo + #IdentityFile ~/path/to/key diff --git a/config/ssh/sshd_config b/config/ssh/sshd_config new file mode 100644 index 0000000..1e8358e --- /dev/null +++ b/config/ssh/sshd_config @@ -0,0 +1,117 @@ +# $OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $ + +# This is the sshd server system-wide configuration file. See +# sshd_config(5) for more information. + +# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin + +# The strategy used for options in the default sshd_config shipped with +# OpenSSH is to specify options with their default value where +# possible, but leave them commented. Uncommented options override the +# default value. + +Port 22 # set a custom port +#AddressFamily any +#ListenAddress 0.0.0.0 +#ListenAddress :: + +#HostKey /etc/ssh/ssh_host_rsa_key +#HostKey /etc/ssh/ssh_host_ecdsa_key +#HostKey /etc/ssh/ssh_host_ed25519_key + +# Ciphers and keying +#RekeyLimit default none + +# Logging +#SyslogFacility AUTH +#LogLevel INFO + +# Authentication: + +#LoginGraceTime 2m +#PermitRootLogin prohibit-password +PermitRootLogin no +#StrictModes yes +#MaxAuthTries 6 +#MaxSessions 10 + +#PubkeyAuthentication yes + +# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2 +# but this is overridden so installations will only check .ssh/authorized_keys +AuthorizedKeysFile .ssh/authorized_keys + +#AuthorizedPrincipalsFile none + +#AuthorizedKeysCommand none +#AuthorizedKeysCommandUser nobody + +# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts +#HostbasedAuthentication no +# Change to yes if you don't trust ~/.ssh/known_hosts for +# HostbasedAuthentication +#IgnoreUserKnownHosts no +# Don't read the user's ~/.rhosts and ~/.shosts files +#IgnoreRhosts yes + +# To disable tunneled clear text passwords, change to no here! +PasswordAuthentication no +#PermitEmptyPasswords no + +# Change to no to disable s/key passwords +KbdInteractiveAuthentication no + +# Kerberos options +#KerberosAuthentication no +#KerberosOrLocalPasswd yes +#KerberosTicketCleanup yes +#KerberosGetAFSToken no + +# GSSAPI options +#GSSAPIAuthentication no +#GSSAPICleanupCredentials yes + +# Set this to 'yes' to enable PAM authentication, account processing, +# and session processing. If this is enabled, PAM authentication will +# be allowed through the KbdInteractiveAuthentication and +# PasswordAuthentication. Depending on your PAM configuration, +# PAM authentication via KbdInteractiveAuthentication may bypass +# the setting of "PermitRootLogin without-password". +# If you just want the PAM account and session checks to run without +# PAM authentication, then enable this but set PasswordAuthentication +# and KbdInteractiveAuthentication to 'no'. +UsePAM yes + +#AllowAgentForwarding yes +#AllowTcpForwarding yes +#GatewayPorts no +#X11Forwarding no +#X11DisplayOffset 10 +#X11UseLocalhost yes +#PermitTTY yes +PrintMotd no # pam does that +#PrintLastLog yes +#TCPKeepAlive yes +#PermitUserEnvironment no +#Compression delayed +#ClientAliveInterval 0 +#ClientAliveCountMax 3 +#UseDNS no +#PidFile /run/sshd.pid +#MaxStartups 10:30:100 +#PermitTunnel no +#ChrootDirectory none +#VersionAddendum none + +# no default banner path +#Banner none + +# override default of no subsystems +Subsystem sftp /usr/lib/ssh/sftp-server + +# Example of overriding settings on a per-user basis +#Match User anoncvs +# X11Forwarding no +# AllowTcpForwarding no +# PermitTTY no +# ForceCommand cvs server diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf new file mode 100644 index 0000000..b171190 --- /dev/null +++ b/config/tmux/tmux.conf @@ -0,0 +1,63 @@ +# Minimal tmux config +# Ref.: https://thevaluable.dev/tmux-config-mouseless/ + +# remap prefix from 'C-b' to 'C-a' +set-option -g prefix C-a +bind-key C-a send-prefix +unbind C-b + +# Start window numbering at 1 +set -g base-index 1 +setw -g pane-base-index 1 + +# Navigate history with vi keybindings +set-window-option -g mode-keys vi +set -g history-limit 10000 + +# From NeoVim advice: +# Fix 'escape-time' from 500ms to 10ms (better experience in Vim) +set-option -sg escape-time 10 +# focus-events (idk what this does) +set-option -g focus-events on + +# Vim friendly tmux config +# Ref.: https://gist.github.com/Lartza/6a7a62466a8a3e436234412d9b1c5066 + +setw -g monitor-activity on +set -g visual-activity on + +# FIXME: https://unix.stackexchange.com/a/131187/347754 +# y and p as in vim +bind Escape copy-mode +unbind p +bind p paste-buffer +bind-key -T copy-mode-vi 'v' send -X begin-selection +bind-key -T copy-mode-vi 'y' send -X copy-selection +#bind-key -T copy-mode-vi 'Space' send -X halfpage-down +#bind-key -T copy-mode-vi 'Bspace' send -X halfpage-up + +# extra commands for interacting with the ICCCM clipboard +#bind C-c run "tmux save-buffer - | xclip -i -sel clipboard" +#bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer" + +# easy-to-remember split pane commands +#bind | split-window -h +#bind - split-window -v +#unbind '"' +#unbind % + +# 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 :+ + +# 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 diff --git a/config/vim/fun.vim b/config/vim/fun.vim new file mode 100644 index 0000000..bd911f9 --- /dev/null +++ b/config/vim/fun.vim @@ -0,0 +1,89 @@ +" Echoes longest line number and lenght. +function! LongestLineLength ( ) + let maxlength = 0 + let linenumber= 1 + while linenumber <= line("$") + exe ":".linenumber + let linelength = virtcol("$") + if maxlength < linelength + let maxlength = linelength + let maxlinenumber = linenumber + endif + let linenumber = linenumber+1 + endwhile + +"exe ':0' +"exe 'normal O' +"exe 'normal 0C'.maxlength + exe "normal" . maxlinenumber . "G" + exe ":echo \"" . maxlinenumber . ": " . maxlength . "\"" +endfunction + +command LongestLineLength call LongestLineLength() + + +" Save markdown document and export to pdf using pandoc. +" +" It would be nicer if a default document would be used but I coulnd't made it +" to work even after reading that manual section like 2 times. Also, there are +" variables that are lists of other variables that I don't know how to make them +" work (e.g. geometry=[top=1in, bottom=1in, heightrounded]) +function! Md2Pdf ( ) + exe ":w" + "-N for numbered headers + exe ":! pandoc -o \"" . expand("%:r") . ".pdf\" -t latex --variable classoption=twosides --variable papersize=a4 --variable margin-left=1in --variable margin-right=1in --variable margin-top=1in --variable margin-bottom=1in --variable links-as-notes --variable colorlinks --variable pagestyle=plain --variable documentclass=article -f markdown-implicit_figures \"" . expand("%") . "\"" + echo "pdf saved as \"" . expand("%:p:r") . ".pdf\"" +endfunction + +function! Md2Pdfms ( ) + exe ":w" + exe ":! pandoc -o " . expand("%:r") . ".pdf" . " -t ms -f markdown-implicit_figures \"" . expand("%") . "\"" + echo "pdf saved as " . expand("%:p:r") . ".pdf" +endfunction + +command Md2Pdf call Md2Pdf() +command Md2Pdfms call Md2Pdfms() + + +" Save markdown document and export to html using pandoc +function! Md2Html ( ) + exe ":w" + "exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\"" + exe ":! pandoc --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\"" + echo "html saved as " . expand("%:p:r") . ".html" +endfunction + +command Md2Html call Md2Html() + +" Save markdown as ODT file (.docx is also possible) +function! Md2Odt ( ) + exe ":w" + exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".odt\"" . " \"" . expand("%") . "\"" + echo "ODT saved as " . expand("%:p:r") . ".odt" +endfunction + +command Md2Odt call Md2Odt() + + +" Compiles and Runs a C++ project +" TODO: how to add program's arguments or file redirectioning from command. +function! CompRunProj ( ) + exe ":w" + exe ":! g++ -o " . expand("%:r") . "-g *.cpp" + exe ":! ./" . expand("%:r") +endfunction + +command CompRunProj call CompRunProj() + + +" Function made to give feedback to students code in 1INF01 +" export C code to syntax highlighted pdf +function! C2Pdf ( ) + exe ":set ts=4" + exe ":w" + exe ":ha > %.ps" + exe ":!ps2pdf %.ps" + exe ":!rm %.ps" +endfunction + +command C2Pdf call C2Pdf() diff --git a/config/vim/pack/mitsuo/README.md b/config/vim/pack/mitsuo/README.md new file mode 100644 index 0000000..172c269 --- /dev/null +++ b/config/vim/pack/mitsuo/README.md @@ -0,0 +1,12 @@ +Plugins I usually use and work fine together. + +- [NERDTree](https://github.com/preservim/nerdtree) + + + +- [vim-fugitive](https://github.com/tpope/vim-fugitive) + + :G + :G blame + +Vim packages (version >= 8.2). See `:h packages` diff --git a/config/vim/pack/mitsuo/nerdtree b/config/vim/pack/mitsuo/nerdtree new file mode 160000 index 0000000..eed488b --- /dev/null +++ b/config/vim/pack/mitsuo/nerdtree @@ -0,0 +1 @@ +Subproject commit eed488b1cd1867bd25f19f90e10440c5cc7d6424 diff --git a/config/vim/pack/mitsuo/vim-fugitive b/config/vim/pack/mitsuo/vim-fugitive new file mode 160000 index 0000000..b7287bd --- /dev/null +++ b/config/vim/pack/mitsuo/vim-fugitive @@ -0,0 +1 @@ +Subproject commit b7287bd5421da62986d9abf9131509b2c9f918e4 diff --git a/config/vim/viminfo b/config/vim/viminfo new file mode 100644 index 0000000..7651f85 --- /dev/null +++ b/config/vim/viminfo @@ -0,0 +1,31 @@ +# This viminfo file was generated by Vim 8.2. +# You may edit it if you're careful! + +# Viminfo version +|1,4 + +# Value of 'encoding' when this file was written +*encoding=utf-8 + + +# hlsearch on (H) or off (h): +~h +# Command Line History (newest to oldest): +:q +|2,0,1649356827,,"q" + +# Search String History (newest to oldest): + +# Expression History (newest to oldest): + +# Input Line History (newest to oldest): + +# Debug Line History (newest to oldest): + +# Registers: + +# File marks: + +# Jumplist (newest first): + +# History of marks within files (newest to oldest): diff --git a/config/vim/vimrc b/config/vim/vimrc new file mode 100644 index 0000000..f97a654 --- /dev/null +++ b/config/vim/vimrc @@ -0,0 +1,332 @@ +" mitsuo's vimrc +" Created c. 2019-11-11 +" Last update (after destroying it accidentally): 2020-09-02 +" +" ┌─┬─┬─┬─┬─┬─┐ +" │m│i│t│s│u│o│✓x け が +" ├─┼─┼─┼─┼─┼─┤ ん +" │v│i│m│r│c│←│█▓▒░ り ば +" └─┴─┴─┴─┴─┴─┘ こ れ + +" XDG compliant REMOVED :D (what a pain) +" - For new installs just copy (or link) this file into ~/.vimrc and create +" the ~/.vim directory +" TODO: - sort sections + + +" Variables +" ---------------------------------------------------------------------- +" Get the first directory from the list in $VIMRUNTIMEPATH +let $VIMFILES=split(&rtp,",")[0] +set undodir=$VIMFILES/undo +set viewdir=$VIMFILES/view +set directory=$VIMFILES/swap +set viminfofile=$VIMFILES/viminfo + + +" Useful +" ---------------------------------------------------------------------- +set nocompatible +" Auto-recognize files and apply pluggins +filetype plugin indent on " See :h vimrc-filetype +syntax on + +" Search files +set wildmenu " command-line completion <-- soo good +set wildignore+=*.o,*.obj,.git,*.rbc,*.class +set path+=./**30 " For gf and :find, add all subdirectories relative to + " current file (30 max) to the "search space" + +set scrolloff=5 " show a few lines of context + +set backspace=indent,eol,start " Allow and in insert mode + +" number gutter +set nonumber +set norelativenumber + +" Store session information +set viminfo+='1000 + +" Tag Jumping <-- so cool +" Instructions: create tag index (e.g. $ ctags -R .) +" place cursor on tag +" ^] to jump to definition +" g^] if more than 1 definition +" ^T to return (or ^O) +" TODO: create tags automatically (:!ctags -R . after :w if ft=c) + + +" Status line +" ---------------------------------------------------------------------- +set showcmd " show partial command on last line (below status bar) +" just add buffer number to the default +set statusline=%<%f\ %h%m%r%=b%02n\ \ %-14.(%l,%c%V%)\ %P + + +" Search +" ---------------------------------------------------------------------- +set hlsearch " highlight search (this can be annoying if no shortcut to then + " clear the highlight +set incsearch " Incrementally move cursor while typing search-string +" stop highlight only for current search. +" (Still preserve updating directory in netrw) +nnoremap :nohl +" Ignore case only when pattern is lowercase (both needed) +set ignorecase +set smartcase + + +" Indentation +" ---------------------------------------------------------------------- +" 4 column softtabs (uses ' ', not '\t'). +" TODO: move this 'guide' to somewhere apropiate +" tab->softtab :set tabstop=n :set expandtab :retab +" softtab->tab :set noexpandtab :set tabstop={softtabstop} :retab! +" Caution: +" - This will insert a tab wherever it can, even between words +" separated by as few as 2 spaces if ts=2! +" - Not recommended at all. Use some other program to only translate +" leading indenting from space to tabs. Also using tabs is not very +" good. My opinion is that they are good as a special character to +" separate data (like comma for CSV). +set tabstop=8 " '\t' or HT = 8 virtual columns +set shiftwidth=4 " Indentation with >> and C-T and C-D (insert mode) +set softtabstop=4 " For "inserted tabs" (inserts and + " minimizing ) +set expandtab " Expand with the inserted s +"set smarttab " Use shiftwidth for inserted in the front of + " a line (Maybe useful for YAML) +" autoindent -> smartindent -> cindent -> indentexpr +" (from simple/less general to complex/more general) +set smartindent " This is a really nice and simple one +"set cindent +"set cinoptions=:0,g0 " See C-indenting + + +" Automatic formatting +" ---------------------------------------------------------------------- +" see fo-table +set formatoptions=l " Don't break long lines that are already typed +set formatoptions+=q " Allow formatting of comments with "gq" +set formatoptions+=r " Insert current leader after in Insert mode +set formatoptions-=o " Automatically insert the current comment leader + " after hitting 'o'. +set formatoptions+=t " auto-wrap text (when inserting) +set formatoptions+=c " auto-wrap comments (when inserting) +set formatoptions+=p " Don't break honorifics like Prof. Smith +set formatoptions+=n " Allow lists +set formatoptions+=j " Removes comment leader when joining lines + + +" Word wrap +" ---------------------------------------------------------------------- +set wrap " Visual wrapping of lines wider than window +set linebreak " Works with previous option to not break words +" To 'justify' comments or block of text (paragraph) use "gq{motion}" or +" "gp{motion}", where {motion} can be "[/", "]/", "ip", "i{", "a{". +set textwidth=80 " auto break inserted text longer than 80 colums + + +" Other settings +" ---------------------------------------------------------------------- +set mouse=a " Enable for all modes +" set cmdheight=1 +" Always display the status line, even if only one window is displayed +set laststatus=2 +set ruler +set encoding=utf-8 +set more " Enable more-prompt for listings that don't fit in + " screen +"hint: g< command can be used to see the last page of previous command. + + +" Mappings +" ---------------------------------------------------------------------- +" F1 is help, F11 is full screen (terminal emulator) +map :source $VIMFILES/vimrc +map :e $VIMFILES/vimrc + +map :tabp +map :tabn + +" C/C++ Programming: + +map :w:!clear && make +"map :!./%:r +"map :!./a.out + +map :cnext +map :cprev + +" = '\' when 'mapleader' is empty +" "Run cTags" +map rt :!ctags -R . +map :tnext + +" Motion to go to beggining of function while cursor is inside +nmap [f [m[{k0 + +" Other programs: + +" pandoc (& website) +nnoremap mm :w:Md2Html +nmap mM mm:!updatewebsite_zaz +" asciidoc +nnoremap ma :w:!asciidoctor % +nmap mA ma:!updatewebsite_zaz + +" Funcionallity of the following depends on terminal. Needs 8bit input enabled +" for = Alt key combos +" From: https://vim.fandom.com/wiki/Get_Alt_key_to_work_in_terminal + +nmap h +nmap j +nmap k +nmap l + +" Misc.: + +" Go Title Case (and clear highlighted matches) +" Ref.: vim.fandom.com +vmap gt :s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g + +" Autoformat JSON jumbled data. (Selects the whole file as range to pass as +" standard input to `jq .` which pretty prints JSON. Then replace range with +" output.) +" Ref.: https://stackoverflow.com/questions/26214156/how-to-auto-format-json-on-save-in-vim +nnoremap gJ :%!python3 -m json.tool +" :%!jq . + +" NERDTree plugin +nnoremap :NERDTreeToggle + +" Comment/UnComment lines +" Ref.: +" - https://vim.fandom.com/wiki/Comment/UnComment_visually_selected_text +" - https://stackoverflow.com/a/1676672/7498073 +" - https://stackoverflow.com/a/9051932/7498073 +au FileType haskell,vhdl,ada let b:comment_leader = '-- ' +au FileType vim let b:comment_leader = '" ' +au FileType c,cpp,java,asciidoc let b:comment_leader = '// ' +au FileType sh,make let b:comment_leader = '# ' +au FileType tex let b:comment_leader = '% ' +" That c_CTRL-R_= thingy enters the "expression register". And that \V +" tells :s to go into "Very NonMagic" mode. +noremap ,c :s/^/=escape(b:comment_leader,'\/')/:noh +noremap ,u :s/^\V=escape(b:comment_leader,'\/')//e:noh + + +" Yanking and pasting +" ---------------------------------------------------------------------- +" TODO: map something to "+y (cut buffer) and "*y (selection buffer) while in +" visual mode. +"vmap <++> "+y " The yank to the cut buffer (clipboard) +"vmap <++> "*y " The yank to the selection buffer + + +" Buffers +" ---------------------------------------------------------------------- +set hidden +map :bNext +map :bnext + + +" Printing +" ---------------------------------------------------------------------- +set printoptions=paper:A4,duplex:long +" set printoptions+=number:y +" TODO: Figure out how to print multibyte encodings. Enabling this settings +" produces errors. +set encoding=utf-8 +set fileencoding=utf-8 +" set printmbcharset=JIS_X_1990 " This allows Japanese characters to be printed +" set printmbfont=r:Noto-Sans-CJK-JP + + +" Functions +" ---------------------------------------------------------------------- +" TODO: maybe replace with $runtimepath +source $VIMFILES/fun.vim + + +" Views and Sessions (Window layout and Line folding) +" ---------------------------------------------------------------------- +" It is possible to create folds automatically but idk how to do it. +" :mkview so save them :loadview to load them (zo open one, zc close one, +" zR to open all, zM to close all, zx to restore)) + +" Views saves folds. Sessions saves all windows configuration and layout +" Load Sessions with $ vim -S Session.vim + +" To automatically save and restore views for *.c *.cpp files: +au BufWinLeave *.c mkview +au BufWinEnter *.c silent loadview +au BufWinLeave *.cpp mkview +au BufWinEnter *.cpp silent loadview + + +" Snippets +" ---------------------------------------------------------------------- +" I deleted the file accidently +"nnoremap ,ch :-1r $VIMFILES/snippets/cheader.c + + +" File Browsing +" ---------------------------------------------------------------------- +" Use netrw out of the box file browser plugin. +" :e . open file browser on current directory +" V or t open file on vsplit or new tab. +" :bd or :Rex to return +" More mappings on |netrw-browse-maps| +"let g:netrw_banner=0 " disable banner +"let g:netrw_browse_split=4 " open in prior window +let g:netrw_altv=1 " open splits to the right +"let g:netrw_list_hide=netrw_gitignore#Hide() +"let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+' " wtf? (?) +" Learned from Max Cantor talk https://youtu.be/XA2WjJbmmoM + + +" Additions +" ---------------------------------------------------------------------- +" Replaces previous WORD arithmetic expression with result (from Vim +" fandom-wiki) +inoremap diWi=" + + +" Plugins +" ---------------------------------------------------------------------- +" I disabled it bc I think it interferes with formatoptions +"" Automatic vim-plug install +"if empty(glob('~/.vim/autoload/plug.vim')) +" silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs +" \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim +" autocmd VimEnter * PlugInstall --sync | source $MYVIMRC +"endif +" +"call plug#begin() +"Plug 'ARM9/arm-syntax-vim' +"autocmd BufNewFile,BufRead *.s,*.S set filetype=arm " arm = armv6/7 +" +"call plug#end() + +" Other plugins +" I used to use IndexedSearch plugin. Functionality was incorporated into Vim +" since Vim 8.1.1270. +set shortmess-=S + + +" Colors +" ---------------------------------------------------------------------- +" I like desert, murphy, pablo, industry +" (default is OK for most cases but when using vimdiff, highlighted numbers are +" unreadable) +:colorscheme industry + + +" Ducktape (place this in ~/.vim/after (after directory)) +" ---------------------------------------------------------------------- +" Not even the ducktape worked for this one on C files TODO +set formatoptions-=o " Automatically insert the current comment leader +" TODO: fix this shit getting reset in a markdown text +set formatoptions+=r " auto insert comment leader after diff --git a/config/vim/vimrc_windows b/config/vim/vimrc_windows new file mode 100644 index 0000000..8ce69cd --- /dev/null +++ b/config/vim/vimrc_windows @@ -0,0 +1,10 @@ +" Git for Windows Vim user initialization file +" GFW uses ~/.vimrc and ~/.vim/vimrc instead of ~/_vimrc and ~/vimfiles/vimrc +" See https://github.com/git-for-windows/git/issues/658#issuecomment-184269470 +" This file configures GFW Vim to behave like Windows Vim +" From: https://kevinlocke.name/bits/2020/07/30/sharing-vimrc-in-git-for-windows/ +let &runtimepath = '~/vimfiles,' +\ . join(filter(split(&runtimepath, ','), 'v:val !~? "/\\.vim"'), ',') +\ . ',~/vimfiles/after' +let &packpath = &runtimepath +source ~/vimfiles/vimrc diff --git a/config/vscode/Readme.adoc b/config/vscode/Readme.adoc new file mode 100644 index 0000000..d14dc6f --- /dev/null +++ b/config/vscode/Readme.adoc @@ -0,0 +1,7 @@ +Preferably use "Code - OSS" instead of VSCode. + +Changes: + +* Light solarized color scheme +* "Old" Activity Bar and Status Bar colors +* Rulers diff --git a/config/vscode/keybindings.json b/config/vscode/keybindings.json new file mode 100644 index 0000000..7c5b25b --- /dev/null +++ b/config/vscode/keybindings.json @@ -0,0 +1,58 @@ +// Place your key bindings in this file to override the defaultsauto[] +[ + { + "key": "f8", + "command": "-editor.action.marker.nextInFiles", + "when": "editorFocus" + }, + { + "key": "f8", + "command": "workbench.action.debug.stepOver", + "when": "debugState == 'stopped'" + }, + { + "key": "f10", + "command": "-workbench.action.debug.stepOver", + "when": "debugState == 'stopped'" + }, + { + "key": "f7", + "command": "-editor.action.diffReview.next", + "when": "isInDiffEditor" + }, + { + "key": "f7", + "command": "-editor.action.wordHighlight.next", + "when": "editorTextFocus && hasWordHighlights" + }, + { + "key": "f7", + "command": "workbench.action.debug.stepInto", + "when": "debugState != 'inactive'" + }, + { + "key": "f11", + "command": "-workbench.action.debug.stepInto", + "when": "debugState != 'inactive'" + }, + { + "key": "shift+f7", + "command": "-editor.action.diffReview.prev", + "when": "isInDiffEditor" + }, + { + "key": "shift+f7", + "command": "-editor.action.wordHighlight.prev", + "when": "editorTextFocus && hasWordHighlights" + }, + { + "key": "shift+f7", + "command": "workbench.action.debug.stepOut", + "when": "debugState == 'stopped'" + }, + { + "key": "shift+f11", + "command": "-workbench.action.debug.stepOut", + "when": "debugState == 'stopped'" + } +] \ No newline at end of file diff --git a/config/vscode/settings.json b/config/vscode/settings.json new file mode 100644 index 0000000..1c0204d --- /dev/null +++ b/config/vscode/settings.json @@ -0,0 +1,14 @@ +{ + "editor.minimap.enabled": false, + "editor.rulers": [80, 120], + "editor.wordWrap": "on", + "editor.lineNumbers": "off", + + "jupyter.askForKernelRestart": false, + "[python]": { + "editor.formatOnType": true + }, + "terminal.integrated.enableMultiLinePasteWarning": false, + "gitlens.hovers.currentLine.over": "line", + "autoDocstring.docstringFormat": "sphinx-notypes", +} diff --git a/config/xorg/xbindkeysrc b/config/xorg/xbindkeysrc new file mode 100644 index 0000000..9437ef0 --- /dev/null +++ b/config/xorg/xbindkeysrc @@ -0,0 +1,177 @@ +# For the benefit of emacs users: -*- shell-script -*- +########################### +# xbindkeys configuration # +########################### +# +# Version: 1.8.7 +# +# If you edit this file, do not forget to uncomment any lines +# that you change. +# The pound(#) symbol may be used anywhere for comments. +# +# To specify a key, you can use 'xbindkeys --key' or +# 'xbindkeys --multikey' and put one of the two lines in this file. +# +# The format of a command line is: +# "command to start" +# associated key +# +# +# A list of keys is in /usr/include/X11/keysym.h and in +# /usr/include/X11/keysymdef.h +# The XK_ is not needed. +# +# List of modifier: +# Release, Control, Shift, Mod1 (Alt), Mod2 (NumLock), +# Mod3 (CapsLock), Mod4, Mod5 (Scroll). +# + +# The release modifier is not a standard X modifier, but you can +# use it if you want to catch release events instead of press events + +# By defaults, xbindkeys does not pay attention with the modifiers +# NumLock, CapsLock and ScrollLock. +# Uncomment the lines above if you want to pay attention to them. + +#keystate_numlock = enable +#keystate_capslock = enable +#keystate_scrolllock= enable + +# Examples of commands: + +#"xbindkeys_show" +# control+shift + q + +## set directly keycode (here control + f with my keyboard) +#"xterm" +# c:41 + m:0x4 + +## specify a mouse button +#"xterm" +# control + b:2 + +#"xterm -geom 50x20+20+20" +# Shift+Mod2+alt + s +# +## set directly keycode (here control+alt+mod2 + f with my keyboard) +#"xterm" +# alt + c:0x29 + m:4 + mod2 +# +## Control+Shift+a release event starts rxvt +#"rxvt" +# release+control+shift + a +# +## Control + mouse button 2 release event starts rxvt +#"rxvt" +# Control + b:2 + Release + + +# My shortcuts +# ============ + +# Modifier scheme (order: Control,Shift,Alt(Mod1),Super(Mod4)): +# * app-specific: +# * Control, Control+Shift +# * Linux & WM (dwm): +# * Alt, Control+Alt, Shift+Alt +# * user-defined: +# * Mod4 (application launch & audio control) +# * Shift+Mod4 (brightness control & audio control) +# * Control+Mod4 (unused) +# * Alt+Mod4 (unused) +# * unused (4 finger shortcuts): +# * Control+Shift+Alt, Control+Shift+Mod4, Control+Alt+Mod4, Shift+Alt+Mod4 +# * unused (5 finger shortcut): +# * Control+Shift+Alt+Mod4 + +# System +# ------ + +"sudo shutdown 0" + Control+Shift+Alt+Mod4 + s +"sudo reboot" + Control+Shift+Alt+Mod4 + r + +"slock" + Control+Alt + l + +# Audio & brightness control +# Ref.: +# https://wiki.archlinux.org/title/Backlight + +"pactl set-sink-volume '@DEFAULT_SINK@' '+10%'" + Mod4 + k +# XF86AudioRaiseVolume + +"pactl set-sink-volume '@DEFAULT_SINK@' '-10%'" + Mod4 + j +# XF86AudioLowerVolume + +"pactl set-sink-mute '@DEFAULT_SINK@' 'toggle'" + Shift+Mod4 + m +# XF86AudioMute + +"pactl set-source-mute @DEFAULT_SOURCE@ toggle" + Mod4 + m + +# Maybe it'd be a good idea to remove the sudo from here, idk +"sudo xbacklight -inc 10" + Shift+Mod4 + k +# XF86MonBrightnessUp + +"sudo xbacklight -dec 10" + Shift+Mod4 + j +# XF86MonBrightnessDown + +# dwm +# -------------------- + +"dmenu-webshortcuts.sh" + Alt + w + +"dmenu-emojicopy.sh" + Alt + e + +# Launch applications (super + key) +# --------------------------------- + +"st -e tmux" + Mod4 + Return + +"st" + Shift+Mod4 + Return + +"pcmanfm" + Mod4 + e + +"firefox" + Mod4 + w + +"thunderbird" + Mod4 + t + +"goldendict" + Mod4 + g + +"zeal" + Mod4 + h + +# Media control +# ------------- + +"playerctl play-pause" + Mod4 + Down +# XF86AudioPlay +"playerctl stop" + Mod4 + Up +# XF86AudioStop +"playerctl next" + Mod4 + Right +# XF86AudioPrev +"playerctl previous" + Mod4 + Left +# XF86AudioNext + +################################## +# End of xbindkeys configuration # +################################## diff --git a/config/xorg/xinitrc b/config/xorg/xinitrc new file mode 100644 index 0000000..6268abc --- /dev/null +++ b/config/xorg/xinitrc @@ -0,0 +1,71 @@ +#!/bin/sh + +# This first part is copied from /etc/X11/xinit/xinitrc +# +# Start X with `$ xstart` +# See startx(1) and xinit(1) + + +userresources=$HOME/.Xresources +usermodmap=$HOME/.Xmodmap +sysresources=/etc/X11/xinit/.Xresources +sysmodmap=/etc/X11/xinit/.Xmodmap + +# merge in defaults and keymaps + +if [ -f $sysresources ]; then + xrdb -merge $sysresources +fi + +if [ -f $sysmodmap ]; then + xmodmap $sysmodmap +fi + +if [ -f "$userresources" ]; then + xrdb -merge "$userresources" +fi + +if [ -f "$usermodmap" ]; then + xmodmap "$usermodmap" +fi + +# Load necessary X11 configuration + +if [ -d /etc/X11/xinit/xinitrc.d ] ; then + for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do + [ -x "$f" ] && . "$f" + done + unset f +fi + +# Setup and start Desktop Environment +# ====================================================================== + +# fcitx (CJK and emoji input method) +export GTK_IM_MODULE=fcitx +export QT_IM_MODULE=fcitx +export XMODIFIERS=@im=fcitx + +xrandr --dpi 144 # Original mac: 72, stupid windows: 96 pulse15: 188 +laptop-xinput_setup.sh +xbindkeys # keyboard shortcuts +setxkbmap -option caps:escape # map CAPSLOCK to ESC + +# Start twm +#twm & +#xclock -geometry 50x50-1+1 & +#xterm -geometry 80x50+494+51 & +#xterm -geometry 80x20+494-0 & +#exec xterm -geometry 80x66+0+0 -name login + +# Start Plasma +# Start KDE Plasma (DE) +#export DESKTOP_SESSION=plasma +#exec startplasma-x11 + +# Start xfce4 +#startxfce4 + +# Start dwm +xautolock -time 10 -locker slock & +exec dwm diff --git a/config/zathura/zathurarc b/config/zathura/zathurarc new file mode 100644 index 0000000..4d38c70 --- /dev/null +++ b/config/zathura/zathurarc @@ -0,0 +1,59 @@ +######################### +# Configuracion Zathura # +######################### +# +# para para saber que hace cada huevada +# ver manpage zathurarc(5) +# + +# Default commented shit +# ====================== + +# zoom and scroll step size +# set zoom-setp 20 +# set scroll-setp 80 + +# copy selection to system clipboard +# set selection-clipboard clipboard + +# enable incremental search +# set incremental-search true + +# mapings +# ======= + +# TODO Button 3 is left mouse button, I want to map it to 'hold to pan document' +# which is mapped to mouse 2 (middle button) +#map Button3 + +unmap [normal] +map [normal] toggle_statusbar +unmap [fullscreen] +map [fullscreen] toggle_statusbar + +unmap [normal] D +map [normal] D toggle_page_mode +unmap [fullscreen] D +map [fullscreen] D toggle_page_mode + +map [normal] u scroll half-up +map [normal] d scroll half-down +map [fullscreen] u scroll half-up +map [fullscreen] d scroll half-down + +# settings +# ======== + +#set window-width 768 +set window-width 1025 +set window-height 740 +set adjust-open width + +#set smooth-scroll true + +#set first-page-column 2 + +set statusbar-home-tilde true +#set window-title-home-tilde true +set window-title-basename true +set selection-clipboard clipboard diff --git a/extra/20-libinput.conf b/extra/20-libinput.conf deleted file mode 100644 index b621fa2..0000000 --- a/extra/20-libinput.conf +++ /dev/null @@ -1,12 +0,0 @@ -# Enable single tab, double tab, tab with 2 and 3 fingers and -# natural scrolling. -# Retrived/Adapted from https://abdullah.today/2019/09/19/things-to-do-after-debian-install.html -Section "InputClass" - Identifier "libinput touchpad catchall" - MatchIsTouchpad "on" - Driver "libinput" - MatchDevicePath "/dev/input/event*" - Option "Tapping" "on" - Option "TappingButtonMap" "Irm" - Option "NaturalScrolling" "false" -EndSection diff --git a/extra/applications.txt b/extra/applications.txt deleted file mode 100644 index e856407..0000000 --- a/extra/applications.txt +++ /dev/null @@ -1,51 +0,0 @@ -Applications and programs I use - -Programs -================================================================================ - -Most of these can be easily installed using apt(8). - -utilities - ghostscript gnupg screenfetch neofetch htop gparted R rename curl gzip grep - -devices - acpi cups - -media - vlc audacity mpv feh - -docs - pdftk pandoc groff vim libreoffice - -mail - mutt thunderbird - -reading - zathura calibre - -music - clementine mpc ncmpcpp spotify - -games - zsnes retroarch dolphin cowsay steam minecraft - -productivity - taskwarrior timewarrior - -dev - virtualbox git netbeans - -ref - goldendict wordnet gcide tldr - -network - qbittorrent - -internet - brave-browser discord mullvad-vpn - - -Manual config -====================================================================== - -feh: add heif support using https://github.com/vi/imlib2-heic diff --git a/extra/archlinuxpackages.txt b/extra/archlinuxpackages.txt deleted file mode 100644 index d382206..0000000 --- a/extra/archlinuxpackages.txt +++ /dev/null @@ -1,159 +0,0 @@ -acpi 1.7-3 -adobe-source-han-sans-jp-fonts 2.004-1 -adobe-source-han-serif-jp-fonts 2.001-1 -alsa-utils 1.2.7-1 -anki 2.1.54-1 -ark 22.08.0-1 -asciidoctor 2.0.17-1 -autoconf 2.71-1 -automake 1.16.5-1 -base 3-1 -bash-completion 2.11-2 -bind 9.18.6-1 -bison 3.8.2-4 -bluez-utils 5.65-3 -calibre 6.4.0-1 -clementine 1.4.0rc2-2 -cmake 3.24.1-1 -cowsay 3.04-2 -cpupower 5.19-1 -cronie 1.6.1-1 -cups 1:2.4.2-3 -dict-wn 3.1-5 -dictd 1.13.1-2 -dolphin 22.08.0-1 -doxygen 1.9.3-1 -efibootmgr 18-1 -extra-cmake-modules 5.97.0-1 -fakeroot 1.29-1 -fcitx5-configtool 5.0.15-1 -fcitx5-gtk 5.0.18-1 -fcitx5-mozc 2.26.4632.102.g4d2e3bd-2 -fcitx5-qt 5.0.15-1 -feh 3.9.1-2 -festival-english 2.5-2 -ffmpegthumbs 22.08.0-1 -filezilla 3.60.2-1 -firefox 104.0.2-1 -flex 2.6.4-3 -fontforge 20220308-1 -fortune-mod 3.14.1-1 -freerdp 2:2.8.0-1 -gcc 12.2.0-1 -git 2.37.3-1 -gnucash 4.11-1 -gnucash-docs 4.11-1 -goldendict-git 1:1.5.0rc2.r545.g8f410790-1 -gparted 1.4.0-1 -gpick 0.2.6-5 -graphviz 5.0.1-1 -grub 2:2.06.r322.gd9b4638c5-4 -gvim 9.0.0354-1 -gwenview 22.08.0-1 -hplip 1:3.22.6-1 -htop 3.2.1-1 -intel-ucode 20220809-1 -intellij-idea-community-edition 4:2022.1.4-1 -iperf 2.1.8-1 -iwd 1.29-1 -kate 22.08.0-1 -kcolorchooser 22.08.0-1 -kdenlive 22.08.0-1 -kgeography 22.08.0-1 -kgpg 22.08.0-1 -kigo 22.08.0-1 -konsole 22.08.0-1 -ksystemlog 22.08.0-1 -libao 1.2.2-5 -libcurl-gnutls 7.85.0-1 -libeb 4.4.3-10 -libreoffice-still 7.3.5-3 -libretro-beetle-psx 2623-1 -libretro-mgba 8594-1 -libretro-mupen64plus-next 1:374-2 -libretro-ppsspp 32727-1 -libretro-sameboy 1720-2 -libretro-snes9x 2152-1 -libxft-bgra 2.3.4-1 -linux 5.19.7.arch1-1 -linux-firmware 20220815.8413c63-1 -lynx 2.8.9-5 -m4 1.4.19-1 -make 4.3-3 -man-db 2.10.2-1 -man-pages 5.13-1 -modemmanager 1.18.10-2 -mpc 0.34-2 -mpd 0.23.9-2 -mpv 1:0.34.1-5 -ncmpc 0.47-1 -ncmpcpp 0.9.2-7 -neofetch 7.1.0-2 -netbeans 14-1 -networkmanager 1.40.0-1 -ninja 1.11.1-1 -noise-suppression-for-voice 1.03-1 -noto-fonts-cjk 20220126-1 -noto-fonts-emoji 20211101-1 -obs-studio 27.2.4-2 -okular 22.08.0-1 -opencc 1.1.4-1 -openssh 9.0p1-1 -otf-symbola 13.00-8 -patch 2.7.6-8 -perl-libwww 6.67-1 -perl-list-moreutils 0.430-3 -perl-lwp-protocol-https 6.10-4 -perl-term-readline-gnu 1.42-2 -perl-term-shellui 0.92-4 -pipewire-pulse 1:0.3.57-1 -pkgconf 1.8.0-1 -plasma-meta 5.25-1 -postgresql 14.5-1 -print-manager 22.08.0-1 -pulseaudio-alsa 1:1.2.7.1-1 -pycharm-community-edition 2022.1.4-2 -remmina 1:1.4.27-1 -retroarch 1.10.3-2 -retroarch-assets-ozone 1:437-1 -rsync 3.2.5-2 -sof-firmware 2.2.1-1 -songrec 0.3.2-1 -spectacle 22.08.0-1 -st 0.8.5-1 -sudo 1.9.11.p3-1 -texinfo 6.8-2 -texlive-bibtexextra 2022.63023-1 -texlive-core 2022.63035-1 -texlive-fontsextra 2022.62977-1 -texlive-formatsextra 2022.62529-1 -texlive-games 2022.62102-1 -texlive-humanities 2022.62929-1 -texlive-latexextra 2022.63034-1 -texlive-music 2022.62533-1 -texlive-pictures 2022.62992-1 -texlive-pstricks 2022.62977-1 -texlive-publishers 2022.63013-1 -texlive-science 2022.62977-1 -thunderbird 102.2.0-1 -tk 8.6.12-1 -tllocalmgr-git r84.bbd8488-5 -tmux 3.3_a-2 -tree 2.0.2-2 -ttf-dejavu 2.37+18+g9b5d1b2f-3 -veracrypt 1.25.9-3 -whois 5.5.13-1 -xf86-video-intel 1:2.99.917+916+g31486f40-2 -xorg-server 21.1.4-1 -xorg-twm 1.0.12-1 -xorg-xclock 1.1.1-1 -xorg-xev 1.2.5-1 -xorg-xinit 1.4.1-3 -xsel 1.2.0.20200527-1 -xterm 372-2 -yt-dlp 2022.09.01-1 -zathura 0.4.9-1 -zathura-djvu 0.2.9-1 -zathura-pdf-mupdf 0.3.9-1 -zathura-ps 0.2.7-1 -zeal 0.6.1-3 diff --git a/extra/newdebian b/extra/newdebian deleted file mode 100644 index 3dc994e..0000000 --- a/extra/newdebian +++ /dev/null @@ -1,199 +0,0 @@ -My configuration description of Debian - Plasma KDE 5. - -# KDE Plasma 5 configuration - -Appearance: - Workspace Theme: - L&F: Breeze Dark - DT: Sweet - Cursor Theme: Breeze - Colors: Breeze - Fonts: - Fixed width: SF Mono 10 - Icons: Breeze Dark - Application Style: - Widget style: QtCurve - settings file: qtcurvesettings.qtcurve - Window Decoration: - Breeze: - Don't allow resize on maximazed windows. - Window borders: tiny. -Workspace: - Desktop Behaviour: - Workspace: Double-click to open files and folders - Screen Edges: No. - Screen Locking: - No automatick screen lock. - Wallpaper: spongebob little cockroach eating krabbypatty, Scaled. - Virtual Desktops: 2, 1 row. - Activities: Default and Leisure - Window Management: - Window Behaviour: - Advanced: - Window placement: Cascaded - Task Switcher: - Visualization: MediumRounded - KWin Scripts: - Enforces Window Decoration on GTK+ window - MinimizeAll (Meta+D) - Shortcuts: - Global: - Launch Dolphin Meta+E - Launch Firefox Meta+W - Launch GoldenDict Meta+G - Launch KCalc Meta+C (although python3 is better) - Launch Konsole Meta+ - Launch Thunderbird Meta+M - Launch Zathura Meta+Z - Launch Zeal Meta+H - - (Spectacle(1) default global shortcuts) - Take Active Win SS Meta+Print - Take Full SS Shift+Print - Take Rect. Reg. SS Meta+Shift+Print - - (KDE's default) - Run command Alt+Space - - (Power Management) - Hibernate Meta+Shift+Z - Suspend (aka. sleep)Meta+Shift+X - Custom: - zazke: - Shutdown Meta+Shift+S systemctl poweroff - Web: (shortcut:"search string" in Run command) - Amazon amz - RAE rae https://dle.rae.es/?w=\{@} - Github gh - Gitlab gt - Google gg - Google Maps ggm - MetaCrawler mc - Python Ref py - Qt4 Doc qt4 - Vimeo vm - Wikia wikia - Wikipedia wp - Youtube yt - Startup and Shutdown: - Login Screen: - Theme: Debian Maui - Wallpaper: Black Pearl Nandita - Autostart: dropboxd # I think this one is configured - # automatically -Personalization: - Regional Setings: - Language: en_US - Formats: en_CA - Applications: - Default Applications: - Email Thunder - File Manager Dolphin - Terminal Emu Konsole - Web Browser Firefox - File Associations: - Text Vim - Image feh - Video mpv - Audio mpv - pdf zathura - Location for Personal Files: - Documents: /home/mitsuo/docs - Movies: /home/mitsuo/media/Videos - Pictures: /home/mitsuo/media/Pictures - Music: /home/mitsuo/media/Music -Network: - Bluetooth: - Disable -Hardware: - Input Devices: - Keyboard: - NumLock on Plasma Startup: Turn on - Show layout indicator - Make Caps Lock an additional Esc - Switch to another layout with Win+Space - Mouse Controls: - Pointer speed: 4.5 - Acceleration: flat - Touchpad: - Edge scrolling: no - Two-finger scrolling: yes - Reverse scrolling: no - Power Management: - Energy Saving: - On AC Power: - Dim screen: OFF - Switch off screen after 5 min - Suspend session: NO - Button events: - When lid closed: Do nothing - When power button pressed: Prompt log out dialog - On Battery: - Dim screen: OFF - Switch off screen after 5 min - Suspend session: 10 min (Sleep) - Button events: - When lid closed: Do nothing - When power button pressed: Prompt log out dialog - On Low Battery: - Screen brightness: low - Dim screen: OFF - Switch off screen after 5 min - Suspend session: 10 min (Hibernate) - Button events: - When lid closed: Do nothing - When power button pressed: Prompt log out dialog - Advanced Setting: - Low level: 10% - Critical level: 3% - At critical level: Hibernate - Pause media players when suspending: ON - Removable Storage: - Removable Devices: - Enable automatic mounting of removable media: OFF - - -## Widgets configuration - -(Default one is "Application Launcher") -Application Menu: - Behaviour: - Icon: Stardewvalley chicken - Show application as: Name only - Categories: - Show: Recently used - Show recent applications - Show recent documents - Search: - Expand search to bookmarks, files and emails - Align search results to bottom # what does this do? - -Task Manager: - Position: - Bottom, autohide, 32 px heigh - Widgets: - Application Menu - Pager - Icons-only Task Manager - System Tray: - Battery - Digital Clock - Media Controls - Clipboard - Clock: - Appearance: - Show date - Show seconds - Use 24-hour Clock - ISO Date - Calendar: - Show week numbers in Calendar - -## Apps - -Dolphin - TODO - -Konsole - TODO - diff --git a/extra/qtcurvetestsettings.qtcurve b/extra/qtcurvetestsettings.qtcurve deleted file mode 100644 index 787da51..0000000 --- a/extra/qtcurvetestsettings.qtcurve +++ /dev/null @@ -1,165 +0,0 @@ -[KWin] -BorderSize=3 -InnerBorder=0 -OuterBorder=0 - -[Settings] -activeTabAppearance=soft -animatedProgress=false -appearance=soft -bgndAppearance=flat -bgndGrad=horiz -bgndImage=none -bgndOpacity=100 -boldProgress=false -borderInactiveTab=false -borderMenuitems=false -borderProgress=true -borderSbarGroove=true -borderSelection=false -borderTab=true -buttonEffect=shadow -buttonStyleMenuSections=true -centerTabText=false -colorMenubarMouseOver=true -colorSelTab=0 -colorSliderMouseOver=false -coloredMouseOver=glow -coloredTbarMo=false -comboBtn=none -comboSplitter=false -crButton=true -crColor=none -crHighlight=0 -crSize=15 -customAlphas=0 -customMenuNormTextColor=#000000 -customMenuSelTextColor=#000000 -customMenuTextColor=false -customShades=1.16,1.07,0.9,0.78,0.84,0.75 -customgradient1=3d,0,1.2,0.5,1,1,1 -customgradient2=3d,0,0.9,0.5,1,1,1 -darkerBorders=false -defBtnIndicator=glow -dlgOpacity=100 -doubleGtkComboArrow=false -drawStatusBarFrames=false -dwtAppearance=customgradient1 -dwtSettings=33 -embolden=false -etchEntry=false -expanderHighlight=3 -fadeLines=true -fillProgress=true -fillSlider=true -flatSbarButtons=true -focus=glow -forceAlternateLvCols=false -gbFactor=-3 -gbLabel=9 -glowProgress=end -grooveAppearance=inverted -groupBox=faded -gtkButtonOrder=false -gtkComboMenus=false -gtkScrollViews=true -handles=dashes -hideShortcutUnderline=true -highlightFactor=3 -highlightScrollViews=true -highlightTab=false -inactiveTitlebarAppearance=customgradient1 -invertBotTab=true -lighterPopupMenuBgnd=2 -lvAppearance=bevelled -lvButton=false -lvLines=false -mapKdeIcons=true -menuBgndAppearance=flat -menuBgndGrad=horiz -menuBgndImage=none -menuBgndOpacity=100 -menuCloseDelay=300 -menuDelay=225 -menuIcons=true -menuStripe=none -menuStripeAppearance=darkinverted -menubarAppearance=flat -menubarApps=smplayer,VirtualBox -menubarHiding=0 -menubarMouseOver=true -menuitemAppearance=fade -noBgndGradientApps= -noBgndImageApps= -noBgndOpacityApps=sonata,vmplayer,smplayer,totem,vmware -noMenuBgndOpacityApps=gtk,sonata,vmplayer,totem,vmware -noMenuStripeApps=gtk,soffice.bin -nonnativeMenubarApps= -onlyTicksInMenu=false -passwordChar=9679 -popupBorder=true -progressAppearance=dullglass -progressColor=#006C00 -progressGrooveAppearance=inverted -progressGrooveColor=dark -reorderGtkButtons=false -round=extra -roundAllTabs=true -roundMbTopOnly=true -sbarBgndAppearance=flat -scrollbarType=kde -selectionAppearance=harsh -shadeCheckRadio=none -shadeMenubarOnlyWhenActive=false -shadeMenubars=none -shadePopupMenu=false -shadeSliders=none -shading=hsl -shadowSize=30 -sliderAppearance=gradient -sliderFill=true -sliderStyle=plain -sliderThumbs=flat -sliderWidth=15 -smallRadio=true -sortedLv=none -splitterHighlight=3 -splitters=1dot -square=1538 -statusbarApps=kde -statusbarHiding=0 -stdBtnSizes=false -stdSidebarButtons=false -stripedProgress=diagonal -stripedSbar=false -sunkenAppearance=soft -tabAppearance=soft -tabBgnd=0 -tabMouseOver=glow -tbarBtnAppearance=none -tbarBtnEffect=none -tbarBtns=standard -thin=1 -thinSbarGroove=true -titlebarAlignment=center-full -titlebarAppearance=customgradient1 -titlebarButtonAppearance=gradient -titlebarButtonColors=#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000,#000000 -titlebarButtons=5 -titlebarEffect=shadow -titlebarIcon=title -toolbarAppearance=customgradient1 -toolbarBorders=light -toolbarSeparators=flat -toolbarTabs=false -tooltipAppearance=gradient -unifyCombo=true -unifySpin=true -unifySpinBtns=false -useHighlightForMenu=false -useQtFileDialogApps= -vArrows=true -version=1.9.0 -windowBorder=36 -windowDrag=0 -xCheck=false diff --git a/git/config b/git/config deleted file mode 100644 index a5dd072..0000000 --- a/git/config +++ /dev/null @@ -1,13 +0,0 @@ -[user] - email = rtokumori@pucp.edu.pe - name = Mitsuo Tokumori -[diff] - # used with $ git difftool - tool = nvim -d - submodule = log -[merge] - tool = nvim -d -[gitweb] - owner = Mitsuo Tokumori -[init] - defaultBranch = master diff --git a/git/git-prompt.sh b/git/git-prompt.sh deleted file mode 100644 index 1435548..0000000 --- a/git/git-prompt.sh +++ /dev/null @@ -1,589 +0,0 @@ -# bash/zsh git prompt support -# -# Copyright (C) 2006,2007 Shawn O. Pearce -# Distributed under the GNU General Public License, version 2.0. -# -# This script allows you to see repository status in your prompt. -# -# To enable: -# -# 1) Copy this file to somewhere (e.g. ~/.git-prompt.sh). -# 2) Add the following line to your .bashrc/.zshrc: -# source ~/.git-prompt.sh -# 3a) Change your PS1 to call __git_ps1 as -# command-substitution: -# Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' -# ZSH: setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ ' -# the optional argument will be used as format string. -# 3b) Alternatively, for a slightly faster prompt, __git_ps1 can -# be used for PROMPT_COMMAND in Bash or for precmd() in Zsh -# with two parameters,
 and , which are strings
-#        you would put in $PS1 before and after the status string
-#        generated by the git-prompt machinery.  e.g.
-#        Bash: PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
-#          will show username, at-sign, host, colon, cwd, then
-#          various status string, followed by dollar and SP, as
-#          your prompt.
-#        ZSH:  precmd () { __git_ps1 "%n" ":%~$ " "|%s" }
-#          will show username, pipe, then various status string,
-#          followed by colon, cwd, dollar and SP, as your prompt.
-#        Optionally, you can supply a third argument with a printf
-#        format string to finetune the output of the branch status
-#
-# The repository status will be displayed only if you are currently in a
-# git repository. The %s token is the placeholder for the shown status.
-#
-# The prompt status always includes the current branch name.
-#
-# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value,
-# unstaged (*) and staged (+) changes will be shown next to the branch
-# name.  You can configure this per-repository with the
-# bash.showDirtyState variable, which defaults to true once
-# GIT_PS1_SHOWDIRTYSTATE is enabled.
-#
-# You can also see if currently something is stashed, by setting
-# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed,
-# then a '$' will be shown next to the branch name.
-#
-# If you would like to see if there're untracked files, then you can set
-# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked
-# files, then a '%' will be shown next to the branch name.  You can
-# configure this per-repository with the bash.showUntrackedFiles
-# variable, which defaults to true once GIT_PS1_SHOWUNTRACKEDFILES is
-# enabled.
-#
-# If you would like to see the difference between HEAD and its upstream,
-# set GIT_PS1_SHOWUPSTREAM="auto".  A "<" indicates you are behind, ">"
-# indicates you are ahead, "<>" indicates you have diverged and "="
-# indicates that there is no difference. You can further control
-# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated list
-# of values:
-#
-#     verbose       show number of commits ahead/behind (+/-) upstream
-#     name          if verbose, then also show the upstream abbrev name
-#     legacy        don't use the '--count' option available in recent
-#                   versions of git-rev-list
-#     git           always compare HEAD to @{upstream}
-#     svn           always compare HEAD to your SVN upstream
-#
-# By default, __git_ps1 will compare HEAD to your SVN upstream if it can
-# find one, or @{upstream} otherwise.  Once you have set
-# GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by
-# setting the bash.showUpstream config variable.
-#
-# You can change the separator between the branch name and the above
-# state symbols by setting GIT_PS1_STATESEPARATOR. The default separator
-# is SP.
-#
-# When there is an in-progress operation such as a merge, rebase,
-# revert, cherry-pick, or bisect, the prompt will include information
-# related to the operation, often in the form "|".
-#
-# When the repository has a sparse-checkout, a notification of the form
-# "|SPARSE" will be included in the prompt.  This can be shortened to a
-# single '?' character by setting GIT_PS1_COMPRESSSPARSESTATE, or omitted
-# by setting GIT_PS1_OMITSPARSESTATE.
-#
-# If you would like to see more information about the identity of
-# commits checked out as a detached HEAD, set GIT_PS1_DESCRIBE_STYLE
-# to one of these values:
-#
-#     contains      relative to newer annotated tag (v1.6.3.2~35)
-#     branch        relative to newer tag or branch (master~4)
-#     describe      relative to older annotated tag (v1.6.3.1-13-gdd42c2f)
-#     tag           relative to any older tag (v1.6.3.1-13-gdd42c2f)
-#     default       exactly matching tag
-#
-# If you would like a colored hint about the current dirty state, set
-# GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on
-# the colored output of "git status -sb" and are available only when
-# using __git_ps1 for PROMPT_COMMAND or precmd in Bash,
-# but always available in Zsh.
-#
-# If you would like __git_ps1 to do nothing in the case when the current
-# directory is set up to be ignored by git, then set
-# GIT_PS1_HIDE_IF_PWD_IGNORED to a nonempty value. Override this on the
-# repository level by setting bash.hideIfPwdIgnored to "false".
-
-# check whether printf supports -v
-__git_printf_supports_v=
-printf -v __git_printf_supports_v -- '%s' yes >/dev/null 2>&1
-
-# stores the divergence from upstream in $p
-# used by GIT_PS1_SHOWUPSTREAM
-__git_ps1_show_upstream ()
-{
-	local key value
-	local svn_remote svn_url_pattern count n
-	local upstream_type=git legacy="" verbose="" name=""
-
-	svn_remote=()
-	# get some config options from git-config
-	local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')"
-	while read -r key value; do
-		case "$key" in
-		bash.showupstream)
-			GIT_PS1_SHOWUPSTREAM="$value"
-			if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then
-				p=""
-				return
-			fi
-			;;
-		svn-remote.*.url)
-			svn_remote[$((${#svn_remote[@]} + 1))]="$value"
-			svn_url_pattern="$svn_url_pattern\\|$value"
-			upstream_type=svn+git # default upstream type is SVN if available, else git
-			;;
-		esac
-	done <<< "$output"
-
-	# parse configuration values
-	local option
-	for option in ${GIT_PS1_SHOWUPSTREAM}; do
-		case "$option" in
-		git|svn) upstream_type="$option" ;;
-		verbose) verbose=1 ;;
-		legacy)  legacy=1  ;;
-		name)    name=1 ;;
-		esac
-	done
-
-	# Find our upstream type
-	case "$upstream_type" in
-	git)    upstream_type="@{upstream}" ;;
-	svn*)
-		# get the upstream from the "git-svn-id: ..." in a commit message
-		# (git-svn uses essentially the same procedure internally)
-		local -a svn_upstream
-		svn_upstream=($(git log --first-parent -1 \
-					--grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null))
-		if [[ 0 -ne ${#svn_upstream[@]} ]]; then
-			svn_upstream=${svn_upstream[${#svn_upstream[@]} - 2]}
-			svn_upstream=${svn_upstream%@*}
-			local n_stop="${#svn_remote[@]}"
-			for ((n=1; n <= n_stop; n++)); do
-				svn_upstream=${svn_upstream#${svn_remote[$n]}}
-			done
-
-			if [[ -z "$svn_upstream" ]]; then
-				# default branch name for checkouts with no layout:
-				upstream_type=${GIT_SVN_ID:-git-svn}
-			else
-				upstream_type=${svn_upstream#/}
-			fi
-		elif [[ "svn+git" = "$upstream_type" ]]; then
-			upstream_type="@{upstream}"
-		fi
-		;;
-	esac
-
-	# Find how many commits we are ahead/behind our upstream
-	if [[ -z "$legacy" ]]; then
-		count="$(git rev-list --count --left-right \
-				"$upstream_type"...HEAD 2>/dev/null)"
-	else
-		# produce equivalent output to --count for older versions of git
-		local commits
-		if commits="$(git rev-list --left-right "$upstream_type"...HEAD 2>/dev/null)"
-		then
-			local commit behind=0 ahead=0
-			for commit in $commits
-			do
-				case "$commit" in
-				"<"*) ((behind++)) ;;
-				*)    ((ahead++))  ;;
-				esac
-			done
-			count="$behind	$ahead"
-		else
-			count=""
-		fi
-	fi
-
-	# calculate the result
-	if [[ -z "$verbose" ]]; then
-		case "$count" in
-		"") # no upstream
-			p="" ;;
-		"0	0") # equal to upstream
-			p="=" ;;
-		"0	"*) # ahead of upstream
-			p=">" ;;
-		*"	0") # behind upstream
-			p="<" ;;
-		*)	    # diverged from upstream
-			p="<>" ;;
-		esac
-	else # verbose, set upstream instead of p
-		case "$count" in
-		"") # no upstream
-			upstream="" ;;
-		"0	0") # equal to upstream
-			upstream="|u=" ;;
-		"0	"*) # ahead of upstream
-			upstream="|u+${count#0	}" ;;
-		*"	0") # behind upstream
-			upstream="|u-${count%	0}" ;;
-		*)	    # diverged from upstream
-			upstream="|u+${count#*	}-${count%	*}" ;;
-		esac
-		if [[ -n "$count" && -n "$name" ]]; then
-			__git_ps1_upstream_name=$(git rev-parse \
-				--abbrev-ref "$upstream_type" 2>/dev/null)
-			if [ $pcmode = yes ] && [ $ps1_expanded = yes ]; then
-				upstream="$upstream \${__git_ps1_upstream_name}"
-			else
-				upstream="$upstream ${__git_ps1_upstream_name}"
-				# not needed anymore; keep user's
-				# environment clean
-				unset __git_ps1_upstream_name
-			fi
-		fi
-	fi
-
-}
-
-# Helper function that is meant to be called from __git_ps1.  It
-# injects color codes into the appropriate gitstring variables used
-# to build a gitstring. Colored variables are responsible for clearing
-# their own color.
-__git_ps1_colorize_gitstring ()
-{
-	if [[ -n ${ZSH_VERSION-} ]]; then
-		local c_red='%F{red}'
-		local c_green='%F{green}'
-		local c_lblue='%F{blue}'
-		local c_clear='%f'
-	else
-		# Using \[ and \] around colors is necessary to prevent
-		# issues with command line editing/browsing/completion!
-		local c_red='\[\e[31m\]'
-		local c_green='\[\e[32m\]'
-		local c_lblue='\[\e[1;34m\]'
-		local c_clear='\[\e[0m\]'
-	fi
-	local bad_color=$c_red
-	local ok_color=$c_green
-	local flags_color="$c_lblue"
-
-	local branch_color=""
-	if [ $detached = no ]; then
-		branch_color="$ok_color"
-	else
-		branch_color="$bad_color"
-	fi
-	if [ -n "$c" ]; then
-		c="$branch_color$c$c_clear"
-	fi
-	b="$branch_color$b$c_clear"
-
-	if [ -n "$w" ]; then
-		w="$bad_color$w$c_clear"
-	fi
-	if [ -n "$i" ]; then
-		i="$ok_color$i$c_clear"
-	fi
-	if [ -n "$s" ]; then
-		s="$flags_color$s$c_clear"
-	fi
-	if [ -n "$u" ]; then
-		u="$bad_color$u$c_clear"
-	fi
-}
-
-# Helper function to read the first line of a file into a variable.
-# __git_eread requires 2 arguments, the file path and the name of the
-# variable, in that order.
-__git_eread ()
-{
-	test -r "$1" && IFS=$'\r\n' read "$2" <"$1"
-}
-
-# see if a cherry-pick or revert is in progress, if the user has committed a
-# conflict resolution with 'git commit' in the middle of a sequence of picks or
-# reverts then CHERRY_PICK_HEAD/REVERT_HEAD will not exist so we have to read
-# the todo file.
-__git_sequencer_status ()
-{
-	local todo
-	if test -f "$g/CHERRY_PICK_HEAD"
-	then
-		r="|CHERRY-PICKING"
-		return 0;
-	elif test -f "$g/REVERT_HEAD"
-	then
-		r="|REVERTING"
-		return 0;
-	elif __git_eread "$g/sequencer/todo" todo
-	then
-		case "$todo" in
-		p[\ \	]|pick[\ \	]*)
-			r="|CHERRY-PICKING"
-			return 0
-		;;
-		revert[\ \	]*)
-			r="|REVERTING"
-			return 0
-		;;
-		esac
-	fi
-	return 1
-}
-
-# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
-# when called from PS1 using command substitution
-# in this mode it prints text to add to bash PS1 prompt (includes branch name)
-#
-# __git_ps1 requires 2 or 3 arguments when called from PROMPT_COMMAND (pc)
-# in that case it _sets_ PS1. The arguments are parts of a PS1 string.
-# when two arguments are given, the first is prepended and the second appended
-# to the state string when assigned to PS1.
-# The optional third parameter will be used as printf format string to further
-# customize the output of the git-status string.
-# In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true
-__git_ps1 ()
-{
-	# preserve exit status
-	local exit=$?
-	local pcmode=no
-	local detached=no
-	local ps1pc_start='\u@\h:\w '
-	local ps1pc_end='\$ '
-	local printf_format=' (%s)'
-
-	case "$#" in
-		2|3)	pcmode=yes
-			ps1pc_start="$1"
-			ps1pc_end="$2"
-			printf_format="${3:-$printf_format}"
-			# set PS1 to a plain prompt so that we can
-			# simply return early if the prompt should not
-			# be decorated
-			PS1="$ps1pc_start$ps1pc_end"
-		;;
-		0|1)	printf_format="${1:-$printf_format}"
-		;;
-		*)	return $exit
-		;;
-	esac
-
-	# ps1_expanded:  This variable is set to 'yes' if the shell
-	# subjects the value of PS1 to parameter expansion:
-	#
-	#   * bash does unless the promptvars option is disabled
-	#   * zsh does not unless the PROMPT_SUBST option is set
-	#   * POSIX shells always do
-	#
-	# If the shell would expand the contents of PS1 when drawing
-	# the prompt, a raw ref name must not be included in PS1.
-	# This protects the user from arbitrary code execution via
-	# specially crafted ref names.  For example, a ref named
-	# 'refs/heads/$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)' might cause the
-	# shell to execute 'sudo rm -rf /' when the prompt is drawn.
-	#
-	# Instead, the ref name should be placed in a separate global
-	# variable (in the __git_ps1_* namespace to avoid colliding
-	# with the user's environment) and that variable should be
-	# referenced from PS1.  For example:
-	#
-	#     __git_ps1_foo=$(do_something_to_get_ref_name)
-	#     PS1="...stuff...\${__git_ps1_foo}...stuff..."
-	#
-	# If the shell does not expand the contents of PS1, the raw
-	# ref name must be included in PS1.
-	#
-	# The value of this variable is only relevant when in pcmode.
-	#
-	# Assume that the shell follows the POSIX specification and
-	# expands PS1 unless determined otherwise.  (This is more
-	# likely to be correct if the user has a non-bash, non-zsh
-	# shell and safer than the alternative if the assumption is
-	# incorrect.)
-	#
-	local ps1_expanded=yes
-	[ -z "${ZSH_VERSION-}" ] || [[ -o PROMPT_SUBST ]] || ps1_expanded=no
-	[ -z "${BASH_VERSION-}" ] || shopt -q promptvars || ps1_expanded=no
-
-	local repo_info rev_parse_exit_code
-	repo_info="$(git rev-parse --git-dir --is-inside-git-dir \
-		--is-bare-repository --is-inside-work-tree \
-		--short HEAD 2>/dev/null)"
-	rev_parse_exit_code="$?"
-
-	if [ -z "$repo_info" ]; then
-		return $exit
-	fi
-
-	local short_sha=""
-	if [ "$rev_parse_exit_code" = "0" ]; then
-		short_sha="${repo_info##*$'\n'}"
-		repo_info="${repo_info%$'\n'*}"
-	fi
-	local inside_worktree="${repo_info##*$'\n'}"
-	repo_info="${repo_info%$'\n'*}"
-	local bare_repo="${repo_info##*$'\n'}"
-	repo_info="${repo_info%$'\n'*}"
-	local inside_gitdir="${repo_info##*$'\n'}"
-	local g="${repo_info%$'\n'*}"
-
-	if [ "true" = "$inside_worktree" ] &&
-	   [ -n "${GIT_PS1_HIDE_IF_PWD_IGNORED-}" ] &&
-	   [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] &&
-	   git check-ignore -q .
-	then
-		return $exit
-	fi
-
-	local sparse=""
-	if [ -z "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
-	   [ -z "${GIT_PS1_OMITSPARSESTATE-}" ] &&
-	   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
-		sparse="|SPARSE"
-	fi
-
-	local r=""
-	local b=""
-	local step=""
-	local total=""
-	if [ -d "$g/rebase-merge" ]; then
-		__git_eread "$g/rebase-merge/head-name" b
-		__git_eread "$g/rebase-merge/msgnum" step
-		__git_eread "$g/rebase-merge/end" total
-		r="|REBASE"
-	else
-		if [ -d "$g/rebase-apply" ]; then
-			__git_eread "$g/rebase-apply/next" step
-			__git_eread "$g/rebase-apply/last" total
-			if [ -f "$g/rebase-apply/rebasing" ]; then
-				__git_eread "$g/rebase-apply/head-name" b
-				r="|REBASE"
-			elif [ -f "$g/rebase-apply/applying" ]; then
-				r="|AM"
-			else
-				r="|AM/REBASE"
-			fi
-		elif [ -f "$g/MERGE_HEAD" ]; then
-			r="|MERGING"
-		elif __git_sequencer_status; then
-			:
-		elif [ -f "$g/BISECT_LOG" ]; then
-			r="|BISECTING"
-		fi
-
-		if [ -n "$b" ]; then
-			:
-		elif [ -h "$g/HEAD" ]; then
-			# symlink symbolic ref
-			b="$(git symbolic-ref HEAD 2>/dev/null)"
-		else
-			local head=""
-			if ! __git_eread "$g/HEAD" head; then
-				return $exit
-			fi
-			# is it a symbolic ref?
-			b="${head#ref: }"
-			if [ "$head" = "$b" ]; then
-				detached=yes
-				b="$(
-				case "${GIT_PS1_DESCRIBE_STYLE-}" in
-				(contains)
-					git describe --contains HEAD ;;
-				(branch)
-					git describe --contains --all HEAD ;;
-				(tag)
-					git describe --tags HEAD ;;
-				(describe)
-					git describe HEAD ;;
-				(* | default)
-					git describe --tags --exact-match HEAD ;;
-				esac 2>/dev/null)" ||
-
-				b="$short_sha..."
-				b="($b)"
-			fi
-		fi
-	fi
-
-	if [ -n "$step" ] && [ -n "$total" ]; then
-		r="$r $step/$total"
-	fi
-
-	local w=""
-	local i=""
-	local s=""
-	local u=""
-	local h=""
-	local c=""
-	local p="" # short version of upstream state indicator
-	local upstream="" # verbose version of upstream state indicator
-
-	if [ "true" = "$inside_gitdir" ]; then
-		if [ "true" = "$bare_repo" ]; then
-			c="BARE:"
-		else
-			b="GIT_DIR!"
-		fi
-	elif [ "true" = "$inside_worktree" ]; then
-		if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ] &&
-		   [ "$(git config --bool bash.showDirtyState)" != "false" ]
-		then
-			git diff --no-ext-diff --quiet || w="*"
-			git diff --no-ext-diff --cached --quiet || i="+"
-			if [ -z "$short_sha" ] && [ -z "$i" ]; then
-				i="#"
-			fi
-		fi
-		if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ] &&
-		   git rev-parse --verify --quiet refs/stash >/dev/null
-		then
-			s="$"
-		fi
-
-		if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ] &&
-		   [ "$(git config --bool bash.showUntrackedFiles)" != "false" ] &&
-		   git ls-files --others --exclude-standard --directory --no-empty-directory --error-unmatch -- ':/*' >/dev/null 2>/dev/null
-		then
-			u="%${ZSH_VERSION+%}"
-		fi
-
-		if [ -n "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
-		   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
-			h="?"
-		fi
-
-		if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then
-			__git_ps1_show_upstream
-		fi
-	fi
-
-	local z="${GIT_PS1_STATESEPARATOR-" "}"
-
-	b=${b##refs/heads/}
-	if [ $pcmode = yes ] && [ $ps1_expanded = yes ]; then
-		__git_ps1_branch_name=$b
-		b="\${__git_ps1_branch_name}"
-	fi
-
-	# NO color option unless in PROMPT_COMMAND mode or it's Zsh
-	if [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then
-		if [ $pcmode = yes ] || [ -n "${ZSH_VERSION-}" ]; then
-			__git_ps1_colorize_gitstring
-		fi
-	fi
-
-	local f="$h$w$i$s$u$p"
-	local gitstring="$c$b${f:+$z$f}${sparse}$r${upstream}"
-
-	if [ $pcmode = yes ]; then
-		if [ "${__git_printf_supports_v-}" != yes ]; then
-			gitstring=$(printf -- "$printf_format" "$gitstring")
-		else
-			printf -v gitstring -- "$printf_format" "$gitstring"
-		fi
-		PS1="$ps1pc_start$gitstring$ps1pc_end"
-	else
-		printf -- "$printf_format" "$gitstring"
-	fi
-
-	return $exit
-}
diff --git a/git/ignore b/git/ignore
deleted file mode 100644
index d71d05b..0000000
--- a/git/ignore
+++ /dev/null
@@ -1,7 +0,0 @@
-# gitconfig file in ~/.config/git/config (if not in ~/.gitconfig)
-
-# Vim
-*.swp
-
-# KDE
-.directory
diff --git a/local/bin/git-prompt.sh b/local/bin/git-prompt.sh
new file mode 100644
index 0000000..1435548
--- /dev/null
+++ b/local/bin/git-prompt.sh
@@ -0,0 +1,589 @@
+# bash/zsh git prompt support
+#
+# Copyright (C) 2006,2007 Shawn O. Pearce 
+# Distributed under the GNU General Public License, version 2.0.
+#
+# This script allows you to see repository status in your prompt.
+#
+# To enable:
+#
+#    1) Copy this file to somewhere (e.g. ~/.git-prompt.sh).
+#    2) Add the following line to your .bashrc/.zshrc:
+#        source ~/.git-prompt.sh
+#    3a) Change your PS1 to call __git_ps1 as
+#        command-substitution:
+#        Bash: PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ '
+#        ZSH:  setopt PROMPT_SUBST ; PS1='[%n@%m %c$(__git_ps1 " (%s)")]\$ '
+#        the optional argument will be used as format string.
+#    3b) Alternatively, for a slightly faster prompt, __git_ps1 can
+#        be used for PROMPT_COMMAND in Bash or for precmd() in Zsh
+#        with two parameters, 
 and , which are strings
+#        you would put in $PS1 before and after the status string
+#        generated by the git-prompt machinery.  e.g.
+#        Bash: PROMPT_COMMAND='__git_ps1 "\u@\h:\w" "\\\$ "'
+#          will show username, at-sign, host, colon, cwd, then
+#          various status string, followed by dollar and SP, as
+#          your prompt.
+#        ZSH:  precmd () { __git_ps1 "%n" ":%~$ " "|%s" }
+#          will show username, pipe, then various status string,
+#          followed by colon, cwd, dollar and SP, as your prompt.
+#        Optionally, you can supply a third argument with a printf
+#        format string to finetune the output of the branch status
+#
+# The repository status will be displayed only if you are currently in a
+# git repository. The %s token is the placeholder for the shown status.
+#
+# The prompt status always includes the current branch name.
+#
+# In addition, if you set GIT_PS1_SHOWDIRTYSTATE to a nonempty value,
+# unstaged (*) and staged (+) changes will be shown next to the branch
+# name.  You can configure this per-repository with the
+# bash.showDirtyState variable, which defaults to true once
+# GIT_PS1_SHOWDIRTYSTATE is enabled.
+#
+# You can also see if currently something is stashed, by setting
+# GIT_PS1_SHOWSTASHSTATE to a nonempty value. If something is stashed,
+# then a '$' will be shown next to the branch name.
+#
+# If you would like to see if there're untracked files, then you can set
+# GIT_PS1_SHOWUNTRACKEDFILES to a nonempty value. If there're untracked
+# files, then a '%' will be shown next to the branch name.  You can
+# configure this per-repository with the bash.showUntrackedFiles
+# variable, which defaults to true once GIT_PS1_SHOWUNTRACKEDFILES is
+# enabled.
+#
+# If you would like to see the difference between HEAD and its upstream,
+# set GIT_PS1_SHOWUPSTREAM="auto".  A "<" indicates you are behind, ">"
+# indicates you are ahead, "<>" indicates you have diverged and "="
+# indicates that there is no difference. You can further control
+# behaviour by setting GIT_PS1_SHOWUPSTREAM to a space-separated list
+# of values:
+#
+#     verbose       show number of commits ahead/behind (+/-) upstream
+#     name          if verbose, then also show the upstream abbrev name
+#     legacy        don't use the '--count' option available in recent
+#                   versions of git-rev-list
+#     git           always compare HEAD to @{upstream}
+#     svn           always compare HEAD to your SVN upstream
+#
+# By default, __git_ps1 will compare HEAD to your SVN upstream if it can
+# find one, or @{upstream} otherwise.  Once you have set
+# GIT_PS1_SHOWUPSTREAM, you can override it on a per-repository basis by
+# setting the bash.showUpstream config variable.
+#
+# You can change the separator between the branch name and the above
+# state symbols by setting GIT_PS1_STATESEPARATOR. The default separator
+# is SP.
+#
+# When there is an in-progress operation such as a merge, rebase,
+# revert, cherry-pick, or bisect, the prompt will include information
+# related to the operation, often in the form "|".
+#
+# When the repository has a sparse-checkout, a notification of the form
+# "|SPARSE" will be included in the prompt.  This can be shortened to a
+# single '?' character by setting GIT_PS1_COMPRESSSPARSESTATE, or omitted
+# by setting GIT_PS1_OMITSPARSESTATE.
+#
+# If you would like to see more information about the identity of
+# commits checked out as a detached HEAD, set GIT_PS1_DESCRIBE_STYLE
+# to one of these values:
+#
+#     contains      relative to newer annotated tag (v1.6.3.2~35)
+#     branch        relative to newer tag or branch (master~4)
+#     describe      relative to older annotated tag (v1.6.3.1-13-gdd42c2f)
+#     tag           relative to any older tag (v1.6.3.1-13-gdd42c2f)
+#     default       exactly matching tag
+#
+# If you would like a colored hint about the current dirty state, set
+# GIT_PS1_SHOWCOLORHINTS to a nonempty value. The colors are based on
+# the colored output of "git status -sb" and are available only when
+# using __git_ps1 for PROMPT_COMMAND or precmd in Bash,
+# but always available in Zsh.
+#
+# If you would like __git_ps1 to do nothing in the case when the current
+# directory is set up to be ignored by git, then set
+# GIT_PS1_HIDE_IF_PWD_IGNORED to a nonempty value. Override this on the
+# repository level by setting bash.hideIfPwdIgnored to "false".
+
+# check whether printf supports -v
+__git_printf_supports_v=
+printf -v __git_printf_supports_v -- '%s' yes >/dev/null 2>&1
+
+# stores the divergence from upstream in $p
+# used by GIT_PS1_SHOWUPSTREAM
+__git_ps1_show_upstream ()
+{
+	local key value
+	local svn_remote svn_url_pattern count n
+	local upstream_type=git legacy="" verbose="" name=""
+
+	svn_remote=()
+	# get some config options from git-config
+	local output="$(git config -z --get-regexp '^(svn-remote\..*\.url|bash\.showupstream)$' 2>/dev/null | tr '\0\n' '\n ')"
+	while read -r key value; do
+		case "$key" in
+		bash.showupstream)
+			GIT_PS1_SHOWUPSTREAM="$value"
+			if [[ -z "${GIT_PS1_SHOWUPSTREAM}" ]]; then
+				p=""
+				return
+			fi
+			;;
+		svn-remote.*.url)
+			svn_remote[$((${#svn_remote[@]} + 1))]="$value"
+			svn_url_pattern="$svn_url_pattern\\|$value"
+			upstream_type=svn+git # default upstream type is SVN if available, else git
+			;;
+		esac
+	done <<< "$output"
+
+	# parse configuration values
+	local option
+	for option in ${GIT_PS1_SHOWUPSTREAM}; do
+		case "$option" in
+		git|svn) upstream_type="$option" ;;
+		verbose) verbose=1 ;;
+		legacy)  legacy=1  ;;
+		name)    name=1 ;;
+		esac
+	done
+
+	# Find our upstream type
+	case "$upstream_type" in
+	git)    upstream_type="@{upstream}" ;;
+	svn*)
+		# get the upstream from the "git-svn-id: ..." in a commit message
+		# (git-svn uses essentially the same procedure internally)
+		local -a svn_upstream
+		svn_upstream=($(git log --first-parent -1 \
+					--grep="^git-svn-id: \(${svn_url_pattern#??}\)" 2>/dev/null))
+		if [[ 0 -ne ${#svn_upstream[@]} ]]; then
+			svn_upstream=${svn_upstream[${#svn_upstream[@]} - 2]}
+			svn_upstream=${svn_upstream%@*}
+			local n_stop="${#svn_remote[@]}"
+			for ((n=1; n <= n_stop; n++)); do
+				svn_upstream=${svn_upstream#${svn_remote[$n]}}
+			done
+
+			if [[ -z "$svn_upstream" ]]; then
+				# default branch name for checkouts with no layout:
+				upstream_type=${GIT_SVN_ID:-git-svn}
+			else
+				upstream_type=${svn_upstream#/}
+			fi
+		elif [[ "svn+git" = "$upstream_type" ]]; then
+			upstream_type="@{upstream}"
+		fi
+		;;
+	esac
+
+	# Find how many commits we are ahead/behind our upstream
+	if [[ -z "$legacy" ]]; then
+		count="$(git rev-list --count --left-right \
+				"$upstream_type"...HEAD 2>/dev/null)"
+	else
+		# produce equivalent output to --count for older versions of git
+		local commits
+		if commits="$(git rev-list --left-right "$upstream_type"...HEAD 2>/dev/null)"
+		then
+			local commit behind=0 ahead=0
+			for commit in $commits
+			do
+				case "$commit" in
+				"<"*) ((behind++)) ;;
+				*)    ((ahead++))  ;;
+				esac
+			done
+			count="$behind	$ahead"
+		else
+			count=""
+		fi
+	fi
+
+	# calculate the result
+	if [[ -z "$verbose" ]]; then
+		case "$count" in
+		"") # no upstream
+			p="" ;;
+		"0	0") # equal to upstream
+			p="=" ;;
+		"0	"*) # ahead of upstream
+			p=">" ;;
+		*"	0") # behind upstream
+			p="<" ;;
+		*)	    # diverged from upstream
+			p="<>" ;;
+		esac
+	else # verbose, set upstream instead of p
+		case "$count" in
+		"") # no upstream
+			upstream="" ;;
+		"0	0") # equal to upstream
+			upstream="|u=" ;;
+		"0	"*) # ahead of upstream
+			upstream="|u+${count#0	}" ;;
+		*"	0") # behind upstream
+			upstream="|u-${count%	0}" ;;
+		*)	    # diverged from upstream
+			upstream="|u+${count#*	}-${count%	*}" ;;
+		esac
+		if [[ -n "$count" && -n "$name" ]]; then
+			__git_ps1_upstream_name=$(git rev-parse \
+				--abbrev-ref "$upstream_type" 2>/dev/null)
+			if [ $pcmode = yes ] && [ $ps1_expanded = yes ]; then
+				upstream="$upstream \${__git_ps1_upstream_name}"
+			else
+				upstream="$upstream ${__git_ps1_upstream_name}"
+				# not needed anymore; keep user's
+				# environment clean
+				unset __git_ps1_upstream_name
+			fi
+		fi
+	fi
+
+}
+
+# Helper function that is meant to be called from __git_ps1.  It
+# injects color codes into the appropriate gitstring variables used
+# to build a gitstring. Colored variables are responsible for clearing
+# their own color.
+__git_ps1_colorize_gitstring ()
+{
+	if [[ -n ${ZSH_VERSION-} ]]; then
+		local c_red='%F{red}'
+		local c_green='%F{green}'
+		local c_lblue='%F{blue}'
+		local c_clear='%f'
+	else
+		# Using \[ and \] around colors is necessary to prevent
+		# issues with command line editing/browsing/completion!
+		local c_red='\[\e[31m\]'
+		local c_green='\[\e[32m\]'
+		local c_lblue='\[\e[1;34m\]'
+		local c_clear='\[\e[0m\]'
+	fi
+	local bad_color=$c_red
+	local ok_color=$c_green
+	local flags_color="$c_lblue"
+
+	local branch_color=""
+	if [ $detached = no ]; then
+		branch_color="$ok_color"
+	else
+		branch_color="$bad_color"
+	fi
+	if [ -n "$c" ]; then
+		c="$branch_color$c$c_clear"
+	fi
+	b="$branch_color$b$c_clear"
+
+	if [ -n "$w" ]; then
+		w="$bad_color$w$c_clear"
+	fi
+	if [ -n "$i" ]; then
+		i="$ok_color$i$c_clear"
+	fi
+	if [ -n "$s" ]; then
+		s="$flags_color$s$c_clear"
+	fi
+	if [ -n "$u" ]; then
+		u="$bad_color$u$c_clear"
+	fi
+}
+
+# Helper function to read the first line of a file into a variable.
+# __git_eread requires 2 arguments, the file path and the name of the
+# variable, in that order.
+__git_eread ()
+{
+	test -r "$1" && IFS=$'\r\n' read "$2" <"$1"
+}
+
+# see if a cherry-pick or revert is in progress, if the user has committed a
+# conflict resolution with 'git commit' in the middle of a sequence of picks or
+# reverts then CHERRY_PICK_HEAD/REVERT_HEAD will not exist so we have to read
+# the todo file.
+__git_sequencer_status ()
+{
+	local todo
+	if test -f "$g/CHERRY_PICK_HEAD"
+	then
+		r="|CHERRY-PICKING"
+		return 0;
+	elif test -f "$g/REVERT_HEAD"
+	then
+		r="|REVERTING"
+		return 0;
+	elif __git_eread "$g/sequencer/todo" todo
+	then
+		case "$todo" in
+		p[\ \	]|pick[\ \	]*)
+			r="|CHERRY-PICKING"
+			return 0
+		;;
+		revert[\ \	]*)
+			r="|REVERTING"
+			return 0
+		;;
+		esac
+	fi
+	return 1
+}
+
+# __git_ps1 accepts 0 or 1 arguments (i.e., format string)
+# when called from PS1 using command substitution
+# in this mode it prints text to add to bash PS1 prompt (includes branch name)
+#
+# __git_ps1 requires 2 or 3 arguments when called from PROMPT_COMMAND (pc)
+# in that case it _sets_ PS1. The arguments are parts of a PS1 string.
+# when two arguments are given, the first is prepended and the second appended
+# to the state string when assigned to PS1.
+# The optional third parameter will be used as printf format string to further
+# customize the output of the git-status string.
+# In this mode you can request colored hints using GIT_PS1_SHOWCOLORHINTS=true
+__git_ps1 ()
+{
+	# preserve exit status
+	local exit=$?
+	local pcmode=no
+	local detached=no
+	local ps1pc_start='\u@\h:\w '
+	local ps1pc_end='\$ '
+	local printf_format=' (%s)'
+
+	case "$#" in
+		2|3)	pcmode=yes
+			ps1pc_start="$1"
+			ps1pc_end="$2"
+			printf_format="${3:-$printf_format}"
+			# set PS1 to a plain prompt so that we can
+			# simply return early if the prompt should not
+			# be decorated
+			PS1="$ps1pc_start$ps1pc_end"
+		;;
+		0|1)	printf_format="${1:-$printf_format}"
+		;;
+		*)	return $exit
+		;;
+	esac
+
+	# ps1_expanded:  This variable is set to 'yes' if the shell
+	# subjects the value of PS1 to parameter expansion:
+	#
+	#   * bash does unless the promptvars option is disabled
+	#   * zsh does not unless the PROMPT_SUBST option is set
+	#   * POSIX shells always do
+	#
+	# If the shell would expand the contents of PS1 when drawing
+	# the prompt, a raw ref name must not be included in PS1.
+	# This protects the user from arbitrary code execution via
+	# specially crafted ref names.  For example, a ref named
+	# 'refs/heads/$(IFS=_;cmd=sudo_rm_-rf_/;$cmd)' might cause the
+	# shell to execute 'sudo rm -rf /' when the prompt is drawn.
+	#
+	# Instead, the ref name should be placed in a separate global
+	# variable (in the __git_ps1_* namespace to avoid colliding
+	# with the user's environment) and that variable should be
+	# referenced from PS1.  For example:
+	#
+	#     __git_ps1_foo=$(do_something_to_get_ref_name)
+	#     PS1="...stuff...\${__git_ps1_foo}...stuff..."
+	#
+	# If the shell does not expand the contents of PS1, the raw
+	# ref name must be included in PS1.
+	#
+	# The value of this variable is only relevant when in pcmode.
+	#
+	# Assume that the shell follows the POSIX specification and
+	# expands PS1 unless determined otherwise.  (This is more
+	# likely to be correct if the user has a non-bash, non-zsh
+	# shell and safer than the alternative if the assumption is
+	# incorrect.)
+	#
+	local ps1_expanded=yes
+	[ -z "${ZSH_VERSION-}" ] || [[ -o PROMPT_SUBST ]] || ps1_expanded=no
+	[ -z "${BASH_VERSION-}" ] || shopt -q promptvars || ps1_expanded=no
+
+	local repo_info rev_parse_exit_code
+	repo_info="$(git rev-parse --git-dir --is-inside-git-dir \
+		--is-bare-repository --is-inside-work-tree \
+		--short HEAD 2>/dev/null)"
+	rev_parse_exit_code="$?"
+
+	if [ -z "$repo_info" ]; then
+		return $exit
+	fi
+
+	local short_sha=""
+	if [ "$rev_parse_exit_code" = "0" ]; then
+		short_sha="${repo_info##*$'\n'}"
+		repo_info="${repo_info%$'\n'*}"
+	fi
+	local inside_worktree="${repo_info##*$'\n'}"
+	repo_info="${repo_info%$'\n'*}"
+	local bare_repo="${repo_info##*$'\n'}"
+	repo_info="${repo_info%$'\n'*}"
+	local inside_gitdir="${repo_info##*$'\n'}"
+	local g="${repo_info%$'\n'*}"
+
+	if [ "true" = "$inside_worktree" ] &&
+	   [ -n "${GIT_PS1_HIDE_IF_PWD_IGNORED-}" ] &&
+	   [ "$(git config --bool bash.hideIfPwdIgnored)" != "false" ] &&
+	   git check-ignore -q .
+	then
+		return $exit
+	fi
+
+	local sparse=""
+	if [ -z "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
+	   [ -z "${GIT_PS1_OMITSPARSESTATE-}" ] &&
+	   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
+		sparse="|SPARSE"
+	fi
+
+	local r=""
+	local b=""
+	local step=""
+	local total=""
+	if [ -d "$g/rebase-merge" ]; then
+		__git_eread "$g/rebase-merge/head-name" b
+		__git_eread "$g/rebase-merge/msgnum" step
+		__git_eread "$g/rebase-merge/end" total
+		r="|REBASE"
+	else
+		if [ -d "$g/rebase-apply" ]; then
+			__git_eread "$g/rebase-apply/next" step
+			__git_eread "$g/rebase-apply/last" total
+			if [ -f "$g/rebase-apply/rebasing" ]; then
+				__git_eread "$g/rebase-apply/head-name" b
+				r="|REBASE"
+			elif [ -f "$g/rebase-apply/applying" ]; then
+				r="|AM"
+			else
+				r="|AM/REBASE"
+			fi
+		elif [ -f "$g/MERGE_HEAD" ]; then
+			r="|MERGING"
+		elif __git_sequencer_status; then
+			:
+		elif [ -f "$g/BISECT_LOG" ]; then
+			r="|BISECTING"
+		fi
+
+		if [ -n "$b" ]; then
+			:
+		elif [ -h "$g/HEAD" ]; then
+			# symlink symbolic ref
+			b="$(git symbolic-ref HEAD 2>/dev/null)"
+		else
+			local head=""
+			if ! __git_eread "$g/HEAD" head; then
+				return $exit
+			fi
+			# is it a symbolic ref?
+			b="${head#ref: }"
+			if [ "$head" = "$b" ]; then
+				detached=yes
+				b="$(
+				case "${GIT_PS1_DESCRIBE_STYLE-}" in
+				(contains)
+					git describe --contains HEAD ;;
+				(branch)
+					git describe --contains --all HEAD ;;
+				(tag)
+					git describe --tags HEAD ;;
+				(describe)
+					git describe HEAD ;;
+				(* | default)
+					git describe --tags --exact-match HEAD ;;
+				esac 2>/dev/null)" ||
+
+				b="$short_sha..."
+				b="($b)"
+			fi
+		fi
+	fi
+
+	if [ -n "$step" ] && [ -n "$total" ]; then
+		r="$r $step/$total"
+	fi
+
+	local w=""
+	local i=""
+	local s=""
+	local u=""
+	local h=""
+	local c=""
+	local p="" # short version of upstream state indicator
+	local upstream="" # verbose version of upstream state indicator
+
+	if [ "true" = "$inside_gitdir" ]; then
+		if [ "true" = "$bare_repo" ]; then
+			c="BARE:"
+		else
+			b="GIT_DIR!"
+		fi
+	elif [ "true" = "$inside_worktree" ]; then
+		if [ -n "${GIT_PS1_SHOWDIRTYSTATE-}" ] &&
+		   [ "$(git config --bool bash.showDirtyState)" != "false" ]
+		then
+			git diff --no-ext-diff --quiet || w="*"
+			git diff --no-ext-diff --cached --quiet || i="+"
+			if [ -z "$short_sha" ] && [ -z "$i" ]; then
+				i="#"
+			fi
+		fi
+		if [ -n "${GIT_PS1_SHOWSTASHSTATE-}" ] &&
+		   git rev-parse --verify --quiet refs/stash >/dev/null
+		then
+			s="$"
+		fi
+
+		if [ -n "${GIT_PS1_SHOWUNTRACKEDFILES-}" ] &&
+		   [ "$(git config --bool bash.showUntrackedFiles)" != "false" ] &&
+		   git ls-files --others --exclude-standard --directory --no-empty-directory --error-unmatch -- ':/*' >/dev/null 2>/dev/null
+		then
+			u="%${ZSH_VERSION+%}"
+		fi
+
+		if [ -n "${GIT_PS1_COMPRESSSPARSESTATE-}" ] &&
+		   [ "$(git config --bool core.sparseCheckout)" = "true" ]; then
+			h="?"
+		fi
+
+		if [ -n "${GIT_PS1_SHOWUPSTREAM-}" ]; then
+			__git_ps1_show_upstream
+		fi
+	fi
+
+	local z="${GIT_PS1_STATESEPARATOR-" "}"
+
+	b=${b##refs/heads/}
+	if [ $pcmode = yes ] && [ $ps1_expanded = yes ]; then
+		__git_ps1_branch_name=$b
+		b="\${__git_ps1_branch_name}"
+	fi
+
+	# NO color option unless in PROMPT_COMMAND mode or it's Zsh
+	if [ -n "${GIT_PS1_SHOWCOLORHINTS-}" ]; then
+		if [ $pcmode = yes ] || [ -n "${ZSH_VERSION-}" ]; then
+			__git_ps1_colorize_gitstring
+		fi
+	fi
+
+	local f="$h$w$i$s$u$p"
+	local gitstring="$c$b${f:+$z$f}${sparse}$r${upstream}"
+
+	if [ $pcmode = yes ]; then
+		if [ "${__git_printf_supports_v-}" != yes ]; then
+			gitstring=$(printf -- "$printf_format" "$gitstring")
+		else
+			printf -v gitstring -- "$printf_format" "$gitstring"
+		fi
+		PS1="$ps1pc_start$gitstring$ps1pc_end"
+	else
+		printf -- "$printf_format" "$gitstring"
+	fi
+
+	return $exit
+}
diff --git a/local/share/applications/README.txt b/local/share/applications/README.txt
new file mode 100644
index 0000000..3f73bd4
--- /dev/null
+++ b/local/share/applications/README.txt
@@ -0,0 +1 @@
+See https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
diff --git a/local/share/applications/img.desktop b/local/share/applications/img.desktop
new file mode 100644
index 0000000..c19d314
--- /dev/null
+++ b/local/share/applications/img.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Type=Application
+Name=Image viewer
+Exec=/usr/bin/nsxiv -a %f
+Categories=Graphics;Office;
diff --git a/local/share/applications/text.desktop b/local/share/applications/text.desktop
new file mode 100644
index 0000000..41ee05f
--- /dev/null
+++ b/local/share/applications/text.desktop
@@ -0,0 +1,4 @@
+[Desktop Entry]
+Type=Application
+Name=Text editor
+Exec=/usr/local/bin/st -e nvim %u
diff --git a/minimal/README.txt b/minimal/README.txt
deleted file mode 100644
index 3fd50f9..0000000
--- a/minimal/README.txt
+++ /dev/null
@@ -1 +0,0 @@
-Minimal configuration.   Only the most essential non-default stuff here.
diff --git a/mpv/mpv.conf b/mpv/mpv.conf
deleted file mode 100644
index 23b612d..0000000
--- a/mpv/mpv.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-# ~/.config/mpv/mpv.conf
-
-# Screenshots
-screenshot-template="%f-%P"
-screenshot-directory="~/media/Pictures/Screenshots/mpv"
diff --git a/nvim/colors/mac_classic.vim b/nvim/colors/mac_classic.vim
deleted file mode 100644
index 9382bde..0000000
--- a/nvim/colors/mac_classic.vim
+++ /dev/null
@@ -1,226 +0,0 @@
-" Vim color scheme
-"
-" Name:         mac_classic.vim
-" Maintainer:   Drew Neil 
-" License:      public domain
-" Version:      0.1
-
-" Boilerplate: {{{1
-set background=light
-highlight clear
-
-if exists("syntax_on")
-  syntax reset
-endif
-
-let g:colors_name = "mac_classic"
-
-
-" Colors: {{{1
-" TODO figure out how to not highlight TODO
-"
-" #000000
-" #3C4C72 - BLUE/GREY - cursor, rails helpers
-" #0000A2 - D.BLUE - numbers & function names
-" #1E39F6 - BLUE
-" #0066FF - L.BLUE - Comments, TODOs and folds
-" #6E79F1 - L.PURPLE - Booleans, Ruby Constants & CSS definitions
-" #318495 - BLUE/GREEN - Ruby instance/global/pseudo variables
-" #007B22 - D.GREEN - Strings, Labels and code blocks in Markdown
-" #00BC41 - L.GREEN - CSS common attributes & ruby interpolation
-" #990000 - BURGUNDY - Errors and Warnings
-" #D51015 - RED for constants, symbols, numbers
-" #E18AC7 - PINK RegularExpressions in Ruby
-" #FFCE77 - ORANGE - Incremental Search
-" #FFE6BB - L.ORANGE - Search
-" #C6DEFF - VL.BLUE Visual, Current StatusLine & AutoComplete selection
-" #808080 - Line numbers
-" #CFCFCF - VerticalSplit separator
-" #DFDFDF - Invisible Characters
-" #EFEFEF - LineNumber & Non-Current StatusLine
-" #F0F6FF - CursorLine & CursorColumn
-" #FFFFFF - WHITE
-" }}}
-
-" GUI: {{{1
-hi Cursor  guifg=#FFFFFF ctermfg=15 guibg=#3C4C72 ctermbg=240
-hi Visual  guibg=#C6DEFF ctermbg=189
-hi CursorLine  guibg=#F0F6FF ctermbg=15
-hi CursorColumn  guibg=#F0F6FF ctermbg=15
-hi LineNr  guifg=#808080 ctermfg=244 guibg=#EFEFEF ctermbg=7
-hi VertSplit  guifg=#FFFFFF ctermfg=15 guibg=#CFCFCF ctermbg=252 gui=NONE
-hi MatchParen  guifg=#1E39F6 ctermfg=27 guibg=NONE gui=bold
-hi Pmenu guibg=#EFEFEF ctermbg=7
-hi PmenuSel  guibg=#C6DEFF ctermbg=189
-hi Directory  guifg=#D51015 ctermfg=160 gui=bold
-hi Folded  guifg=#0066FF ctermfg=27 guibg=#FFFFFF ctermbg=15
-" StatusLine: {{{2
-hi StatusLine  guifg=#000000 ctermfg=0 guibg=#C6DEFF ctermbg=189 gui=italic
-hi StatusLineNC  guifg=#000000 ctermfg=0 guibg=#EFEFEF ctermbg=7 gui=NONE
-
-" Search: {{{2
-" [IncSearch is stronger than Search]
-hi IncSearch  guifg=NONE guibg=#FFCE77 ctermbg=222 gui=NONE
-hi Search  guibg=#FFE6BB ctermbg=223
-
-" Syntax: {{{1
-hi Normal  guifg=#000000 ctermfg=0 guibg=#FFFFFF ctermbg=15
-hi Boolean  guifg=#6E79F1 ctermfg=69 gui=bold
-hi Character  guifg=#D51015 ctermfg=160 gui=bold
-hi Comment  guifg=#0066FF ctermfg=27 gui=italic
-hi Conditional  guifg=#1E39F6 ctermfg=27 gui=bold
-hi Constant  guifg=#D51015 ctermfg=160 gui=bold
-hi Define  guifg=#1E39F6 ctermfg=27 gui=bold
-hi ErrorMsg  guifg=#FFFFFF ctermfg=15 guibg=#990000 ctermbg=88
-hi WarningMsg  guifg=#FFFFFF ctermfg=15 guibg=#990000 ctermbg=88
-hi Float  guifg=#0000A2 ctermfg=19
-hi Function  guifg=#0000A2 ctermfg=19 gui=bold
-hi Identifier  guifg=#1E39F6 ctermfg=27 gui=bold
-hi Keyword  guifg=#1E39F6 ctermfg=27 gui=bold
-hi Label  guifg=#007B22 ctermfg=28
-hi Number  guifg=#0000A2 ctermfg=19
-hi Operator  guifg=#1E39F6 ctermfg=27 gui=bold
-hi PreProc  guifg=#1E39F6 ctermfg=27 gui=bold
-hi Special  guifg=#000000 ctermfg=0
-hi Statement  guifg=#1E39F6 ctermfg=27 gui=bold
-hi StorageClass  guifg=#1E39F6 ctermfg=27 gui=bold
-hi String  guifg=#007B22 ctermfg=28
-hi Title  guifg=#000000 ctermfg=0 gui=bold
-hi Todo  guifg=#0066FF ctermfg=27 gui=inverse,bold,italic
-hi Underlined  gui=underline
-
-" Invisible character colors
-hi NonText  guifg=#DFDFDF ctermfg=253 guibg=#FFFFFF ctermbg=15
-hi SpecialKey  guifg=#DFDFDF ctermfg=253 guibg=#FFFFFF ctermbg=15
-
-" Diff styles {{{1
-hi diffAdded guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15
-hi diffRemoved guifg=#D51015 guibg=#FFFFFF ctermfg=160 ctermbg=15
-hi diffFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15
-hi diffNewFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15
-hi diffLine guifg=#000000 guibg=#FFFFFF ctermfg=0 ctermbg=15
-
-hi diffAdd guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15
-hi diffChange guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15
-hi diffText guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15
-hi link diffDelete diffRemoved
-" Git styles {{{1
-hi gitcommitFirstLine guifg=#000000 guibg=#FFFFFF ctermfg=0 ctermbg=15
-hi gitcommitSelectedType guifg=#007B22 guibg=#FFFFFF ctermfg=28 ctermbg=15
-hi link gitcommitSelectedFile gitcommitSelectedType
-hi gitcommitDiscardedType guifg=#D51015 guibg=#FFFFFF ctermfg=160 ctermbg=15
-hi link gitcommitDiscardedFile gitcommitDiscardedType
-hi gitcommitUntrackedFile guifg=#6E79F1 guibg=#FFFFFF ctermfg=69 ctermbg=15
-" Ruby styles {{{1
-hi rubyClass  guifg=#1E39F6 ctermfg=27 gui=bold
-hi rubyFunction  guifg=#0000A2 ctermfg=19 gui=bold
-hi rubyInterpolationDelimiter  guifg=#00BC41 ctermfg=35
-hi rubyInterpolation  guifg=#00BC41 ctermfg=35
-hi rubySymbol  guifg=#D51015 ctermfg=160 gui=bold
-hi rubyConstant  guifg=#6E79F1 ctermfg=69 gui=bold
-hi rubyStringDelimiter  guifg=#007B22 ctermfg=28
-hi rubyInstanceVariable  guifg=#318495 ctermfg=66
-hi rubyInclude  guifg=#1E39F6 ctermfg=27 gui=bold
-hi rubyGlobalVariable  guifg=#318495 ctermfg=66
-hi rubyRegexp  guifg=#E18AC7 ctermfg=176
-hi rubyRegexpAnchor  guifg=#E18AC7 ctermfg=176
-hi rubyRegexpQuantifier  guifg=#E18AC7 ctermfg=176
-hi rubyRegexpParens  guifg=#E18AC7 ctermfg=176
-hi rubyRegexpEscape  guifg=#00BC41 ctermfg=35
-hi rubyRegexpCharClass  guifg=#00BC41 ctermfg=35
-hi rubyRegexpDelimiter  guifg=#E18AC7 ctermfg=176
-hi rubyEscape  guifg=#00BC41 ctermfg=35
-hi rubyControl  guifg=#1E39F6 ctermfg=27 gui=bold
-hi rubyOperator  guifg=#1E39F6 ctermfg=27 gui=bold
-hi rubyException  guifg=#1E39F6 ctermfg=27 gui=bold
-hi rubyPseudoVariable  guifg=#318495 ctermfg=66
-hi rubyRailsUserClass  guifg=#6E79F1 ctermfg=69 gui=bold
-hi rubyRailsARAssociationMethod  guifg=#3C4C72 ctermfg=240 gui=bold
-hi rubyRailsARMethod  guifg=#3C4C72 ctermfg=240 gui=bold
-hi rubyRailsRenderMethod  guifg=#3C4C72 ctermfg=240 gui=bold
-hi rubyRailsMethod  guifg=#3C4C72 ctermfg=240 gui=bold
-hi link erubyComment Comment
-hi erubyRailsMethod  guifg=#3C4C72 ctermfg=240 gui=bold
-
-" XML: {{{1
-hi link xmlEndTag xmlTag
-" HTML: {{{1
-hi htmlTag  guifg=#1E39F6 ctermfg=27
-hi link htmlEndTag htmlTag
-hi link htmlTagName htmlTag
-hi link htmlArg htmlTag
-hi htmlSpecialChar  guifg=#D51015 ctermfg=160 gui=bold
-hi htmlH1 gui=bold
-hi link htmlH2 htmlH1
-hi link htmlH3 htmlH1
-hi link htmlH4 htmlH1
-hi link htmlH5 htmlH1
-hi link htmlH6 htmlH1
-
-" JavaScript: {{{1
-hi javaScriptFunction  guifg=#1E39F6 ctermfg=27 gui=bold
-hi javaScriptFuncName  guifg=#318495 ctermfg=66 gui=italic
-hi javaScriptLabel  guifg=#0000A2 ctermfg=19 gui=bold
-hi javaScriptRailsFunction  guifg=#3C4C72 ctermfg=240 gui=bold
-hi javaScriptType  guifg=#318495 ctermfg=66 gui=none
-hi javaScriptArgument  guifg=#318495 ctermfg=66 gui=italic
-hi javaScriptRegexpString  guifg=#E18AC7 ctermfg=176 gui=NONE
-hi javaScriptSpecial  guifg=#00BC41 ctermfg=35 gui=NONE
-" NOTE: Syntax Highlighting for javascript doesn't match the
-" TextMate version very accurately, because the javascript
-" syntax file does not create matches for some items. In
-" particular:
-" * javaScriptArgument - e.g. function(argument)
-" * javaScriptFuncName for object literal style functions - e.g.: 
-"     myFunction: function() { ... }
-
-" YAML: {{{1
-hi yamlAnchor  guifg=#318495 ctermfg=66
-hi yamlAlias  guifg=#318495 ctermfg=66
-hi yamlDocumentHeader  guibg=#F2F2F2 ctermbg=7
-
-" CSS: {{{1
-hi cssTagName  gui=bold
-hi cssIdentifier  gui=italic
-hi link cssClassName cssIdentifier
-hi cssDefinition  guifg=#6E79F1 ctermfg=69
-hi link cssRenderProp cssDefinition
-hi link cssTextProp cssDefinition
-hi link cssFontProp cssDefinition
-hi link cssColorProp cssDefinition
-hi link cssBoxProp cssDefinition
-hi link cssGeneratedContentProp cssDefinition
-hi link cssUIProp cssDefinition
-hi cssCommonAttr  guifg=#00BC41 ctermfg=35
-hi link cssAttr cssCommonAttr
-hi link cssRenderAttr cssCommonAttr
-hi link cssTextAttr cssCommonAttr
-hi link cssFontAttr cssCommonAttr
-hi link cssGeneratedContentAttr cssCommonAttr
-hi cssURL  guifg=#007B22 ctermfg=28
-hi cssFunctionName  guifg=#3C4C72 ctermfg=240 gui=bold
-hi cssColor  guifg=#D51015 ctermfg=160 gui=bold
-hi cssValueLength  guifg=#0000A2 ctermfg=19
-hi cssImportant  guifg=#1E39F6 ctermfg=27 gui=bold
-
-" Vimscript: {{{1
-hi vimGroup  guifg=#007B22 ctermfg=28 gui=bold
-hi link vimHiGroup vimGroup
-hi vimCommentTitle  guifg=#3C4C72 ctermfg=240 gui=bold
-hi helpSpecial guifg=#6E79F1 ctermfg=69
-
-" Markdown: {{{1
-hi markdownBold gui=bold
-hi markdownItalic gui=italic
-hi markdownCode  guifg=#007B22 ctermfg=28
-hi link markdownCodeBlock markdownCode
-
-" Outliner: {{{1
-hi BT1 guifg=#808080 ctermfg=244 gui=italic
-hi OL1 guifg=#000000 ctermfg=0 gui=bold
-hi OL2 guifg=#0000A2 ctermfg=19 gui=bold
-hi OL3 guifg=#007B22 ctermfg=28 gui=bold
-hi OL4 guifg=#6E79F1 ctermfg=69 gui=NONE
-" Modelines: {{{1
-" vim: nowrap fdm=marker
-" }}}
diff --git a/nvim/ftplugin/tex.vim b/nvim/ftplugin/tex.vim
deleted file mode 100644
index e005eb1..0000000
--- a/nvim/ftplugin/tex.vim
+++ /dev/null
@@ -1 +0,0 @@
-nnoremap   :!build-latex.sh %
diff --git a/nvim/init.vim b/nvim/init.vim
deleted file mode 100644
index 000166a..0000000
--- a/nvim/init.vim
+++ /dev/null
@@ -1,193 +0,0 @@
-" NeoVim init.vim
-" 
-" Differences with good ol' Vim:
-"
-" NeoVim has so many of the modern and helpful Vim options on by default.  I'll
-" remove most of the old Vim configurations that now come by default in NeoVim.
-"
-" Also NeoVim uses XDG directories by default, keeping a clean directory tree.
-"
-" NeoVim also allows for this file to be written in Lua.  I'll stick to using
-" Vim script becuase it has more documentation and is more concise configuring
-" Vim options.
-"
-" Instead of viminfo, NeoVim uses shada files (SHared DAta) (different format).
-" See shada-file-name.
-"
-" For some reason, as of version v0.8.3 of NeoVim, Vim internal codes for shift-
-" and control- function keys change in NeoVim.   changes to , and
-"  changes to . See https://github.com/neovim/neovim/issues/7384
-"
-" Plugins:  There are a lot of ways to install "plug-in"s in Vim.  My prefered
-" way is using Vim packages, available since Vim version 8.  See packages.
-" 
-" Tips:
-" * To show navigate help files:
-"       K       " while on an option to see it's documentation
-"       CTRL-]  " navigation while on a Vim help file
-" * To re-indent:
-"       tab->spaces     :set tabstop=n      :set expandtab  :retab
-"       spaces->tab     :set noexpandtab    :set tabstop={softtabstop}  :retab!
-" * To justify:
-"       To 'justify' comments or block of text (paragraph) use `gq{motion}` or
-"       `gp{motion}`, where {motion} can be `[/`, `]/`, `ip`, `i{`, `a{`.
-" * To see the last page of previous command:
-"       `g<`
-" * Buffer stuff:
-"       :ls         " shows all buffers
-"       :b N        " Go to buffer N (integer)
-
-
-" Settings
-" ----------------------------------------------------------------------
-
-" Common
-colorscheme industry
-filetype plugin on
-
-" Command line:
-set cmdheight=1
-set wildmenu
-set wildignore+=*.o,.git,*.class
-set path+=./**30    " For gf and :find, add all subdirectories relative to
-                    " current file (30 max) to the "search space"
-
-" Search
-set ignorecase
-set smartcase
-
-" Screen
-set nonumber
-set scrolloff=5     " show a few lines of context
-set colorcolumn=+1  " show ruler at position tabstop+1
-set laststatus=2
-" Add buffer number to the default status line with ruler
-set statusline=%<%f\ %h%m%r%=b%02n\ \ %-14.(%l,%c%V%)\ %P
-
-" TODO: move to ftplugin
-" TODO: create tags automatically (:!ctags -R . after :w if ft=c)
-" Tag Jumping
-" Instructions: create tag index (e.g. $ ctags -R .)
-"               place cursor on tag
-"               ^]  to jump to definition
-"               g^] if more than 1 definition
-"               ^T  to return (or ^O)
-
-"set cindent            
-"set cinoptions=:0,g0   " See C-indenting
-
-
-" Indentation: 4 spaces
-" See also: autoindent, smartindent, cindent, indentexpr 
-set tabstop=4           " Each '\t' takes 8 virtual (screen) columns
-set shiftwidth=0        " (Auto)indentation.  Also affects: >>, i_C-T, i_C-D
-set expandtab           " Expand inserted s with 
-set smartindent         " Smart indenting when starting a new line
-
-" Formatting: See fo-table
-set formatoptions+=t        " auto-wrap text (when inserting)
-set formatoptions+=c        " auto-wrap comments (when inserting)
-set formatoptions+=q        " Allow formatting of comments with "gq"
-set formatoptions+=j        " Removes comment leader when joining lines
-set formatoptions+=l        " Don't break long lines that are already typed
-set formatoptions+=r        " Insert current leader after  in Insert mode
-set formatoptions+=p        " Don't break honorifics like Prof. Smith
-set formatoptions+=n        " Recognize numbered lists
-set formatoptions+=o        " Automatically insert the current comment
-                            " leader after `o`.
-
-" Wrap: Auto-break lines longer than 80 colums
-set textwidth=80    
-set wrap
-set linebreak       " Don't break words
-
-" Mouse
-set mouse=a         " Enable mouse for all modes
-
-" Buffers
-set hidden          " Allow for hidden modified buffers
-
-" Split
-set splitbelow splitright
-
-
-" Mappings
-" ----------------------------------------------------------------------
-
-let $VIMFILES = split(&rtp, ",")[0]
-
-map  :source $VIMFILES/init.vim
-map  :e $VIMFILES/init.vim
-
-map  :tabp
-map  :tabn
-map  :bNext
-map  :bnext
-
-" TODO: move to ftplugin
-" C/C++ Programming:
-map  :w:!clear && make
-"map  :!./%:r
-"map  :!./a.out
-map  :cnext
-map  :cprev
-" "Run cTags"
-map rt :!ctags -R .
-map  :tnext
-" Motion to go to beggining of function while cursor is inside
-nmap [f [m[{k0
-
-" pandoc (& website):
-nnoremap mm :w:Md2Html
-nmap mM mm:!updatewebsite_zaz
-
-" asciidoctor:
-nnoremap ma :w:!asciidoctor %
-nmap mA ma:!updatewebsite_zaz
-
-" Funcionallity of the following depends on terminal emulator.  Needs 8-bit
-" input enabled
-" for   = Alt  key combos
-" From: https://vim.fandom.com/wiki/Get_Alt_key_to_work_in_terminal
-nmap  h
-nmap  j
-nmap  k
-nmap  l
-
-" Go Title Case (and clear highlighted matches)
-" Ref.: https://vim.fandom.com
-vmap gt :s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g
-
-" Autoformat JSON jumbled data
-" Ref.: https://stackoverflow.com/questions/26214156/how-to-auto-format-json-on-save-in-vim
-nnoremap gJ :%!python3 -m json.tool
-
-" Replaces previous WORD arithmetic expression with result (from Vim
-" fandom-wiki)
-inoremap  diWi="
-
-
-" Views and Sessions (Window layout and Line folding)
-" ----------------------------------------------------------------------
-" It is possible to create folds automatically but idk how to do it.
-" :mkview so save them :loadview to load them (zo open one, zc close one,
-" zR to open all, zM to close all, zx to restore))
-
-" Views saves folds.  Sessions saves all windows configuration and layout
-" Load Sessions with $ vim -S Session.vim
-
-" To automatically save and restore views for *.c *.cpp files: 
-"au BufWinLeave *.c mkview
-"au BufWinEnter *.c silent loadview
-"au BufWinLeave *.cpp mkview
-"au BufWinEnter *.cpp silent loadview
-
-
-" Playground
-" ----------
-"autocmd FileType tex nnoremap   :!./build.sh %
-
-"augroup TeX
-"    autocmd!
-"    autocmd BufWritePost *.tex !./build.sh %
-"augroup END
diff --git a/nvim/pack/mitsuo/Readme.txt b/nvim/pack/mitsuo/Readme.txt
deleted file mode 100644
index a9e88cd..0000000
--- a/nvim/pack/mitsuo/Readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-Vim plugins I use go here.
diff --git a/nvim/pack/mitsuo/start/fun/Readme.txt b/nvim/pack/mitsuo/start/fun/Readme.txt
deleted file mode 100644
index 2f41d59..0000000
--- a/nvim/pack/mitsuo/start/fun/Readme.txt
+++ /dev/null
@@ -1 +0,0 @@
-My special functions :)
diff --git a/nvim/pack/mitsuo/start/fun/plugin/fun.vim b/nvim/pack/mitsuo/start/fun/plugin/fun.vim
deleted file mode 100644
index c992f93..0000000
--- a/nvim/pack/mitsuo/start/fun/plugin/fun.vim
+++ /dev/null
@@ -1,121 +0,0 @@
-" To call functions use `:call foo()`
-
-" Echoes longest line number and lenght.
-function! LongestLineLength ( )
-    let maxlength = 0
-    let linenumber= 1
-    while linenumber <= line("$")
-        exe ":".linenumber
-        let linelength = virtcol("$")
-        if maxlength < linelength
-            let maxlength = linelength
-            let maxlinenumber = linenumber
-        endif
-        let linenumber = linenumber+1
-    endwhile
-
-"exe ':0'
-"exe 'normal O'
-"exe 'normal 0C'.maxlength
-    exe "normal" . maxlinenumber . "G"
-    exe ":echo \"" . maxlinenumber . ": " . maxlength . "\""
-endfunction
-
-command LongestLineLength call LongestLineLength() 
-
-
-" Save markdown document and export to pdf using pandoc.
-"
-" It would be nicer if a default document would be used but I coulnd't made it
-" to work even after reading that manual section like 2 times.  Also, there are
-" variables that are lists of other variables that I don't know how to make them
-" work (e.g. geometry=[top=1in, bottom=1in, heightrounded])
-function! Md2Pdf ( )
-    exe ":w"
-    "-N     for numbered headers
-    exe ":! pandoc -o \"" . expand("%:r") . ".pdf\" -t latex --variable classoption=twosides --variable papersize=a4 --variable margin-left=1in --variable margin-right=1in --variable margin-top=1in --variable margin-bottom=1in --variable links-as-notes --variable colorlinks --variable pagestyle=plain --variable documentclass=article -f markdown-implicit_figures \"" . expand("%") . "\""
-    echo "pdf saved as \"" . expand("%:p:r") . ".pdf\""
-endfunction
-
-function! Md2Pdfms ( )
-    exe ":w"
-    exe ":! pandoc -o " . expand("%:r") . ".pdf" . " -t ms -f markdown-implicit_figures \"" . expand("%") . "\""
-    echo "pdf saved as " . expand("%:p:r") . ".pdf"
-endfunction
-
-command Md2Pdf call Md2Pdf() 
-command Md2Pdfms call Md2Pdfms() 
-
-
-" Save markdown document and export to html using pandoc
-function! Md2Html ( )
-    exe ":w"
-    "exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\""
-    exe ":! pandoc --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\""
-    echo "html saved as " . expand("%:p:r") . ".html"
-endfunction
-
-command Md2Html call Md2Html() 
-
-" Save markdown as ODT file (.docx is also possible)
-function! Md2Odt ( )
-    exe ":w"
-    exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".odt\"" . " \"" . expand("%") . "\""
-    echo "ODT saved as " . expand("%:p:r") . ".odt"
-endfunction
-
-command Md2Odt call Md2Odt() 
-
-
-" Compiles and Runs a C++ project
-" TODO: how to add program's arguments or file redirectioning  from command.
-function! CompRunProj ( )
-    exe ":w"
-    exe ":! g++ -o " . expand("%:r") . "-g *.cpp"
-    exe ":! ./" . expand("%:r")
-endfunction
-
-command CompRunProj call CompRunProj()
-
-
-" Function made to give feedback to students code in 1INF01
-" export C code to syntax highlighted pdf
-function! C2Pdf ( )
-    exe ":set ts=4"
-    exe ":w"
-    exe ":ha > %.ps"
-    exe ":!ps2pdf %.ps"
-    exe ":!rm %.ps"
-endfunction
-
-
-" For printing first export to html and then print using web browser
-" Ref.: https://vi.stackexchange.com/questions/12058/printing-unicode-chars
-function! ExportHTML (colorscheme="quiet", bg="light")
-    " Nice colorschemes for printing on paper: quiet, morning, mac_classic
-    let s:prev_color = g:colors_name
-    let s:prev_bg = &background
-    exe "colorscheme" a:colorscheme
-    exe "set bg=" . a:bg
-
-    exe "TOhtml | w | !xdg-open %"
-    echo "html export saved as " . expand('%:p')
-    exe "bd"
-
-    exe "colorscheme" s:prev_color
-    exe "set bg=" . s:prev_bg
-endfunction
-
-command ExportHTML call ExportHTML()
-
-" C++
-" Formatting
-" Ref.: https://clang.llvm.org/docs/ClangFormat.html
-map  :pyf /usr/share/clang/clang-format.py
-"imap  :py3f /usr/share/clang/clang-format.py
-
-"function! Formatonsave()
-"  let l:formatdiff = 1
-"  pyf /usr/share/clang/clang-format.py
-"endfunction
-"autocmd BufWritePre *.h,*.hpp,*.cc,*.cpp call Formatonsave()
diff --git a/nvim/pack/mitsuo/start/vim-commentary b/nvim/pack/mitsuo/start/vim-commentary
deleted file mode 160000
index e87cd90..0000000
--- a/nvim/pack/mitsuo/start/vim-commentary
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit e87cd90dc09c2a203e13af9704bd0ef79303d755
diff --git a/other/ideavimrc b/other/ideavimrc
deleted file mode 100644
index c746971..0000000
--- a/other/ideavimrc
+++ /dev/null
@@ -1,51 +0,0 @@
-"" Source your .vimrc
-"source ~/.vimrc
-
-"" -- Suggested options --
-" Show a few lines of context around the cursor. Note that this makes the
-" text scroll if you mouse-click near the start or end of the window.
-set scrolloff=5
-
-" Do incremental searching.
-set incsearch
-
-" Don't use Ex mode, use Q for formatting.
-"map Q gq
-
-
-"" -- Map IDE actions to IdeaVim -- https://jb.gg/abva4t
-"" Map \r to the Reformat Code action
-"map \r (ReformatCode)
-
-"" Map d to start debug
-"map d (Debug)
-
-"" Map \b to toggle the breakpoint on the current line
-"map \b (ToggleLineBreakpoint)
-
-
-" Find more examples here: https://jb.gg/share-ideavimrc
-
-""" My stuff
-set hlsearch
-set ignorecase
-set smartcase
-set showmode
-nnoremap  :nohl
-nnoremap  :tabp
-nnoremap  :tabn
-
-""" IdeaVim options
-" Join and justify paragraphs/lines
-set ideajoin    " smartjoin
-vnoremap gq :action FillParagraph
-" Thank you: https://stackoverflow.com/a/37842786/7498073
-" TIP: Got the action name by listing all actions that contain the word fill
-" `:actionlist fill`
-"set ideamarks
-
-""" Plugins
-" Couldn't make it to work well :(
-" https://github.com/abrookins/WrapToColumn
-" vnoremap gq :action com.andrewbrookins.idea.wrap.WrapParagraphAction
-
diff --git a/other/mpd/mpd.conf b/other/mpd/mpd.conf
deleted file mode 100644
index 673858d..0000000
--- a/other/mpd/mpd.conf
+++ /dev/null
@@ -1,425 +0,0 @@
-# An example configuration file for MPD.
-# Read the user manual for documentation: http://www.musicpd.org/doc/user/
-
-
-# Files and directories #######################################################
-#
-# This setting controls the top directory which MPD will search to discover the
-# available audio files and add them to the daemon's online database. This
-# setting defaults to the XDG directory, otherwise the music directory will be
-# be disabled and audio files will only be accepted over ipc socket (using
-# file:// protocol) or streaming files over an accepted protocol.
-#
-music_directory                "~/media/Music/artistas (320kbps)/"
-#
-# This setting sets the MPD internal playlist directory. The purpose of this
-# directory is storage for playlists created by MPD. The server will use
-# playlist files not created by the server but only if they are in the MPD
-# format. This setting defaults to playlist saving being disabled.
-#
-playlist_directory             "~/media/Music/playlists/mpd"
-#
-# This setting sets the location of the MPD database. This file is used to
-# load the database at server start up and store the database while the
-# server is not up. This setting defaults to disabled which will allow
-# MPD to accept files over ipc socket (using file:// protocol) or streaming
-# files over an accepted protocol.
-#
-db_file                        "~/.config/mpd/database"
-
-# These settings are the locations for the daemon log files for the daemon.
-#
-# The special value "syslog" makes MPD use the local syslog daemon. This
-# setting defaults to logging to syslog.
-#
-# If you use systemd, do not configure a log_file.  With systemd, MPD
-# defaults to the systemd journal, which is fine.
-#
-log_file                       "~/.config/mpd/log"
-
-# This setting sets the location of the file which stores the process ID
-# for use of mpd --kill and some init scripts. This setting is disabled by
-# default and the pid file will not be stored.
-#
-# If you use systemd, do not configure a pid_file.
-#
-#pid_file                       "~/.config/mpd/pid"
-
-# This setting sets the location of the file which contains information about
-# most variables to get MPD back into the same general shape it was in before
-# it was brought down. This setting is disabled by default and the server
-# state will be reset on server start up.
-#
-#state_file                     "~/.config/mpd/state"
-#
-# The location of the sticker database.  This is a database which
-# manages dynamic information attached to songs.
-#
-#sticker_file                   "~/.config/mpd/sticker.sql"
-#
-###############################################################################
-
-
-# General music daemon options ################################################
-#
-# This setting specifies the user that MPD will run as. MPD should never run as
-# root and you may use this setting to make MPD change its user ID after
-# initialization. This setting is disabled by default and MPD is run as the
-# current user.
-#
-#user                           "nobody"
-#
-# This setting specifies the group that MPD will run as. If not specified
-# primary group of user specified with "user" setting will be used (if set).
-# This is useful if MPD needs to be a member of group such as "audio" to
-# have permission to use sound card.
-#
-#group                          "nogroup"
-#
-# This setting sets the address for the daemon to listen on. Careful attention
-# should be paid if this is assigned to anything other than the default, any.
-# This setting can deny access to control of the daemon. Not effective if
-# systemd socket activation is in use.
-#
-# For network
-#bind_to_address                "any"
-#
-# And for Unix Socket
-#bind_to_address                "~/.mpd/socket"
-#
-# This setting is the TCP port that is desired for the daemon to get assigned
-# to.
-#
-#port                           "6600"
-#
-# Suppress all messages below the given threshold.  Use "verbose" for
-# troubleshooting. Available setting arguments are "notice", "info", "verbose",
-# "warning" and "error".
-#
-#log_level                      "notice"
-#
-# Setting "restore_paused" to "yes" puts MPD into pause mode instead
-# of starting playback after startup.
-#
-#restore_paused "no"
-#
-# This setting enables MPD to create playlists in a format usable by other
-# music players.
-#
-#save_absolute_paths_in_playlists       "no"
-#
-# This setting defines a list of tag types that will be extracted during the
-# audio file discovery process. The complete list of possible values can be
-# found in the user manual.
-#metadata_to_use        "artist,album,title,track,name,genre,date,composer,performer,disc"
-#
-# This example just enables the "comment" tag without disabling all
-# the other supported tags:
-#metadata_to_use "+comment"
-#
-# This setting enables automatic update of MPD's database when files in
-# music_directory are changed.
-#
-auto_update    "no"
-#
-# Limit the depth of the directories being watched, 0 means only watch
-# the music directory itself.  There is no limit by default.
-#
-#auto_update_depth "3"
-#
-###############################################################################
-
-
-# Symbolic link behavior ######################################################
-#
-# If this setting is set to "yes", MPD will discover audio files by following
-# symbolic links outside of the configured music_directory.
-#
-#follow_outside_symlinks        "yes"
-#
-# If this setting is set to "yes", MPD will discover audio files by following
-# symbolic links inside of the configured music_directory.
-#
-#follow_inside_symlinks         "yes"
-#
-###############################################################################
-
-
-# Zeroconf / Avahi Service Discovery ##########################################
-#
-# If this setting is set to "yes", service information will be published with
-# Zeroconf / Avahi.
-#
-#zeroconf_enabled               "yes"
-#
-# The argument to this setting will be the Zeroconf / Avahi unique name for
-# this MPD server on the network. %h will be replaced with the hostname.
-#
-#zeroconf_name                  "Music Player @ %h"
-#
-###############################################################################
-
-
-# Permissions #################################################################
-#
-# If this setting is set, MPD will require password authorization. The password
-# setting can be specified multiple times for different password profiles.
-#
-#password                        "password@read,add,control,admin"
-#
-# This setting specifies the permissions a user has who has not yet logged in.
-#
-#default_permissions             "read,add,control,admin"
-#
-###############################################################################
-
-
-# Database #######################################################################
-#
-# An example of a database section instead of the old 'db_file' setting.
-# It enables mounting other storages into the music directory.
-#
-#database {
-#       plugin "simple"
-#       path "~/.local/share/mpd/db
-#       cache_directory "~/.local/share/mpd/cache"
-#}
-#
-# An example of database config for a satellite setup
-#
-#music_directory "nfs://fileserver.local/srv/mp3"
-#database {
-#       plugin "proxy"
-#       host "other.mpd.host"
-#       port "6600"
-#}
-
-# Input #######################################################################
-#
-input {
-        plugin "curl"
-#       proxy "proxy.isp.com:8080"
-#       proxy_user "user"
-#       proxy_password "password"
-}
-
-#
-###############################################################################
-
-# Audio Output ################################################################
-#
-# MPD supports various audio output types, as well as playing through multiple
-# audio outputs at the same time, through multiple audio_output settings
-# blocks. Setting this block is optional, though the server will only attempt
-# autodetection for one sound card.
-#
-# PipeWire (in ArchLinux install)
-#
-audio_output {
-    type                "pipewire"
-    name                "PipeWire Sound Server"
-}
-
-# An example of an ALSA output:
-#
-#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
-#}
-#
-# An example of an OSS output:
-#
-#audio_output {
-#       type            "oss"
-#       name            "My OSS Device"
-##      device          "/dev/dsp"      # optional
-##      mixer_type      "hardware"      # optional
-##      mixer_device    "/dev/mixer"    # optional
-##      mixer_control   "PCM"           # optional
-#}
-#
-# An example of a shout output (for streaming to Icecast):
-#
-#audio_output {
-#       type            "shout"
-#       encoder         "vorbis"                # optional
-#       name            "My Shout Stream"
-#       host            "localhost"
-#       port            "8000"
-#       mount           "/mpd.ogg"
-#       password        "hackme"
-#       quality         "5.0"
-#       bitrate         "128"
-#       format          "44100:16:1"
-##      protocol        "icecast2"              # optional
-##      user            "source"                # optional
-##      description     "My Stream Description" # optional
-##      url             "http://example.com"    # optional
-##      genre           "jazz"                  # optional
-##      public          "no"                    # optional
-##      timeout         "2"                     # optional
-##      mixer_type      "software"              # optional
-#}
-#
-# An example of a recorder output:
-#
-#audio_output {
-#       type            "recorder"
-#       name            "My recorder"
-#       encoder         "vorbis"                # optional, vorbis or lame
-#       path            "/var/lib/mpd/recorder/mpd.ogg"
-##      quality         "5.0"                   # do not define if bitrate is defined
-#       bitrate         "128"                   # do not define if quality is defined
-#       format          "44100:16:1"
-#}
-#
-# An example of a httpd output (built-in HTTP streaming server):
-#
-#audio_output {
-#       type            "httpd"
-#       name            "My HTTP Stream"
-#       encoder         "vorbis"                # optional, vorbis or lame
-#       port            "8000"
-#       bind_to_address "0.0.0.0"               # optional, IPv4 or IPv6
-##      quality         "5.0"                   # do not define if bitrate is defined
-#       bitrate         "128"                   # do not define if quality is defined
-#       format          "44100:16:1"
-#       max_clients     "0"                     # optional 0=no limit
-#}
-#
-# An example of a pulseaudio output (streaming to a remote pulseaudio server)
-#
-#audio_output {
-#       type            "pulse"
-#       name            "My Pulse Output"
-##      server          "remote_server"         # optional
-##      sink            "remote_server_sink"    # optional
-##      media_role      "media_role"            #optional
-#}
-#
-# An example of a winmm output (Windows multimedia API).
-#
-#audio_output {
-#       type            "winmm"
-#       name            "My WinMM output"
-##      device          "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
-#               or
-##      device          "0"             # optional
-##      mixer_type      "hardware"      # optional
-#}
-#
-# An example of a wasapi output (Windows multimedia API).
-#
-#audio_output {
-#       type            "wasapi"
-#       name            "My WASAPI output"
-##      device          "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
-#               or
-##      device          "0"             # optional
-## Exclusive mode blocks all other audio source, and get best audio quality without resampling.
-##      exclusive       "no"            # optional
-## Enumerate all devices in log.
-##      enumerate       "no"            # optional
-#}
-#
-# An example of an openal output.
-#
-#audio_output {
-#       type            "openal"
-#       name            "My OpenAL output"
-##      device          "Digital Audio (S/PDIF) (High Definition Audio Device)" # optional
-#}
-#
-# An example of an sndio output.
-#
-#audio_output {
-#       type            "sndio"
-#       name            "sndio output"
-#       mixer_type      "hardware"
-#}
-#
-# An example of an OS X output:
-#
-#audio_output {
-#       type            "osx"
-#       name            "My OS X Device"
-##      device          "Built-in Output"       # optional
-##      channel_map      "-1,-1,0,1"    # optional
-#}
-#
-## Example "pipe" output:
-#
-#audio_output {
-#       type            "pipe"
-#       name            "my pipe"
-#       command         "aplay -f cd 2>/dev/null"
-## Or if you're want to use AudioCompress
-#       command         "AudioCompress -m | aplay -f cd 2>/dev/null"
-## Or to send raw PCM stream through PCM:
-#       command         "nc example.org 8765"
-#       format          "44100:16:2"
-#}
-#
-## An example of a null output (for no audio output):
-#
-#audio_output {
-#       type            "null"
-#       name            "My Null Output"
-#       mixer_type      "none"                  # optional
-#}
-#
-###############################################################################
-
-
-# Normalization automatic volume adjustments ##################################
-#
-# This setting specifies the type of ReplayGain to use. This setting can have
-# the argument "off", "album", "track" or "auto". "auto" is a special mode that
-# chooses between "track" and "album" depending on the current state of
-# random playback. If random playback is enabled then "track" mode is used.
-# See  for
-# more details about ReplayGain.
-# This setting is off by default.
-#
-#replaygain                     "album"
-#
-# This setting sets the pre-amp used for files that have ReplayGain tags. By
-# default this setting is disabled.
-#
-#replaygain_preamp              "0"
-#
-# This setting sets the pre-amp used for files that do NOT have ReplayGain tags.
-# By default this setting is disabled.
-#
-#replaygain_missing_preamp      "0"
-#
-# This setting enables or disables ReplayGain limiting.
-# MPD calculates actual amplification based on the ReplayGain tags
-# and replaygain_preamp / replaygain_missing_preamp setting.
-# If replaygain_limit is enabled MPD will never amplify audio signal
-# above its original level. If replaygain_limit is disabled such amplification
-# might occur. By default this setting is enabled.
-#
-#replaygain_limit               "yes"
-#
-# This setting enables on-the-fly normalization volume adjustment. This will
-# result in the volume of all playing audio to be adjusted so the output has
-# equal "loudness". This setting is disabled by default.
-#
-#volume_normalization           "no"
-#
-###############################################################################
-
-# Character Encoding ##########################################################
-#
-# If file or directory names do not display correctly for your locale then you
-# may need to modify this setting.
-#
-#filesystem_charset             "UTF-8"
-#
-###############################################################################
diff --git a/other/ncmpc/config b/other/ncmpc/config
deleted file mode 100644
index 8eff228..0000000
--- a/other/ncmpc/config
+++ /dev/null
@@ -1,186 +0,0 @@
-##
-## Configuration file for ncmpc (~/.config/ncmpc/config)
-##
-
-############## Connection ###################
-## Connect to mpd running on a specified host
-#host = "localhost"
-
-## Connect to mpd on the specified port.
-#port = 6600
-
-## Connect to mpd using the specified password.
-#password = "secret"
-
-## Reconnect after NUM seconds of MPD not responding.
-#timeout = 5
-
-############## Interface ####################
-## Enable mouse support (if enabled at compile time).
-#enable-mouse = yes
-
-# Which tags shall be grouped on the library page?
-#library-page-tags = artist album
-
-## A list of screens to cycle through when using
-## the previous/next screen commands (tab and shift+tab).
-## names: playlist browse help library search song keydef lyrics outputs chat
-#screen-list = playlist browse
-
-## Default search mode for the search screen. The mode is an
-## integer index, with  0  for title, 1 for artist, 2 for album,
-## 3 for filename, and 4 for artist+title.
-#search-mode = 0
-
-## Auto center (center the playing track in the playlist)
-#auto-center = no
-
-## Keep at least NUM lines above and below the cursor on list windows, if possible.
-scroll-offset = 5
-
-## Show the most recent query when using find.
-#find-show-last = no
-
-## Wrapped find mode.
-#find-wrap = yes
-
-## Wrapped cursor movement.
-#wrap-around = no
-
-## Ring bell when find wraps around.
-#bell-on-wrap = yes
-
-## Sound audible bell on alerts.
-#audible-bell = yes
-
-## Enable visible bell on alerts.
-#visible-bell = no
-
-## Default crossfade time in seconds.
-#crossfade-time = 10
-
-## Seek forward/backward by NUM seconds.
-#seek-time = 1
-
-## Quits downloading lyrics of a song after the timeout of NUM seconds is reached, if NUM is greater than zero.
-#lyrics-timeout = 60
-
-############## Display ######################
-## Show a list of the screens in the top line.
-#welcome-screen-list = yes
-
-## Make the cursor as wide as the screen.
-#wide-cursor = yes
-
-## Use the terminal's hardware cursor instead of inverse colors
-#hardware-cursor = yes
-
-## Hide playlist cursor after x seconds (0 disables this feature).
-#hide-cursor = 5
-
-## Scroll the title if it is too long for the screen.
-#scroll = yes
-
-## The separator to show at the end of the scrolling title.
-#scroll-sep = " *** "
-
-## list-format
-## The format used to display songs in the main window.
-#list-format = "%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
-
-## The format used to display songs in the search window.
-#search-format = "%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
-
-## The format used to display songs on the status line.
-#status-format = "[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]"
-
-## The time, in seconds, for which status messages will be displayed.
-#status-message-time = 3
-
-## Sets whether to display remaining or elapsed time in
-## the status window. Default is elapsed.
-#timedisplay-type = elapsed
-
-# Show the bitrate in the status bar when playing a stream.
-visible-bitrate = yes
-
-## Change the XTerm title (ncmpc will not restore the title).
-#set-xterm-title = no
-
-## The format used to for the xterm title when ncmpc is playing.
-#xterm-title-format = "ncmpc: [%name%|[[%artist%|%performer%|%composer%] - ][%title%|%shortfile%]]"
-
-## Automatically save the lyrics after receiving them.
-lyrics-autosave = yes
-
-## Show the name of the plugin used to receive lyrics on the lyrics screen.
-lyrics-show-plugin = yes
-
-## The text editor used for editing lyrics.
-text-editor = vim
-
-## Ask before starting an editor.
-#text-editor-ask = yes
-
-## The prefix of chat messages
-#chat-prefix = " "
-
-## Display song length in second column
-#second-column = yes
-
-############## Colors #######################
-## colors: none, black, red, green, yellow, blue, magenta, cyan, white
-## attributes: standout, underline, reverse, blink, dim, bold
-##
-## Colors can also be given as an integer representing a terminal specific
-## color code. The special color, none, represents the terminals default color.
-
-## Enable/disable colors.
-#enable-colors = no
-
-## Set the background color.
-#color background = black
-
-## Set the text color for the title row.
-#color title = yellow
-
-## Set the text color for the title row (the bold part).
-#color title-bold = yellow,bold
-
-## Set the color of the line on the second row.
-#color line = white
-
-## Set the text color used to indicate mpd flags on the second row.
-#color line-flags = white,bold
-
-## Set the text color in the main area of ncmpc.
-#color list = green
-
-## Set the bold text color in the main area of ncmpc.
-#color list-bold = green,bold
-
-## Sets the text color of directories in the browser
-#color browser-directory = yellow
-
-## Sets the text color of playlists in the browser
-#color browser-playlist = red
-
-## Set the color of the progress indicator.
-#color progressbar = white
-
-## Set the text color used to display mpd status in the status window.
-#color status-state = yellow,bold
-
-## Set the text color used to display song names in the status window.
-#color status-song  = yellow
-
-## Set the text color used to display time the status window.
-#color status-time  = red
-
-## Text color used to display alerts in the status window.
-#color alert = red,bold
-
-## Redefine any of the base colors.
-## The RGB values must be an integer value between 0 and 1000.
-## Note: Only some terminals allow redefinitions of colors!
-#colordef yellow = 255, 140, 0
diff --git a/other/ncmpc/keys b/other/ncmpc/keys
deleted file mode 100644
index 4e2b152..0000000
--- a/other/ncmpc/keys
+++ /dev/null
@@ -1,23 +0,0 @@
-## Key bindings for ncmpc (generated by ncmpc)
-
-## Move cursor to the top of the list
-key home = 262,  Ctrl-A,  'g'
-
-## Move cursor to the bottom of the list
-key end = 360,  Ctrl-E,  'G'
-
-## Scroll up half a screen
-key scroll-down-half = 'N',  Ctrl-D
-
-## Scroll down half a screen
-key scroll-up-half = 'B',  Ctrl-U
-
-## Delete song from queue
-key delete = 330
-
-## Start a music database update
-key db-update = 0
-
-## Locate song in browser
-key locate = 0
-
diff --git a/pandoc/linuxcolors_style.html b/pandoc/linuxcolors_style.html
deleted file mode 100644
index e050698..0000000
--- a/pandoc/linuxcolors_style.html
+++ /dev/null
@@ -1,188 +0,0 @@
-
diff --git a/ssh/Readme.txt b/ssh/Readme.txt
deleted file mode 100644
index c902d49..0000000
--- a/ssh/Readme.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-important considerations for ssh:
-- Change port to other than default (specially if exposed)
-- Rate limit SSH traffic with a firewall (e.g., ufw)
-- Disable password authentication (use RSA)
-- Disable root login
-
-sshd_config goes to /etc/sshd_config in ArchLinux
-config goes to ~/.ssh/config
diff --git a/ssh/config b/ssh/config
deleted file mode 100644
index 7979b64..0000000
--- a/ssh/config
+++ /dev/null
@@ -1,9 +0,0 @@
-# global options
-#User admin
-
-# host-specific options
-Host example.com
-	Hostname 123.123.123.123
-        #Port 22
-	User pocoyo
-	#IdentityFile ~/path/to/key
diff --git a/ssh/sshd_config b/ssh/sshd_config
deleted file mode 100644
index 1e8358e..0000000
--- a/ssh/sshd_config
+++ /dev/null
@@ -1,117 +0,0 @@
-#	$OpenBSD: sshd_config,v 1.104 2021/07/02 05:11:21 dtucker Exp $
-
-# This is the sshd server system-wide configuration file.  See
-# sshd_config(5) for more information.
-
-# This sshd was compiled with PATH=/usr/local/sbin:/usr/local/bin:/usr/bin
-
-# The strategy used for options in the default sshd_config shipped with
-# OpenSSH is to specify options with their default value where
-# possible, but leave them commented.  Uncommented options override the
-# default value.
-
-Port 22         # set a custom port
-#AddressFamily any
-#ListenAddress 0.0.0.0
-#ListenAddress ::
-
-#HostKey /etc/ssh/ssh_host_rsa_key
-#HostKey /etc/ssh/ssh_host_ecdsa_key
-#HostKey /etc/ssh/ssh_host_ed25519_key
-
-# Ciphers and keying
-#RekeyLimit default none
-
-# Logging
-#SyslogFacility AUTH
-#LogLevel INFO
-
-# Authentication:
-
-#LoginGraceTime 2m
-#PermitRootLogin prohibit-password
-PermitRootLogin no
-#StrictModes yes
-#MaxAuthTries 6
-#MaxSessions 10
-
-#PubkeyAuthentication yes
-
-# The default is to check both .ssh/authorized_keys and .ssh/authorized_keys2
-# but this is overridden so installations will only check .ssh/authorized_keys
-AuthorizedKeysFile	.ssh/authorized_keys
-
-#AuthorizedPrincipalsFile none
-
-#AuthorizedKeysCommand none
-#AuthorizedKeysCommandUser nobody
-
-# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
-#HostbasedAuthentication no
-# Change to yes if you don't trust ~/.ssh/known_hosts for
-# HostbasedAuthentication
-#IgnoreUserKnownHosts no
-# Don't read the user's ~/.rhosts and ~/.shosts files
-#IgnoreRhosts yes
-
-# To disable tunneled clear text passwords, change to no here!
-PasswordAuthentication no
-#PermitEmptyPasswords no
-
-# Change to no to disable s/key passwords
-KbdInteractiveAuthentication no
-
-# Kerberos options
-#KerberosAuthentication no
-#KerberosOrLocalPasswd yes
-#KerberosTicketCleanup yes
-#KerberosGetAFSToken no
-
-# GSSAPI options
-#GSSAPIAuthentication no
-#GSSAPICleanupCredentials yes
-
-# Set this to 'yes' to enable PAM authentication, account processing,
-# and session processing. If this is enabled, PAM authentication will
-# be allowed through the KbdInteractiveAuthentication and
-# PasswordAuthentication.  Depending on your PAM configuration,
-# PAM authentication via KbdInteractiveAuthentication may bypass
-# the setting of "PermitRootLogin without-password".
-# If you just want the PAM account and session checks to run without
-# PAM authentication, then enable this but set PasswordAuthentication
-# and KbdInteractiveAuthentication to 'no'.
-UsePAM yes
-
-#AllowAgentForwarding yes
-#AllowTcpForwarding yes
-#GatewayPorts no
-#X11Forwarding no
-#X11DisplayOffset 10
-#X11UseLocalhost yes
-#PermitTTY yes
-PrintMotd no # pam does that
-#PrintLastLog yes
-#TCPKeepAlive yes
-#PermitUserEnvironment no
-#Compression delayed
-#ClientAliveInterval 0
-#ClientAliveCountMax 3
-#UseDNS no
-#PidFile /run/sshd.pid
-#MaxStartups 10:30:100
-#PermitTunnel no
-#ChrootDirectory none
-#VersionAddendum none
-
-# no default banner path
-#Banner none
-
-# override default of no subsystems
-Subsystem	sftp	/usr/lib/ssh/sftp-server
-
-# Example of overriding settings on a per-user basis
-#Match User anoncvs
-#	X11Forwarding no
-#	AllowTcpForwarding no
-#	PermitTTY no
-#	ForceCommand cvs server
diff --git a/tmux/tmux.conf b/tmux/tmux.conf
deleted file mode 100644
index b171190..0000000
--- a/tmux/tmux.conf
+++ /dev/null
@@ -1,63 +0,0 @@
-# Minimal tmux config
-# Ref.: https://thevaluable.dev/tmux-config-mouseless/
-
-# remap prefix from 'C-b' to 'C-a'
-set-option -g prefix C-a
-bind-key C-a send-prefix
-unbind C-b
-
-# Start window numbering at 1
-set -g base-index 1
-setw -g pane-base-index 1
-
-# Navigate history with vi keybindings
-set-window-option -g mode-keys vi
-set -g history-limit 10000
-
-# From NeoVim advice:
-# Fix 'escape-time' from 500ms to 10ms  (better experience in Vim)
-set-option -sg escape-time 10
-# focus-events (idk what this does)
-set-option -g focus-events on
-
-# Vim friendly tmux config
-# Ref.: https://gist.github.com/Lartza/6a7a62466a8a3e436234412d9b1c5066
-
-setw -g monitor-activity on
-set -g visual-activity on
-
-# FIXME: https://unix.stackexchange.com/a/131187/347754
-# y and p as in vim
-bind Escape copy-mode
-unbind p
-bind p paste-buffer
-bind-key -T copy-mode-vi 'v' send -X begin-selection
-bind-key -T copy-mode-vi 'y' send -X copy-selection
-#bind-key -T copy-mode-vi 'Space' send -X halfpage-down
-#bind-key -T copy-mode-vi 'Bspace' send -X halfpage-up
-
-# extra commands for interacting with the ICCCM clipboard
-#bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"
-#bind C-v run "tmux set-buffer \"$(xclip -o -sel clipboard)\"; tmux paste-buffer"
-
-# easy-to-remember split pane commands
-#bind | split-window -h
-#bind - split-window -v
-#unbind '"'
-#unbind %
-
-# 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 :+
-
-# 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
diff --git a/vim/fun.vim b/vim/fun.vim
deleted file mode 100644
index bd911f9..0000000
--- a/vim/fun.vim
+++ /dev/null
@@ -1,89 +0,0 @@
-" Echoes longest line number and lenght.
-function! LongestLineLength ( )
-    let maxlength = 0
-    let linenumber= 1
-    while linenumber <= line("$")
-        exe ":".linenumber
-        let linelength = virtcol("$")
-        if maxlength < linelength
-            let maxlength = linelength
-            let maxlinenumber = linenumber
-        endif
-        let linenumber = linenumber+1
-    endwhile
-
-"exe ':0'
-"exe 'normal O'
-"exe 'normal 0C'.maxlength
-    exe "normal" . maxlinenumber . "G"
-    exe ":echo \"" . maxlinenumber . ": " . maxlength . "\""
-endfunction
-
-command LongestLineLength call LongestLineLength() 
-
-
-" Save markdown document and export to pdf using pandoc.
-"
-" It would be nicer if a default document would be used but I coulnd't made it
-" to work even after reading that manual section like 2 times.  Also, there are
-" variables that are lists of other variables that I don't know how to make them
-" work (e.g. geometry=[top=1in, bottom=1in, heightrounded])
-function! Md2Pdf ( )
-    exe ":w"
-    "-N     for numbered headers
-    exe ":! pandoc -o \"" . expand("%:r") . ".pdf\" -t latex --variable classoption=twosides --variable papersize=a4 --variable margin-left=1in --variable margin-right=1in --variable margin-top=1in --variable margin-bottom=1in --variable links-as-notes --variable colorlinks --variable pagestyle=plain --variable documentclass=article -f markdown-implicit_figures \"" . expand("%") . "\""
-    echo "pdf saved as \"" . expand("%:p:r") . ".pdf\""
-endfunction
-
-function! Md2Pdfms ( )
-    exe ":w"
-    exe ":! pandoc -o " . expand("%:r") . ".pdf" . " -t ms -f markdown-implicit_figures \"" . expand("%") . "\""
-    echo "pdf saved as " . expand("%:p:r") . ".pdf"
-endfunction
-
-command Md2Pdf call Md2Pdf() 
-command Md2Pdfms call Md2Pdfms() 
-
-
-" Save markdown document and export to html using pandoc
-function! Md2Html ( )
-    exe ":w"
-    "exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\""
-    exe ":! pandoc --highlight-style tango -o \"" . expand("%:r") . ".html\"" . " \"" . expand("%") . "\""
-    echo "html saved as " . expand("%:p:r") . ".html"
-endfunction
-
-command Md2Html call Md2Html() 
-
-" Save markdown as ODT file (.docx is also possible)
-function! Md2Odt ( )
-    exe ":w"
-    exe ":! pandoc -s --toc -H ~/mahcode/markdown/pandoc/pandoc_style.html --highlight-style tango -o \"" . expand("%:r") . ".odt\"" . " \"" . expand("%") . "\""
-    echo "ODT saved as " . expand("%:p:r") . ".odt"
-endfunction
-
-command Md2Odt call Md2Odt() 
-
-
-" Compiles and Runs a C++ project
-" TODO: how to add program's arguments or file redirectioning  from command.
-function! CompRunProj ( )
-    exe ":w"
-    exe ":! g++ -o " . expand("%:r") . "-g *.cpp"
-    exe ":! ./" . expand("%:r")
-endfunction
-
-command CompRunProj call CompRunProj()
-
-
-" Function made to give feedback to students code in 1INF01
-" export C code to syntax highlighted pdf
-function! C2Pdf ( )
-    exe ":set ts=4"
-    exe ":w"
-    exe ":ha > %.ps"
-    exe ":!ps2pdf %.ps"
-    exe ":!rm %.ps"
-endfunction
-
-command C2Pdf call C2Pdf()
diff --git a/vim/pack/mitsuo/README.md b/vim/pack/mitsuo/README.md
deleted file mode 100644
index 172c269..0000000
--- a/vim/pack/mitsuo/README.md
+++ /dev/null
@@ -1,12 +0,0 @@
-Plugins I usually use and work fine together.
-
-- [NERDTree](https://github.com/preservim/nerdtree)
-  
-      
-
-- [vim-fugitive](https://github.com/tpope/vim-fugitive)
-
-      :G
-      :G blame
-
-Vim packages (version >= 8.2).   See `:h packages`
diff --git a/vim/pack/mitsuo/nerdtree b/vim/pack/mitsuo/nerdtree
deleted file mode 160000
index eed488b..0000000
--- a/vim/pack/mitsuo/nerdtree
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit eed488b1cd1867bd25f19f90e10440c5cc7d6424
diff --git a/vim/pack/mitsuo/vim-fugitive b/vim/pack/mitsuo/vim-fugitive
deleted file mode 160000
index b7287bd..0000000
--- a/vim/pack/mitsuo/vim-fugitive
+++ /dev/null
@@ -1 +0,0 @@
-Subproject commit b7287bd5421da62986d9abf9131509b2c9f918e4
diff --git a/vim/viminfo b/vim/viminfo
deleted file mode 100644
index 7651f85..0000000
--- a/vim/viminfo
+++ /dev/null
@@ -1,31 +0,0 @@
-# This viminfo file was generated by Vim 8.2.
-# You may edit it if you're careful!
-
-# Viminfo version
-|1,4
-
-# Value of 'encoding' when this file was written
-*encoding=utf-8
-
-
-# hlsearch on (H) or off (h):
-~h
-# Command Line History (newest to oldest):
-:q
-|2,0,1649356827,,"q"
-
-# Search String History (newest to oldest):
-
-# Expression History (newest to oldest):
-
-# Input Line History (newest to oldest):
-
-# Debug Line History (newest to oldest):
-
-# Registers:
-
-# File marks:
-
-# Jumplist (newest first):
-
-# History of marks within files (newest to oldest):
diff --git a/vim/vimrc b/vim/vimrc
deleted file mode 100644
index f97a654..0000000
--- a/vim/vimrc
+++ /dev/null
@@ -1,332 +0,0 @@
-" mitsuo's vimrc
-" Created c. 2019-11-11
-" Last update (after destroying it accidentally): 2020-09-02
-"
-"                               ┌─┬─┬─┬─┬─┬─┐           
-"                               │m│i│t│s│u│o│✓x       け が
-"                               ├─┼─┼─┼─┼─┼─┤            ん
-"                               │v│i│m│r│c│←│█▓▒░     り ば
-"                               └─┴─┴─┴─┴─┴─┘         こ れ
-
-" XDG compliant REMOVED :D (what a pain)
-" - For new installs just copy (or link) this file into  ~/.vimrc  and create
-"   the  ~/.vim  directory
-" TODO: - sort sections
-
-
-" Variables
-" ----------------------------------------------------------------------
-"  Get the first directory from the list in $VIMRUNTIMEPATH
-let $VIMFILES=split(&rtp,",")[0]
-set undodir=$VIMFILES/undo
-set viewdir=$VIMFILES/view
-set directory=$VIMFILES/swap
-set viminfofile=$VIMFILES/viminfo
-
-
-" Useful
-" ----------------------------------------------------------------------
-set nocompatible
-" Auto-recognize files and apply pluggins 
-filetype plugin indent on       " See :h vimrc-filetype
-syntax on
-
-" Search files
-set wildmenu        " command-line  completion     <-- soo good
-set wildignore+=*.o,*.obj,.git,*.rbc,*.class
-set path+=./**30    " For gf and :find, add all subdirectories relative to
-                    " current file (30 max) to the "search space"
-
-set scrolloff=5     " show a few lines of context
-
-set backspace=indent,eol,start  " Allow  and  in insert mode
-
-" number gutter
-set nonumber
-set norelativenumber
-
-" Store session information
-set viminfo+='1000
-
-" Tag Jumping   <-- so cool
-" Instructions: create tag index (e.g. $ ctags -R .)
-"               place cursor on tag
-"               ^]  to jump to definition
-"               g^] if more than 1 definition
-"               ^T  to return (or ^O)
-" TODO: create tags automatically (:!ctags -R . after :w if ft=c)
-
-
-" Status line
-" ----------------------------------------------------------------------
-set showcmd         " show partial command on last line (below status bar)
-" just add buffer number to the default
-set statusline=%<%f\ %h%m%r%=b%02n\ \ %-14.(%l,%c%V%)\ %P
-
-
-" Search
-" ----------------------------------------------------------------------
-set hlsearch    " highlight search (this can be annoying if no shortcut to then
-                " clear the highlight
-set incsearch   " Incrementally move cursor while typing search-string
-" stop highlight only for current search.  
-" (Still preserve  updating directory in netrw)
-nnoremap  :nohl
-" Ignore case only when pattern is lowercase (both needed)
-set ignorecase
-set smartcase
-
-
-" Indentation
-" ----------------------------------------------------------------------
-" 4 column softtabs (uses ' ', not '\t').
-"   TODO: move this 'guide' to somewhere apropiate
-"   tab->softtab    :set tabstop=n      :set expandtab  :retab
-"   softtab->tab    :set noexpandtab    :set tabstop={softtabstop}  :retab!
-"   Caution: 
-"       - This will insert a tab wherever it can, even between words
-"         separated by as few as 2 spaces if ts=2!  
-"       - Not recommended at all.  Use some other program to only translate
-"         leading indenting from space to tabs.  Also using tabs is not very
-"         good.  My opinion is that they are good as a special character to
-"         separate data (like comma for CSV).
-set tabstop=8           " '\t' or HT = 8 virtual columns
-set shiftwidth=4        " Indentation with >> and C-T and C-D (insert mode)
-set softtabstop=4       " For "inserted tabs" (inserts  and 
-                        " minimizing )
-set expandtab           " Expand with  the inserted s
-"set smarttab           " Use shiftwidth for inserted  in the front of
-                        " a line (Maybe useful for YAML)
-" autoindent -> smartindent -> cindent -> indentexpr 
-" (from simple/less general to complex/more general)
-set smartindent         " This is a really nice and simple one
-"set cindent            
-"set cinoptions=:0,g0   " See C-indenting
-
-
-" Automatic formatting
-" ----------------------------------------------------------------------
-" see fo-table
-set formatoptions=l         " Don't break long lines that are already typed
-set formatoptions+=q        " Allow formatting of comments with "gq"
-set formatoptions+=r        " Insert current leader after  in Insert mode
-set formatoptions-=o        " Automatically insert the current comment leader 
-                            " after hitting 'o'.
-set formatoptions+=t        " auto-wrap text (when inserting)
-set formatoptions+=c        " auto-wrap comments (when inserting)
-set formatoptions+=p        " Don't break honorifics like Prof. Smith
-set formatoptions+=n        " Allow lists
-set formatoptions+=j        " Removes comment leader when joining lines
-
-
-" Word wrap
-" ----------------------------------------------------------------------
-set wrap            " Visual wrapping of lines wider than window
-set linebreak       " Works with previous option to not break words
-" To 'justify' comments or block of text (paragraph) use "gq{motion}" or
-" "gp{motion}", where {motion} can be "[/", "]/", "ip", "i{", "a{".
-set textwidth=80    " auto break inserted text longer than 80 colums
-
-
-" Other settings
-" ----------------------------------------------------------------------
-set mouse=a             " Enable for all modes
-" set cmdheight=1
-" Always display the status line, even if only one window is displayed
-set laststatus=2
-set ruler
-set encoding=utf-8
-set more                " Enable more-prompt for listings that don't fit in
-                        " screen
-"hint: g< command can be used to see the last page of previous command.
-
-
-" Mappings
-" ----------------------------------------------------------------------
-"  F1 is help, F11 is full screen (terminal emulator)
-map  :source $VIMFILES/vimrc
-map  :e $VIMFILES/vimrc
-
-map  :tabp
-map  :tabn
-
-" C/C++ Programming:
- 
-map  :w:!clear && make
-"map  :!./%:r
-"map  :!./a.out
-
-map  :cnext
-map  :cprev
-
-"  = '\' when 'mapleader' is empty
-" "Run cTags"
-map rt :!ctags -R .
-map  :tnext
-
-" Motion to go to beggining of function while cursor is inside
-nmap [f [m[{k0
-
-" Other programs:
-
-" pandoc (& website)
-nnoremap mm :w:Md2Html
-nmap mM mm:!updatewebsite_zaz
-" asciidoc
-nnoremap ma :w:!asciidoctor %
-nmap mA ma:!updatewebsite_zaz
-
-" Funcionallity of the following depends on terminal.  Needs 8bit input enabled
-" for   = Alt  key combos
-" From: https://vim.fandom.com/wiki/Get_Alt_key_to_work_in_terminal
-
-nmap  h
-nmap  j
-nmap  k
-nmap  l
-
-" Misc.:
-
-" Go Title Case (and clear highlighted matches)
-" Ref.: vim.fandom.com
-vmap gt :s/\<\(\w\)\(\w*\)\>/\u\1\L\2/g
-
-" Autoformat JSON jumbled data.  (Selects the whole file as range to pass as
-" standard input to `jq .` which pretty prints JSON.  Then replace range with
-" output.)
-" Ref.: https://stackoverflow.com/questions/26214156/how-to-auto-format-json-on-save-in-vim
-nnoremap gJ :%!python3 -m json.tool
-" :%!jq .
-
-" NERDTree plugin
-nnoremap  :NERDTreeToggle
-
-" Comment/UnComment lines
-" Ref.:
-" - https://vim.fandom.com/wiki/Comment/UnComment_visually_selected_text
-" - https://stackoverflow.com/a/1676672/7498073
-" - https://stackoverflow.com/a/9051932/7498073
-au FileType haskell,vhdl,ada let b:comment_leader = '-- '
-au FileType vim let b:comment_leader = '" '
-au FileType c,cpp,java,asciidoc let b:comment_leader = '// '
-au FileType sh,make let b:comment_leader = '# '
-au FileType tex let b:comment_leader = '% '
-" That  c_CTRL-R_=  thingy enters the "expression register".  And that  \V
-" tells  :s  to go into "Very NonMagic" mode.
-noremap ,c :s/^/=escape(b:comment_leader,'\/')/:noh
-noremap ,u :s/^\V=escape(b:comment_leader,'\/')//e:noh
-
-
-" Yanking and pasting
-" ----------------------------------------------------------------------
-" TODO: map something to "+y (cut buffer) and "*y (selection buffer) while in
-" visual mode.
-"vmap <++> "+y      " The yank to the cut buffer (clipboard)
-"vmap <++> "*y      " The yank to the selection buffer
-
-
-" Buffers
-" ----------------------------------------------------------------------
-set hidden
-map  :bNext
-map  :bnext
-
-
-" Printing
-" ----------------------------------------------------------------------
-set printoptions=paper:A4,duplex:long
-" set printoptions+=number:y
-" TODO: Figure out how to print multibyte encodings.  Enabling this settings
-" produces errors.
-set encoding=utf-8
-set fileencoding=utf-8
-" set printmbcharset=JIS_X_1990 " This allows Japanese characters to be printed
-" set printmbfont=r:Noto-Sans-CJK-JP
-
-
-" Functions
-" ----------------------------------------------------------------------
-" TODO: maybe replace with $runtimepath
-source $VIMFILES/fun.vim
-
-
-" Views and Sessions (Window layout and Line folding)
-" ----------------------------------------------------------------------
-" It is possible to create folds automatically but idk how to do it.
-" :mkview so save them :loadview to load them (zo open one, zc close one,
-" zR to open all, zM to close all, zx to restore))
-
-" Views saves folds.  Sessions saves all windows configuration and layout
-" Load Sessions with $ vim -S Session.vim
-
-" To automatically save and restore views for *.c *.cpp files: 
-au BufWinLeave *.c mkview
-au BufWinEnter *.c silent loadview
-au BufWinLeave *.cpp mkview
-au BufWinEnter *.cpp silent loadview
-
-
-" Snippets
-" ----------------------------------------------------------------------
-" I deleted the file accidently
-"nnoremap ,ch :-1r $VIMFILES/snippets/cheader.c
-
-
-" File Browsing
-" ----------------------------------------------------------------------
-" Use netrw out of the box file browser plugin.
-"   :e .            open file browser on current directory
-"   V or t          open file on vsplit or new tab. 
-"   :bd or :Rex     to return
-"   More mappings on |netrw-browse-maps|
-"let g:netrw_banner=0        " disable banner
-"let g:netrw_browse_split=4  " open in prior window
-let g:netrw_altv=1          " open splits to the right
-"let g:netrw_list_hide=netrw_gitignore#Hide()
-"let g:netrw_list_hide.=',\(^\|\s\s\)\zs\.\S\+'  " wtf? (?)
-" Learned from Max Cantor talk https://youtu.be/XA2WjJbmmoM
-
-
-" Additions
-" ----------------------------------------------------------------------
-" Replaces previous WORD arithmetic expression with result (from Vim
-" fandom-wiki)
-inoremap  diWi="
-
-
-" Plugins
-" ----------------------------------------------------------------------
-" I disabled it bc I think it interferes with formatoptions
-"" Automatic vim-plug install
-"if empty(glob('~/.vim/autoload/plug.vim'))
-"  silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
-"    \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
-"  autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
-"endif
-"
-"call plug#begin()
-"Plug 'ARM9/arm-syntax-vim'
-"autocmd BufNewFile,BufRead *.s,*.S set filetype=arm " arm = armv6/7
-"
-"call plug#end()
-
-" Other plugins
-" I used to use IndexedSearch plugin.  Functionality was incorporated into Vim
-" since Vim 8.1.1270.
-set shortmess-=S
-
-
-" Colors
-" ----------------------------------------------------------------------
-" I like desert, murphy, pablo, industry
-" (default is OK for most cases but when using vimdiff, highlighted numbers are
-" unreadable)
-:colorscheme industry
-
-
-" Ducktape (place this in ~/.vim/after (after directory))
-" ----------------------------------------------------------------------
-" Not even the ducktape worked for this one on C files TODO
-set formatoptions-=o            " Automatically insert the current comment leader 
-" TODO: fix this shit getting reset in a markdown text
-set formatoptions+=r            " auto insert comment leader after 
diff --git a/vim/vimrc_windows b/vim/vimrc_windows
deleted file mode 100644
index 8ce69cd..0000000
--- a/vim/vimrc_windows
+++ /dev/null
@@ -1,10 +0,0 @@
-" Git for Windows Vim user initialization file
-" GFW uses ~/.vimrc and ~/.vim/vimrc instead of ~/_vimrc and ~/vimfiles/vimrc
-" See https://github.com/git-for-windows/git/issues/658#issuecomment-184269470
-" This file configures GFW Vim to behave like Windows Vim
-" From: https://kevinlocke.name/bits/2020/07/30/sharing-vimrc-in-git-for-windows/
-let &runtimepath = '~/vimfiles,'
-\ . join(filter(split(&runtimepath, ','), 'v:val !~? "/\\.vim"'), ',')
-\ . ',~/vimfiles/after'
-let &packpath = &runtimepath
-source ~/vimfiles/vimrc
diff --git a/vscode/Readme.adoc b/vscode/Readme.adoc
deleted file mode 100644
index d14dc6f..0000000
--- a/vscode/Readme.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-Preferably use "Code - OSS" instead of VSCode.
-
-Changes:
-
-* Light solarized color scheme
-* "Old" Activity Bar and Status Bar colors
-* Rulers
diff --git a/vscode/keybindings.json b/vscode/keybindings.json
deleted file mode 100644
index 7c5b25b..0000000
--- a/vscode/keybindings.json
+++ /dev/null
@@ -1,58 +0,0 @@
-// Place your key bindings in this file to override the defaultsauto[]
-[
-    {
-        "key": "f8",
-        "command": "-editor.action.marker.nextInFiles",
-        "when": "editorFocus"
-    },
-    {
-        "key": "f8",
-        "command": "workbench.action.debug.stepOver",
-        "when": "debugState == 'stopped'"
-    },
-    {
-        "key": "f10",
-        "command": "-workbench.action.debug.stepOver",
-        "when": "debugState == 'stopped'"
-    },
-    {
-        "key": "f7",
-        "command": "-editor.action.diffReview.next",
-        "when": "isInDiffEditor"
-    },
-    {
-        "key": "f7",
-        "command": "-editor.action.wordHighlight.next",
-        "when": "editorTextFocus && hasWordHighlights"
-    },
-    {
-        "key": "f7",
-        "command": "workbench.action.debug.stepInto",
-        "when": "debugState != 'inactive'"
-    },
-    {
-        "key": "f11",
-        "command": "-workbench.action.debug.stepInto",
-        "when": "debugState != 'inactive'"
-    },
-    {
-        "key": "shift+f7",
-        "command": "-editor.action.diffReview.prev",
-        "when": "isInDiffEditor"
-    },
-    {
-        "key": "shift+f7",
-        "command": "-editor.action.wordHighlight.prev",
-        "when": "editorTextFocus && hasWordHighlights"
-    },
-    {
-        "key": "shift+f7",
-        "command": "workbench.action.debug.stepOut",
-        "when": "debugState == 'stopped'"
-    },
-    {
-        "key": "shift+f11",
-        "command": "-workbench.action.debug.stepOut",
-        "when": "debugState == 'stopped'"
-    }
-]
\ No newline at end of file
diff --git a/vscode/settings.json b/vscode/settings.json
deleted file mode 100644
index 1c0204d..0000000
--- a/vscode/settings.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "editor.minimap.enabled": false,
-    "editor.rulers": [80, 120],
-    "editor.wordWrap": "on",
-    "editor.lineNumbers": "off",
-
-    "jupyter.askForKernelRestart": false,
-    "[python]": {
-        "editor.formatOnType": true
-    },
-    "terminal.integrated.enableMultiLinePasteWarning": false,
-    "gitlens.hovers.currentLine.over": "line",
-    "autoDocstring.docstringFormat": "sphinx-notypes",
-}
diff --git a/windows/powershell/Microsoft.PowerShell_profile.ps1 b/windows/powershell/Microsoft.PowerShell_profile.ps1
deleted file mode 100644
index fc55bac..0000000
--- a/windows/powershell/Microsoft.PowerShell_profile.ps1
+++ /dev/null
@@ -1,19 +0,0 @@
-# Access this file using $PROFILE
-#
-# By default, powershell does not allow execution of non-signed scripts
-# > Get-ExecutionPolicy
-# > Set-ExecutionPolicy -Scope CurrentUser RemoteSigned
-#
-# Home directory:
-# cmd.exe: %USERPROFILE%
-# Powershell: $ENV:USERPROFILE
-#
-# To break long commands in Powershell use a trailing backtick (`)
-
-# Custom colored prompt
-# Ref.: https://stackoverflow.com/questions/6297072
-function prompt
-{
-    Write-Host "PS $(get-location)`n>" -nonewline -foregroundcolor DarkCyan
-    return ' '
-}
diff --git a/zathura/zathurarc b/zathura/zathurarc
deleted file mode 100644
index 4d38c70..0000000
--- a/zathura/zathurarc
+++ /dev/null
@@ -1,59 +0,0 @@
-#########################
-# Configuracion Zathura #
-#########################
-#
-# para para saber que hace cada huevada
-# ver manpage zathurarc(5)
-#
-
-# Default commented shit
-# ======================
-
-# zoom and scroll step size
-# set zoom-setp 20
-# set scroll-setp 80
-
-# copy selection to system clipboard
-# set selection-clipboard clipboard
-
-# enable incremental search
-# set incremental-search true
-
-# mapings
-# =======
-
-# TODO Button 3 is left mouse button, I want to map it to 'hold to pan document'
-# which is mapped to mouse 2 (middle button)
-#map Button3 
-
-unmap [normal] 
-map [normal]  toggle_statusbar
-unmap [fullscreen] 
-map [fullscreen]  toggle_statusbar
-
-unmap [normal] D
-map [normal] D toggle_page_mode
-unmap [fullscreen] D
-map [fullscreen] D toggle_page_mode
-
-map [normal] u scroll half-up
-map [normal] d scroll half-down
-map [fullscreen] u scroll half-up
-map [fullscreen] d scroll half-down
-
-# settings
-# ========
-
-#set window-width 768
-set window-width 1025
-set window-height 740
-set adjust-open width
-
-#set smooth-scroll true
-
-#set first-page-column 2
-
-set statusbar-home-tilde true
-#set window-title-home-tilde true
-set window-title-basename true
-set selection-clipboard clipboard
-- 
cgit v1.2.3