diff --git a/.config/alacritty/alacritty.yml b/.config/alacritty/alacritty.yml
new file mode 100644
index 0000000..730c23d
--- /dev/null
+++ b/.config/alacritty/alacritty.yml
@@ -0,0 +1,44 @@
+background_opacity: 0.7
+font:
+ normal:
+ family: Source Code Pro
+ style: Regular
+
+ bold:
+ family: Source Code Pro
+ style: Bold
+
+ italic:
+ family: Source Code Pro
+ style: Italic
+
+ bold_italic:
+ family: Source Code Pro
+ style: Bold Italic
+
+ size: 11
+ #
+# Colors (One Dark - https://github.com/atom/atom/tree/master/packages/one-dark-syntax)
+colors:
+ primary:
+ background: '#282c34'
+ foreground: '#abb2bf'
+ cursor:
+ text: CellBackground
+ cursor: '#528bff' # syntax-cursor-color
+ selection:
+ text: CellForeground
+ background: '#3e4451' # syntax-selection-color
+ normal:
+ black: '#5c6370' # mono-3
+ red: '#e06c75' # red 1
+ green: '#98c379'
+ yellow: '#e5c07b' # orange 2
+ blue: '#61afef'
+ magenta: '#c678dd'
+ cyan: '#56b6c2'
+ white: '#828997' # mono-2
+ search:
+ bar:
+ foreground: '#abb2bf'
+ background: '#282c34'
diff --git a/.config/albert/QtProject.conf b/.config/albert/QtProject.conf
new file mode 100644
index 0000000..f2020d1
--- /dev/null
+++ b/.config/albert/QtProject.conf
@@ -0,0 +1,5 @@
+[FileDialog]
+history=@Invalid()
+lastVisited=file:///home/adriel
+qtVersion=5.15.2
+viewMode=Detail
diff --git a/.config/albert/albert.conf b/.config/albert/albert.conf
new file mode 100644
index 0000000..0de4208
--- /dev/null
+++ b/.config/albert/albert.conf
@@ -0,0 +1,68 @@
+[General]
+frontendId=org.albert.frontend.widgetboxmodel
+hotkey=Meta+Shift+G
+incrementalSort=false
+showTray=true
+terminal=alacritty -e
+
+[org.albert.extension.applications]
+enabled=true
+
+[org.albert.extension.calculator]
+enabled=true
+
+[org.albert.extension.chromium]
+enabled=true
+fuzzy=false
+
+[org.albert.extension.files]
+enabled=false
+
+[org.albert.extension.hashgenerator]
+enabled=false
+
+[org.albert.extension.mpris]
+enabled=true
+
+[org.albert.extension.python]
+enabled=true
+
+[org.albert.extension.snippets]
+enabled=true
+
+[org.albert.extension.ssh]
+enabled=true
+
+[org.albert.extension.system]
+enabled=true
+
+[org.albert.extension.terminal]
+enabled=true
+
+[org.albert.extension.virtualbox]
+enabled=false
+
+[org.albert.extension.websearch]
+enabled=true
+
+[org.albert.frontend.qmlboxmodel]
+alwaysOnTop=true
+clearOnHide=false
+hideOnClose=false
+hideOnFocusLoss=true
+showCentered=false
+stylePath=/usr/share/albert/org.albert.frontend.qmlboxmodel/styles/BoxModel/MainComponent.qml
+windowPosition=@Point(760 523)
+
+[org.albert.frontend.widgetboxmodel]
+alwaysOnTop=true
+clearOnHide=false
+displayIcons=true
+displayScrollbar=false
+displayShadow=true
+hideOnClose=false
+hideOnFocusLoss=true
+itemCount=10
+showCentered=true
+theme=Spotlight Dark
+windowPosition=@Point(620 283)
diff --git a/.config/albert/core.db b/.config/albert/core.db
new file mode 100644
index 0000000..51783f2
Binary files /dev/null and b/.config/albert/core.db differ
diff --git a/.config/albert/last_used_version b/.config/albert/last_used_version
new file mode 100644
index 0000000..50c2e5e
--- /dev/null
+++ b/.config/albert/last_used_version
@@ -0,0 +1 @@
+0.17.2
\ No newline at end of file
diff --git a/.config/albert/org.albert.extension.snippets/snippets.db b/.config/albert/org.albert.extension.snippets/snippets.db
new file mode 100644
index 0000000..9a43159
Binary files /dev/null and b/.config/albert/org.albert.extension.snippets/snippets.db differ
diff --git a/.config/albert/org.albert.extension.websearch/engines.json b/.config/albert/org.albert.extension.websearch/engines.json
new file mode 100644
index 0000000..589c69e
--- /dev/null
+++ b/.config/albert/org.albert.extension.websearch/engines.json
@@ -0,0 +1,32 @@
+[
+ {
+ "iconPath": ":duckduckgo",
+ "name": "DuckDuckGo",
+ "trigger": "dd ",
+ "url": "https://duckduckgo.com/?q=%s"
+ },
+ {
+ "iconPath": "/home/adriel/.config/albert/org.albert.extension.websearch/{d7c7cd85-d4b4-4a25-ad3d-94026469ef9f}.",
+ "name": "YewTube",
+ "trigger": "yt ",
+ "url": "https://yewtu.be/results?search_query=%s"
+ },
+ {
+ "iconPath": ":github",
+ "name": "GitHub",
+ "trigger": "gh ",
+ "url": "https://github.com/search?utf8=✓&q=%s"
+ },
+ {
+ "iconPath": ":amazon",
+ "name": "Amazon",
+ "trigger": "ama ",
+ "url": "http://www.amazon.com/s/?field-keywords=%s"
+ },
+ {
+ "iconPath": ":wolfram",
+ "name": "Wolfram Alpha",
+ "trigger": "=",
+ "url": "https://www.wolframalpha.com/input/?i=%s"
+ }
+]
diff --git a/.config/albert/org.albert.extension.websearch/{d7c7cd85-d4b4-4a25-ad3d-94026469ef9f}. b/.config/albert/org.albert.extension.websearch/{d7c7cd85-d4b4-4a25-ad3d-94026469ef9f}.
new file mode 100644
index 0000000..31a15c7
--- /dev/null
+++ b/.config/albert/org.albert.extension.websearch/{d7c7cd85-d4b4-4a25-ad3d-94026469ef9f}.
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/.config/albert/org.albert.frontend.qmlboxmodel/style_properties.ini b/.config/albert/org.albert.frontend.qmlboxmodel/style_properties.ini
new file mode 100644
index 0000000..1ccf0ae
--- /dev/null
+++ b/.config/albert/org.albert.frontend.qmlboxmodel/style_properties.ini
@@ -0,0 +1,25 @@
+[BoxModel]
+animation_duration=200
+background_color="@Variant(\0\0\0\x43\x1\xa7\xa7\x32\x32\x37\x37;;\0\0)"
+border_color=@Variant(\0\0\0\x43\x1\xff\xffUU\x95\x95\xdf\xdf\0\0)
+border_size=0
+cursor_color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
+font_name=Google Sans
+foreground_color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
+highlight_color=@Variant(\0\0\0\x43\x1\xff\xff\x61\x61\xab\xab\xff\xff\0\0)
+icon_size=15
+input_color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\xff\xff\0\0)
+input_fontsize=24
+item_description_fontsize=12
+item_title_fontsize=16
+max_items=8
+padding=4
+radius=7
+selection_color=@Variant(\0\0\0\x43\x1\xff\xff\xc0\xc0\xc0\xc0\xc0\xc0\0\0)
+settingsbutton_color=@Variant(\0\0\0\x43\x1\xff\xff\"\"&&))\0\0)
+settingsbutton_hover_color=@Variant(\0\0\0\x43\x1\xff\xffUU\x95\x95\xdf\xdf\0\0)
+settingsbutton_size=15
+shadow_color=@Variant(\0\0\0\x43\x1\0\0\0\0\0\0\0\0\0\0)
+shadow_size=0
+spacing=6
+window_width=400
diff --git a/.config/inkscape/cphistory.xml b/.config/inkscape/cphistory.xml
new file mode 100644
index 0000000..cd91a84
--- /dev/null
+++ b/.config/inkscape/cphistory.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/.config/inkscape/dialogs-state.ini b/.config/inkscape/dialogs-state.ini
new file mode 100644
index 0000000..aeb1f70
--- /dev/null
+++ b/.config/inkscape/dialogs-state.ini
@@ -0,0 +1,21 @@
+[Windows]
+Count=1
+
+[Window0Column0]
+Notebook0Dialogs=216;210;209;
+Notebook1Dialogs=230;
+NotebookCount=2
+BeforeCanvas=false
+
+[Window0]
+ColumnCount=1
+Floating=false
+
+[transient]
+state1=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=208;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=45\ny=29\nwidth=924\nheight=765\n
+dialogs1=208;
+state2=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=233;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=45\ny=29\nwidth=364\nheight=520\n
+dialogs2=233;
+state3=[Windows]\nCount=1\n\n[Window0Column0]\nNotebook0Dialogs=236;\nNotebookCount=1\n\n[Window0]\nColumnCount=1\nPosition=true\nx=45\ny=29\nwidth=433\nheight=520\n
+dialogs3=236;
+count=3
diff --git a/.config/inkscape/extension-errors.log b/.config/inkscape/extension-errors.log
new file mode 100644
index 0000000..6781d46
--- /dev/null
+++ b/.config/inkscape/extension-errors.log
@@ -0,0 +1,12 @@
+Extension "XFIG Input" failed to load because a dependency was not met.
+Dependency:
+ type: executable
+ location: path
+ string: fig2dev
+
+Extension "Export to PDF via Scribus" failed to load because a dependency was not met.
+Dependency:
+ type: executable
+ location: path
+ string: scribus
+
diff --git a/.config/inkscape/keys/default.xml b/.config/inkscape/keys/default.xml
new file mode 100644
index 0000000..17ac8ab
--- /dev/null
+++ b/.config/inkscape/keys/default.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/.config/inkscape/pages.csv b/.config/inkscape/pages.csv
new file mode 100644
index 0000000..8860ee5
--- /dev/null
+++ b/.config/inkscape/pages.csv
@@ -0,0 +1,77 @@
+#Inkscape page sizes
+#NAME, WIDTH, HEIGHT, UNIT
+A4, 210, 297, mm
+US Letter, 8.5, 11, in
+US Legal, 8.5, 14, in
+US Executive, 7.25, 10.5, in
+US Ledger/Tabloid, 11, 17, in
+A0, 841, 1189, mm
+A1, 594, 841, mm
+A2, 420, 594, mm
+A3, 297, 420, mm
+A5, 148, 210, mm
+A6, 105, 148, mm
+A7, 74, 105, mm
+A8, 52, 74, mm
+A9, 37, 52, mm
+A10, 26, 37, mm
+B0, 1000, 1414, mm
+B1, 707, 1000, mm
+B2, 500, 707, mm
+B3, 353, 500, mm
+B4, 250, 353, mm
+B5, 176, 250, mm
+B6, 125, 176, mm
+B7, 88, 125, mm
+B8, 62, 88, mm
+B9, 44, 62, mm
+B10, 31, 44, mm
+C0, 917, 1297, mm
+C1, 648, 917, mm
+C2, 458, 648, mm
+C3, 324, 458, mm
+C4, 229, 324, mm
+C5, 162, 229, mm
+C6, 114, 162, mm
+C7, 81, 114, mm
+C8, 57, 81, mm
+C9, 40, 57, mm
+C10, 28, 40, mm
+D1, 545, 771, mm
+D2, 385, 545, mm
+D3, 272, 385, mm
+D4, 192, 272, mm
+D5, 136, 192, mm
+D6, 96, 136, mm
+D7, 68, 96, mm
+E3, 400, 560, mm
+E4, 280, 400, mm
+E5, 200, 280, mm
+E6, 140, 200, mm
+CSE, 462, 649, pt
+US #10 Envelope, 9.5, 4.125, in
+DL Envelope, 220, 110, mm
+Banner 468x60, 468, 60, px
+Icon 16x16, 16, 16, px
+Icon 32x32, 32, 32, px
+Icon 48x48, 48, 48, px
+ID Card (ISO 7810), 85.60, 53.98, mm
+Business Card (US), 3.5, 2, in
+Business Card (Europe), 85, 55, mm
+Business Card (AU/NZ), 90, 55, mm
+Arch A, 9, 12, in
+Arch B, 12, 18, in
+Arch C, 18, 24, in
+Arch D, 24, 36, in
+Arch E, 36, 48, in
+Arch E1, 30, 42, in
+Video SD / PAL, 768, 576, px
+Video SD-Widescreen / PAL, 1024, 576, px
+Video SD / NTSC, 544, 480, px
+Video SD-Widescreen / NTSC, 872, 486, px
+Video HD 720p, 1280, 720, px
+Video HD 1080p, 1920, 1080, px
+Video DCI 2k (Full Frame), 2048, 1080, px
+Video UHD 4k, 3840, 2160, px
+Video DCI 4k (Full Frame), 4096, 2160, px
+Video UHD 8k, 7680, 4320, px
diff --git a/.config/inkscape/preferences.xml b/.config/inkscape/preferences.xml
new file mode 100644
index 0000000..963c291
--- /dev/null
+++ b/.config/inkscape/preferences.xml
@@ -0,0 +1,1112 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/.config/lf/lfrc b/.config/lf/lfrc
new file mode 100644
index 0000000..ce949d9
--- /dev/null
+++ b/.config/lf/lfrc
@@ -0,0 +1,2 @@
+set icons true
+set hidden true
diff --git a/.config/nvim.tar.xz b/.config/nvim.tar.xz
new file mode 100644
index 0000000..c128c7a
Binary files /dev/null and b/.config/nvim.tar.xz differ
diff --git a/.nvimrc b/.nvimrc
new file mode 100644
index 0000000..51cb3c5
--- /dev/null
+++ b/.nvimrc
@@ -0,0 +1,492 @@
+set clipboard=unnamed
+
+
+
+" Fisa-vim-config
+" http://fisadev.github.io/fisa-vim-config/
+" version: 8.3.1
+
+" ============================================================================
+" Vim-plug initialization
+" Avoid modify this section, unless you are very sure of what you are doing
+
+let vim_plug_just_installed = 0
+let vim_plug_path = expand('~/.vim/autoload/plug.vim')
+if !filereadable(vim_plug_path)
+ echo "Installing Vim-plug..."
+ echo ""
+ silent !mkdir -p ~/.vim/autoload
+ silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
+ let vim_plug_just_installed = 1
+endif
+
+" manually load vim-plug the first time
+if vim_plug_just_installed
+ :execute 'source '.fnameescape(vim_plug_path)
+endif
+
+" Obscure hacks done, you can now modify the rest of the .vimrc as you wish :)
+
+" ============================================================================
+" Active plugins
+" You can disable or add new ones here:
+
+" this needs to be here, so vim-plug knows we are declaring the plugins we
+" want to use
+call plug#begin('~/.vim/plugged')
+
+
+Plug 'ervandew/supertab'
+Plug 'nvie/vim-flake8'
+Plug 'tmhedberg/SimpylFold'
+Plug 'Xuyuanp/nerdtree-git-plugin'
+Plug 'tpope/vim-fugitive'
+Plug 'junegunn/gv.vim' " :GV
+Plug 'w0rp/ale'
+Plug 'jiangmiao/auto-pairs'
+Plug 'tell-k/vim-autopep8'
+" Plug 'kblin/vim-fountain
+
+" This is a selection of plugins to make prose writing easier.
+
+Plug 'dpelle/vim-LanguageTool'
+Plug 'ron89/thesaurus_query.vim'
+Plug 'junegunn/goyo.vim'
+Plug 'junegunn/limelight.vim'
+Plug 'reedes/vim-pencil'
+Plug 'reedes/vim-wordy'
+Plug 'plasticboy/vim-markdown'
+
+Plug 'colepeters/spacemacs-theme.vim'
+Plug 'sainnhe/gruvbox-material'
+Plug 'phanviet/vim-monokai-pro'
+Plug 'flazz/vim-colorschemes'
+Plug 'chriskempson/base16-vim'
+Plug 'gruvbox-community/gruvbox'
+
+Plug 'raghur/vim-ghost', {'do': ':GhostInstall'}
+Plug 'roxma/nvim-yarp', v:version >= 800 && !has('nvim') ? {} : { 'on': [], 'for': [] }
+Plug 'roxma/vim-hug-neovim-rpc', v:version >= 800 && !has('nvim') ? {} : { 'on': [], 'for': [] }
+
+
+
+
+
+
+Plug 'thaerkh/vim-workspace'
+
+"Related to above, the following code saves all session files in a single directory outside your
+"workspace
+
+let g:workspace_session_directory = $HOME . '/.vim/sessions/'
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ " beautify the code:
+map :Autopep8
+
+" Plugins from github repos:
+
+
+" Override configs by directory
+Plug 'arielrossanigo/dir-configs-override.vim'
+" Better file browser
+Plug 'scrooloose/nerdtree'
+" Code commenter
+Plug 'scrooloose/nerdcommenter'
+" Class/module browser
+Plug 'majutsushi/tagbar'
+" Code and files fuzzy finder
+Plug 'ctrlpvim/ctrlp.vim'
+" Extension to ctrlp, for fuzzy command finder
+Plug 'fisadev/vim-ctrlp-cmdpalette'
+" Zen coding
+Plug 'mattn/emmet-vim'
+" Git integration
+Plug 'motemen/git-vim'
+" Tab list panel
+Plug 'kien/tabman.vim'
+" Airline
+Plug 'vim-airline/vim-airline'
+Plug 'vim-airline/vim-airline-themes'
+" Terminal Vim with 256 colors colorscheme
+Plug 'fisadev/fisa-vim-colorscheme'
+" Consoles as buffers
+Plug 'rosenfeld/conque-term'
+" Pending tasks list
+Plug 'fisadev/FixedTaskList.vim'
+" Surround
+Plug 'tpope/vim-surround'
+" Autoclose
+Plug 'Townk/vim-autoclose'
+" Indent text object
+Plug 'michaeljsmith/vim-indent-object'
+" Indentation based movements
+Plug 'jeetsukumaran/vim-indentwise'
+" Python autocompletion, go to definition.
+Plug 'davidhalter/jedi-vim'
+" Better autocompletion
+Plug 'Shougo/neocomplcache.vim'
+" Snippets manager (SnipMate), dependencies, and snippets repo
+"Plug 'MarcWeber/vim-addon-mw-utils'
+"Plug 'tomtom/tlib_vim'
+"Plug 'honza/vim-snippets'
+"Plug 'garbas/vim-snipmate'
+" Git/mercurial/others diff icons on the side of the file lines
+Plug 'mhinz/vim-signify'
+" Automatically sort python imports
+Plug 'fisadev/vim-isort'
+" Drag visual blocks arround
+Plug 'fisadev/dragvisuals.vim'
+" Window chooser
+Plug 't9md/vim-choosewin'
+" Python and other languages code checker
+Plug 'scrooloose/syntastic'
+" Paint css colors with the real color
+Plug 'lilydjwg/colorizer'
+" Ack code search (requires ack installed in the system)
+Plug 'mileszs/ack.vim'
+if has('python')
+ " YAPF formatter for Python
+ Plug 'pignacio/vim-yapf-format'
+endif
+" Relative numbering of lines (0 is the current line)
+" (disabled by default because is very intrusive and can't be easily toggled
+" on/off. When the plugin is present, will always activate the relative
+" numbering every time you go to normal mode. Author refuses to add a setting
+" to avoid that)
+" Plug 'myusuf3/numbers.vim'
+
+" Plugins from vim-scripts repos:
+
+" Search results counter
+Plug 'vim-scripts/IndexedSearch'
+" XML/HTML tags navigation
+Plug 'vim-scripts/matchit.zip'
+" Gvim colorscheme
+Plug 'vim-scripts/Wombat'
+" Yank history navigation
+Plug 'vim-scripts/YankRing.vim'
+
+" Tell vim-plug we finished declaring plugins, so it can load them
+call plug#end()
+
+" ============================================================================
+" Install plugins the first time vim runs
+
+if vim_plug_just_installed
+ echo "Installing Bundles, please ignore key map error messages"
+ :PlugInstall
+endif
+
+" ============================================================================
+" Vim settings and mappings
+" You can edit them as you wish
+
+" no vi-compatible
+set nocompatible
+
+" allow plugins by file type (required for plugins!)
+filetype plugin on
+filetype indent on
+
+" The next two settings ensure that line breaks and wrap work how writers, not
+" coders, prefer it
+
+set wrap
+set spell
+
+
+
+" tabs and spaces handling
+set expandtab
+set tabstop=4
+set softtabstop=4
+set shiftwidth=4
+
+" tab length exceptions on some file types
+autocmd FileType html setlocal shiftwidth=4 tabstop=4 softtabstop=4
+autocmd FileType htmldjango setlocal shiftwidth=4 tabstop=4 softtabstop=4
+autocmd FileType javascript setlocal shiftwidth=4 tabstop=4 softtabstop=4
+
+" always show status bar
+set ls=2
+
+" incremental search
+set incsearch
+" highlighted search results
+set hlsearch
+
+" syntax highlight on
+syntax on
+
+" show line numbers
+set nu
+
+" tab navigation mappings
+map tn :tabn
+map tp :tabp
+map tm :tabm
+map tt :tabnew
+map ts :tab split
+map :tabn
+imap :tabn
+map :tabp
+imap :tabp
+
+" navigate windows with meta+arrows
+map l
+map h
+map k
+map j
+imap l
+imap h
+imap k
+imap j
+
+" old autocomplete keyboard shortcut
+imap
+
+" Comment this line to enable autocompletion preview window
+" (displays documentation related to the selected completion option)
+" Disabled by default because preview makes the window flicker
+set completeopt-=preview
+
+" save as sudo
+ca w!! w !sudo tee "%"
+
+" simple recursive grep
+nmap ,r :Ack
+nmap ,wr :Ack
+
+" use 256 colors when possible
+if (&term =~? 'mlterm\|xterm\|xterm-256\|screen-256') || has('nvim')
+ let &t_Co = 256
+ colorscheme fisa
+else
+ colorscheme delek
+endif
+
+" colors for gvim
+if has('gui_running')
+ colorscheme wombat
+endif
+
+" when scrolling, keep cursor 3 lines away from screen border
+set scrolloff=3
+
+" autocompletion of files and commands behaves like shell
+" (complete only the common part, list the options that match)
+set wildmode=list:longest
+
+" better backup, swap and undos storage
+set directory=~/.vim/dirs/tmp " directory to place swap files in
+set backup " make backup files
+set backupdir=~/.vim/dirs/backups " where to put backup files
+set undofile " persistent undos - undo after you re-open the file
+set undodir=~/.vim/dirs/undos
+set viminfo+=n~/.vim/dirs/viminfo
+" store yankring history file there too
+let g:yankring_history_dir = '~/.vim/dirs/'
+
+" create needed directories if they don't exist
+if !isdirectory(&backupdir)
+ call mkdir(&backupdir, "p")
+endif
+if !isdirectory(&directory)
+ call mkdir(&directory, "p")
+endif
+if !isdirectory(&undodir)
+ call mkdir(&undodir, "p")
+endif
+
+" ============================================================================
+" Plugins settings and mappings
+" Edit them as you wish.
+
+" Tagbar -----------------------------
+
+" toggle tagbar display
+map :TagbarToggle
+" autofocus on tagbar open
+let g:tagbar_autofocus = 1
+
+" NERDTree -----------------------------
+
+" toggle nerdtree display
+map :NERDTreeToggle
+" open nerdtree with the current file selected
+nmap ,t :NERDTreeFind
+" don;t show these file types
+let NERDTreeIgnore = ['\.pyc$', '\.pyo$']
+
+
+" Tasklist ------------------------------
+
+" show pending tasks list
+map :TaskList
+
+" CtrlP ------------------------------
+
+" file finder mapping
+let g:ctrlp_map = ',e'
+" tags (symbols) in current file finder mapping
+nmap ,g :CtrlPBufTag
+" tags (symbols) in all files finder mapping
+nmap ,G :CtrlPBufTagAll
+" general code finder in all files mapping
+nmap ,f :CtrlPLine
+" recent files finder mapping
+nmap ,m :CtrlPMRUFiles
+" commands finder mapping
+nmap ,c :CtrlPCmdPalette
+" to be able to call CtrlP with default search text
+function! CtrlPWithSearchText(search_text, ctrlp_command_end)
+ execute ':CtrlP' . a:ctrlp_command_end
+ call feedkeys(a:search_text)
+endfunction
+" same as previous mappings, but calling with current word as default text
+nmap ,wg :call CtrlPWithSearchText(expand(''), 'BufTag')
+nmap ,wG :call CtrlPWithSearchText(expand(''), 'BufTagAll')
+nmap ,wf :call CtrlPWithSearchText(expand(''), 'Line')
+nmap ,we :call CtrlPWithSearchText(expand(''), '')
+nmap ,pe :call CtrlPWithSearchText(expand(''), '')
+nmap ,wm :call CtrlPWithSearchText(expand(''), 'MRUFiles')
+nmap ,wc :call CtrlPWithSearchText(expand(''), 'CmdPalette')
+" don't change working directory
+let g:ctrlp_working_path_mode = 0
+" ignore these files and folders on file finder
+let g:ctrlp_custom_ignore = {
+ \ 'dir': '\v[\/](\.git|\.hg|\.svn|node_modules)$',
+ \ 'file': '\.pyc$\|\.pyo$',
+ \ }
+
+" Syntastic ------------------------------
+
+" show list of errors and warnings on the current file
+nmap e :Errors
+" check also when just opened the file
+let g:syntastic_check_on_open = 1
+" don't put icons on the sign column (it hides the vcs status icons of signify)
+let g:syntastic_enable_signs = 0
+" custom icons (enable them if you use a patched font, and enable the previous
+" setting)
+"let g:syntastic_error_symbol = '✗'
+"let g:syntastic_warning_symbol = '⚠'
+"let g:syntastic_style_error_symbol = '✗'
+"let g:syntastic_style_warning_symbol = '⚠'
+
+" Jedi-vim ------------------------------
+
+" All these mappings work only for python code:
+" Go to definition
+let g:jedi#goto_command = ',d'
+" Find ocurrences
+let g:jedi#usages_command = ',o'
+" Find assignments
+let g:jedi#goto_assignments_command = ',a'
+" Go to definition in new tab
+nmap ,D :tab split:call jedi#goto()
+
+" NeoComplCache ------------------------------
+
+" most of them not documented because I'm not sure how they work
+" (docs aren't good, had to do a lot of trial and error to make
+" it play nice)
+let g:neocomplcache_enable_at_startup = 1
+let g:neocomplcache_enable_ignore_case = 1
+let g:neocomplcache_enable_smart_case = 1
+let g:neocomplcache_enable_auto_select = 1
+let g:neocomplcache_enable_fuzzy_completion = 1
+let g:neocomplcache_enable_camel_case_completion = 1
+let g:neocomplcache_enable_underbar_completion = 1
+let g:neocomplcache_fuzzy_completion_start_length = 1
+let g:neocomplcache_auto_completion_start_length = 1
+let g:neocomplcache_manual_completion_start_length = 1
+let g:neocomplcache_min_keyword_length = 1
+let g:neocomplcache_min_syntax_length = 1
+" complete with workds from any opened file
+let g:neocomplcache_same_filetype_lists = {}
+let g:neocomplcache_same_filetype_lists._ = '_'
+
+" TabMan ------------------------------
+
+" mappings to toggle display, and to focus on it
+let g:tabman_toggle = 'tl'
+let g:tabman_focus = 'tf'
+
+" Autoclose ------------------------------
+
+" Fix to let ESC work as espected with Autoclose plugin
+let g:AutoClosePumvisible = {"ENTER": "\", "ESC": "\"}
+
+" DragVisuals ------------------------------
+
+" mappings to move blocks in 4 directions
+vmap DVB_Drag('left')
+vmap DVB_Drag('right')
+vmap DVB_Drag('down')
+vmap DVB_Drag('up')
+" mapping to duplicate block
+vmap D DVB_Duplicate()
+
+" Signify ------------------------------
+
+" this first setting decides in which order try to guess your current vcs
+" UPDATE it to reflect your preferences, it will speed up opening files
+let g:signify_vcs_list = [ 'git', 'hg' ]
+" mappings to jump to changed blocks
+nmap sn (signify-next-hunk)
+nmap sp (signify-prev-hunk)
+" nicer colors
+highlight DiffAdd cterm=bold ctermbg=none ctermfg=119
+highlight DiffDelete cterm=bold ctermbg=none ctermfg=167
+highlight DiffChange cterm=bold ctermbg=none ctermfg=227
+highlight SignifySignAdd cterm=bold ctermbg=237 ctermfg=119
+highlight SignifySignDelete cterm=bold ctermbg=237 ctermfg=167
+highlight SignifySignChange cterm=bold ctermbg=237 ctermfg=227
+
+" Window Chooser ------------------------------
+
+" mapping
+nmap - (choosewin)
+" show big letters
+let g:choosewin_overlay_enable = 1
+
+" Airline ------------------------------
+
+let g:airline_powerline_fonts = 0
+let g:airline_theme = 'bubblegum'
+let g:airline#extensions#whitespace#enabled = 0
+
+" to use fancy symbols for airline, uncomment the following lines and use a
+" patched font (more info on the README.rst)
+"if !exists('g:airline_symbols')
+" let g:airline_symbols = {}
+"endif
+"let g:airline_left_sep = '⮀'
+"let g:airline_left_alt_sep = '⮁'
+"let g:airline_right_sep = '⮂'
+"let g:airline_right_alt_sep = '⮃'
+"let g:airline_symbols.branch = '⭠'
+"let g:airline_symbols.readonly = '⭤'
+"let g:airline_symbols.linenr = '⭡'
+
+" start with Insert on:
+" au BufRead,BufNewFile * startinsert
+
+" supertab settings
+set completeopt=longest,menuone
+let g:SuperTabDefaultCompletionType = ""
diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000..fc5fb53
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,10 @@
+#!/bin/bash
+
+current_dir="$(pwd)"
+
+tar -xvf .config/nvim.tar.xz
+mv nvim .config/nvim
+
+cd $HOME
+cp -rf "$current_dir"/{.config,.local} .
+cp -rf "$current_dir"/{.nvimrc} .