🧰 ~ • My Đotfiles
Go to file
2021-02-02 11:56:41 +00:00
.dotbot@4ec846cdad Templating for dotbot 2021-01-31 17:10:19 +00:00
bash Fix Unix encoding 2021-02-01 05:20:09 -05:00
vim Adds externally downloaded plugins, via Vim-Plug 2021-02-02 11:56:41 +00:00
.gitmodules Templating for dotbot 2021-01-31 17:10:19 +00:00
.install.conf.yaml Vim setup is now working nicley 2021-02-01 13:17:51 -05:00
install.sh V0.01 2021-01-31 20:45:12 +00:00
README.md Updates readme 2021-02-02 11:22:01 +00:00

    ____        __  _____ __         
   / __ \____  / /_/ __(_) /__  _____
  / / / / __ \/ __/ /_/ / / _ \/ ___/
 / /_/ / /_/ / /_/ __/ / /  __(__  ) 
/_____/\____/\__/_/ /_/_/\___/____/       

Intro

My personal dot files, that I use to quickly configure a Linux environment on desktop and server instances. Dotbot is being used to create symlinks in all the right places.

Tested and used on Ubuntu, Arch Linux and Manjaro.


Setup

To setup, just clone the repo, cd into it, and run the install script.

git clone git@github.com:Lissy93/dotfiles.git
cd dotfiles
./install.sh

Configuring

Configuration is specified in .install.conf.yaml and managed with Dotbot.

The bootstrap configurations are idempotent (and so the installer can be run multiple times without causing any problems).

To only install certain parts of the config, pass the --only flag to the install.sh script, similarly --except can be used to exclude certain directives.


Dependencies

  • zsh - Interactive Shell
  • vim - Fast, solid customizable text editor
  • tmux - Detachable terminal multiplexer
  • ranger - CLI-based file manager with VI bindings
  • git - Version control system

Ubuntu: sudo apt install -y zsh vim tmux ranger git Arch Linux: sudo pacman -S zsh vim tmux ranger git


Details

Vim

The entry point for the Vim config is the vimrc, but the main editor settings are defined in vim/editor.vim

Plugins

Vim plugins are managed using Plug defined in vim/plugins.vim. To install them from GitHub, run :PlugInstall (see options) from within Vim.

Layout & Navigation:

  • Airline: vim-airline/vim-airline - A very nice status line at the bottom of each window, displaying useful info
  • Nerd-tree: preservim/nerdtree - Alter files in larger projects more easily, with a nice tree-view pain
  • Matchup: andymass/vim-matchup - Better % naviagtion, to highlight and jump between open and closing blocks
  • TagBar: preservim/tagbar - Provides an overview of the structure of a long file, shows tags ordered by scope
  • Gutentags: ludovicchabant/vim-gutentags - Manages tag files
  • Fzf: junegunn/fzf and junegunn/fzf.vim - Command-line fuzzy finder and corresponding vim bindings
  • Deoplete.nvim: Shougo/deoplete.nvim - Extensible and asynchronous auto completion framework
  • Smoothie: psliwka/vim-smoothie - Smooth scrolling, supporting ^D, ^U, ^F and ^B
  • DevIcons: ryanoasis/vim-devicons - Adds file-type icons to Nerd-tree and other plugins

Operations:

  • Nerd-Commenter: preservim/nerdcommenter - For auto-commenting code blocks
  • Ale: dense-analysis/ale - Checks syntax asynchronously, with lint support
  • Surround: tpope/vim-surround - Easily surround selected text with brackets, quotes, tags etc
  • IncSearch: haya14busa/incsearch.vim - Efficient incremental searching within files
  • Vim-Visual-Multi: mg979/vim-visual-multi - Allows for inserting/ deleting in multiple places simultaneously
  • Visual-Increment: triglav/vim-visual-increment - Create an increasing sequence of numbers/ letters with Ctrl + A/X
  • Vim-Test: janko/vim-test - A wrapper for running tests on different granularities
  • Syntastic: vim-syntastic/syntastic - Syntax checking that warns in the gutter when there's an issue

Git:

  • Git-Gutter: airblade/vim-gitgutter - Shows git diff markers in the gutter column
  • Vim-fugitive: tpope/vim-fugitive - A git wrapper for git that lets you call a git command using :Git
  • Committia: rhysd/committia.vim - Shows a diff, status and edit window for git commits
  • Vim-Git: tpope/vim-git - Runtime files for git in vim, for git, gitcommit, gitconfig, gitrebase, and gitsendemail

File-Type Plugins:

  • Vim-JavaScript: pangloss/vim-javascript (JavaScript) - Syntax highlighting and improved indentation for JS files
  • Yats: HerringtonDarkholme/yats.vim (TypeScript) - Syntax highlighting and snippets for TypeScript files
  • Vim-jsx-pretty: MaxMEllon/vim-jsx-pretty (React) - Highlighting and indentation for React .tsx and .jsx files
  • Vim-CSS-Color: ap/vim-css-color (CSS/ SASS) - Previews colors as text highlight, where hex codes are present
  • Mustache and Handlebars: mustache/vim-mustache-handlebars (Mustache/ Handlebars) - Auto handles braces
  • Vim-Go: fatih/vim-go (GoLang) - Go support, with syntax highlighting, quick execute, imports, formatting etc
  • Indentpython: vim-scripts/indentpython.vim (Python) - Correct indentation for Python files
  • Semshi: numirias/semshi (Python) - Advanced syntax highlighting for Python files
  • SimpylFold: tmhedberg/SimpylFold (Python) - Code-folding for Python
  • Vimtex: lervag/vimtex (LaTex) - Completion of citations, labels, commands and glossary entries
  • Dockerfile.vim: ekalinin/Dockerfile.vim (Docker) - Syntax highlighting and snippets for Dockerfiles
  • Vim-Json: elzr/vim-json (JSON) - Syntax highlighting, warnings, and quote concealing foe .json files
  • Requirements: raimon49/requirements.txt.vim (Requirements) - Syntax highlighting for the requirements file format
  • Vim-Markdown: gabrielelana/vim-markdown (Markdown) - Syntax highlighting, auto format, easy tables and more
  • Zinit: zinit-zsh/zinit-vim-syntax (ZSH) - syntax definition for Zinit commands in any file of type zsh
  • Nginx:chr4/nginx.vim (Nginx) - Integer matching, hichlight syntax and IPv4/ IPv6, mark insecure protocols and more

Themes: