From ba8dca3c02db80d1a9e6566d4b55801ee511c7ab Mon Sep 17 00:00:00 2001 From: Clortox Date: Sat, 3 Jul 2021 14:54:50 -0400 Subject: [PATCH] Initial Commit --- Makefile | 138 +++++++++++++++++++++++++++++++++++++++ README.md | 10 +++ src/bash/bashrc | 90 +++++++++++++++++++++++++ src/calcurse/conf | 32 +++++++++ src/calcurse/keys | 55 ++++++++++++++++ src/compton/compton.conf | 50 ++++++++++++++ src/mpv/mpv.conf | 1 + src/newsboat/config | 54 +++++++++++++++ src/newsboat/urls | 63 ++++++++++++++++++ src/vim/vimrc | 105 +++++++++++++++++++++++++++++ 10 files changed, 598 insertions(+) create mode 100644 Makefile create mode 100644 README.md create mode 100644 src/bash/bashrc create mode 100644 src/calcurse/conf create mode 100644 src/calcurse/keys create mode 100644 src/compton/compton.conf create mode 100644 src/mpv/mpv.conf create mode 100644 src/newsboat/config create mode 100644 src/newsboat/urls create mode 100644 src/vim/vimrc diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..34a41c8 --- /dev/null +++ b/Makefile @@ -0,0 +1,138 @@ +############################################################################### +# Tyler Perkins +# 2-7-21 +# Makefile +# + +SRC = ./src +PROGRAMS = calcurse vim newsboat mpv bash compton + +.PHONY : install update clean + +install : + #vim + @which vim > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "vim found! Installing .vimrc ..."; \ + [ -f ~/.vimrc ] && mv ~/.vimrc ~/.vimrc.old; \ + cp $(SRC)/vim/vimrc ~/.vimrc; \ + fi + #bash + @which bash > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "bash found! Installing .bashrc ..."; \ + [ -f ~/.bashrc ] && mv ~/.bashrc ~/.bashrc.old; \ + cp $(SRC)/bash/bashrc ~/.bashrc; \ + fi + #calcurse + @which calcurse > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "calcurse found! Installing configs..."; \ + [ -f ~/.config/calcurse/conf ] && mv ~/.config/calcurse/conf ~/.config/calcurse/conf.old; \ + cp $(SRC)/calcurse/conf ~/.config/calcurse/conf; \ + [ -f ~/.config/calcurse/keys ] && mv ~/.config/calcurse/keys ~/.config/calcurse/keys.old; \ + cp $(SRC)/calcurse/keys ~/.config/calcurse/keys; \ + fi + #newsboat + @which newsboat > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "newsboat found! Installing config and urls..."; \ + [ -f ~/.newsboat/config ] && mv ~/.newsboat/config ~/.newsboat/config.old; \ + cp $(SRC)/newsboat/config ~/.newsboat/config; \ + [ -f ~/.newsboat/urls ] && mv ~/.newsboat/urls ~/.newsboat/urls.old; \ + cp $(SRC)/newsboat/urls ~/.newsboat/urls; \ + fi + #mpv + @which mpv > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "mpv found! Installing config..."; \ + [ -f ~/.config/mpv/mpv.conf ] && mv ~/.config/mpv/mpv.conf ~/.config/mpv/mpv.conf.old; \ + cp $(SRC)/mpv/mpv.conf ~/.config/mpv/mpv.conf; \ + fi + #compton + @which compton > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "compton found! Installing config, changes will not take effect till compton is restarted..."; \ + [ -f ~/.config/compton.conf ] && mv ~/.config/compton.conf ~/.config/compton.conf.old; \ + cp $(SRC)/compton/compton.conf ~/.config/compton.conf; \ + fi + +update: + #vim + @which vim > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "vim found! Updating vimrc files with existing versions..."; \ + [ -f ~/.vimrc ] && cp ~/.vimrc $(SRC)/vim/vimrc; \ + fi + #bash + @which bash > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "bash found! Updating bashrc files with existing versions..."; \ + [ -f ~/.bashrc ] && cp ~/.bashrc $(SRC)/bash/bashrc; \ + fi + #calcurse + @which calcurse > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "calcurse found! Updating config files with existing versions..."; \ + [ -f ~/.config/calcurse/conf ] && cp ~/.config/calcurse/conf $(SRC)/calcurse/conf; \ + [ -f ~/.config/calcurse/keys ] && cp ~/.config/calcurse/keys $(SRC)/calcurse/keys; \ + fi + #newsboat + @which newsboat > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "newsboat found! Updating config files with existing versions..."; \ + [ -f ~/.newsboat/config ] && cp ~/.newsboat/config $(SRC)/newsboat/config; \ + [ -f ~/.newsboat/urls ] && cp ~/.newsboat/urls $(SRC)/newsboat/urls; \ + fi + #mpv + @which mpv > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "mpv found! Updating config files with existing versions..."; \ + [ -f ~/.config/mpv/mpv.conf ] && cp ~/.config/mpv/mpv.conf $(SRC)/mpv/mpv.conf; \ + fi + #compton + @which compton > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "compton found! Updating config files with existing versions..."; \ + [ -f ~/.config/compton.conf ] && cp ~/.config/compton.conf $(SRC)/compton/compton.conf; \ + fi + +clean : + #vim + @which vim > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "vim found! removing existing config files and reinstalling *.old"; \ + [ -f ~/.vimrc.old ] && mv ~/.vimrc.old ~/.vimrc; \ + fi + #bash + @which bash > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "bash found! removing existing config files and reinstalling *.old"; \ + [ -f ~/.bashrc.old ] && mv ~/.bashrc.old ~/.bashrc; \ + fi + #calcurse + @which calcurse > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "calcurse found! remvoing existing config files and reinstalling *.old"; \ + [ -f ~/.config/calcurse/conf.old ] && mv ~/.config/calurse/conf.old ~/.config/calcurse/conf; \ + [ -f ~/.config/calcurse/keys.old ] && mv ~/.config/calurse/keys.old ~/.config/calcurse/keys; \ + fi + #newsboat + @which newsboat > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "newsboat found! removing existing config files and reinstalling *.old"; \ + [ -f ~/.newsboat/config.old ] && mv ~/.newsboat/config.old ~/.newsboat/config; \ + [ -f ~/.newsboat/urls.old ] && mv ~/.newsboat/urls.old ~/.newsboat/urls; \ + fi + #mpv + @which mpv > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "mpv found! removing existing config files and reinstalling *.old"; \ + [ -f ~/.config/mpv/mpv.conf.old ] && mv ~/.config/mpv/mpv.conf.old ~/.config/mpv/mpv.conf; \ + fi + #compton + @which compton > /dev/null 2>&1 + @if [ $$? -eq 0 ]; then \ + echo "compton found! remvoing existing confi files and reinstalling *.old"; \ + [ -f ~/.config/compton.old ] && mv ~/.config/compton.conf.old ~/.config/compton.conf; \ + fi diff --git a/README.md b/README.md new file mode 100644 index 0000000..d3d5fde --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +Dot Files +========= + +My dotfiles, with an install. + +To install, +`make install` + +To update local copies, +`make update` diff --git a/src/bash/bashrc b/src/bash/bashrc new file mode 100644 index 0000000..750bcdb --- /dev/null +++ b/src/bash/bashrc @@ -0,0 +1,90 @@ +# /etc/skel/.bashrc +# +# This file is sourced by all *interactive* bash shells on startup, +# including some apparently interactive shells such as scp and rcp +# that can't tolerate any output. So make sure this doesn't display +# anything or bad things will happen ! + + +# Test for an interactive shell. There is no need to set anything +# past this point for scp and rcp, and it's important to refrain from +# outputting anything in those cases. +if [[ $- != *i* ]] ; then + # Shell is non-interactive. Be done now! + return +fi + +#vi mode +set -o vi + +# Put your fun stuff here. + +#add .cargo/bin to path +export PATH="/home/tyler/.cargo/bin:$PATH" +export PATH="/home/tyler/.local/bin:$PATH" + +#use vim as editor +export EDITOR="/usr/bin/vim" + +#proton work directory set as enviroment var +export STEAM_COMPAT_DATA_PATH=~/.proton/ + +#alias set +alias l="ls -al" +alias lt="ls --human-readable --size -S --classify" +alias ..="cd .." +alias mon2cam="deno run --unstable -A -r -q https://raw.githubusercontent.com/ShayBox/Mon2Cam/master/src/mod.ts" +alias sha="shasum -a 256" +alias untar="tar zxvf" +alias sync="sudo emerge --sync && sudo layman -S" +alias upgrade-all="sudo emerge --ask --verbose --update --deep --changed-use @world" +alias myip="curl ipinfo.io/ip" +alias port="netstat -tulanp" +alias ports="netstat -tulanp | less" +alias audio="pulsemixer" +alias weather="curl wttr.in" +alias http="python -m http.server" +alias google="tuxi" + +alias diff="diff --color=auto" +alias grep="grep -i --color=auto" +alias mv="mv -v" +alias nnn="nnn -e" + +alias sched="vim /home/tyler/school/Sched.txt" + + +#display colors +_PROMPT_GREEN_='\033[1;32m' +_PROMPT_HEAD_="$_PROMPT_GREEN_" +_PROMPT_VAR_='\033[0;31m' +_BATTERY_=$(cat /sys/class/power_supply/BAT0/capacity) + +if [ $_BATTERY_ -le 35 ]; then + _BATTERY_="!!${_BATTERY_}!!" +fi + +#display stuff at beggining of the shell +echo -e "${_PROMPT_HEAD_}#########################" +echo -e "${_PROMPT_HEAD_}#Welcome ${_PROMPT_VAR_}$(whoami)" +echo -e "${_PROMPT_HEAD_}#EIp : ${_PROMPT_VAR_}$(ifconfig eno1 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')" +echo -e "${_PROMPT_HEAD_}#WIp : ${_PROMPT_VAR_}$(ifconfig wlo1 | grep -Eo 'inet (addr:)?([0-9]*\.){3}[0-9]*' | grep -Eo '([0-9]*\.){3}[0-9]*' | grep -v '127.0.0.1')" +echo -e "${_PROMPT_HEAD_}#PIp : ${_PROMPT_VAR_}$(curl -s ipinfo.io/ip)" +echo -e "${_PROMPT_HEAD_}#Time: ${_PROMPT_VAR_}$(date +"%T")" +echo -e "${_PROMPT_HEAD_}#Batt: ${_PROMPT_VAR_}${_BATTERY_}%" + +# >>> conda initialize >>> +# !! Contents within this block are managed by 'conda init' !! +#__conda_setup="$('/home/tyler/code/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)" +#if [ $? -eq 0 ]; then +# eval "$__conda_setup" +#else +# if [ -f "/home/tyler/code/miniconda3/etc/profile.d/conda.sh" ]; then +# . "/home/tyler/code/miniconda3/etc/profile.d/conda.sh" +# else +# export PATH="/home/tyler/code/miniconda3/bin:$PATH" +# fi +#fi +#unset __conda_setup +# <<< conda initialize <<< + diff --git a/src/calcurse/conf b/src/calcurse/conf new file mode 100644 index 0000000..3e3cc19 --- /dev/null +++ b/src/calcurse/conf @@ -0,0 +1,32 @@ +appearance.calendarview=monthly +appearance.compactpanels=no +appearance.defaultpanel=calendar +appearance.layout=1 +appearance.headerline=yes +appearance.eventseparator=yes +appearance.dayseparator=yes +appearance.emptyline=yes +appearance.emptyday=-- +appearance.notifybar=yes +appearance.sidebarwidth=0 +appearance.theme=red on default +appearance.todoview=hide-completed +appearance.headingpos=right-justified +daemon.enable=no +daemon.log=yes +format.inputdate=1 +format.notifydate=%a %F +format.notifytime=%T +format.outputdate=%D +format.dayheading=%B %e, %Y +general.autogc=no +general.autosave=yes +general.confirmdelete=yes +general.confirmquit=yes +general.firstdayofweek=monday +general.multipledays=yes +general.periodicsave=0 +general.systemevents=yes +notification.command=printf '\a' +notification.notifyall=flagged-only +notification.warning=300 diff --git a/src/calcurse/keys b/src/calcurse/keys new file mode 100644 index 0000000..0f5ee8d --- /dev/null +++ b/src/calcurse/keys @@ -0,0 +1,55 @@ +# +# Calcurse keys configuration file +# +# In this file the keybindings used by Calcurse are defined. +# It is generated automatically by Calcurse and is maintained +# via the key configuration menu of the interactive user +# interface. It should not be edited directly. + +generic-cancel ESC +generic-select SPC +generic-credits @ +generic-help ? +generic-quit q Q +generic-save s S ^S +generic-reload R +generic-copy c +generic-paste p ^V +generic-change-view TAB +generic-import i I +generic-export x X +generic-goto g G +generic-other-cmd o O +generic-config-menu C +generic-redraw ^R +generic-add-appt ^A +generic-add-todo ^T +generic-prev-day T ^H +generic-next-day t ^L +generic-prev-week W ^K +generic-next-week w +generic-prev-month M +generic-next-month m +generic-prev-year Y +generic-next-year y +generic-scroll-down ^N +generic-scroll-up ^P +generic-goto-today ^G +generic-command : +move-right l L RGT +move-left h H LFT +move-down j J DWN +move-up k K UP +start-of-week 0 +end-of-week $ +add-item a A +del-item d D +edit-item e E +view-item v V RET +pipe-item | +flag-item ! +repeat r +edit-note n N +view-note > +raise-priority + +lower-priority - diff --git a/src/compton/compton.conf b/src/compton/compton.conf new file mode 100644 index 0000000..0375f04 --- /dev/null +++ b/src/compton/compton.conf @@ -0,0 +1,50 @@ +# backend +backend = "glx"; +glx-copy-from-front = false; +vsync = "opengl"; + +# shadow +shadow = true; # enable windows +no-dock-shadow = true; # no shadows on dock/panel windows +no-dnd-shadow = true; # no shadow on dnd widnows +clear-shadow = true; +shadow-radius = 10; + +shadow-exclude = [ "n:e:Notification" ]; +shadow-ignore-shaped = true; + +# Opacity +menu-opactiy = 1; +inactive-opactiy = 0.95; +frame-opactiy = 1; +active-opacity = 1; +inactive-opactiy-override = false; +alpha-setp = 0.06; +inactive-dim = 0.05; + +blur-background = true; +blur-background-frame = true; + +# Fading +fading = true; +fade-delta = 5; +fade-in-step = 0.05; +fade-out-step = 0.05; + +# other general exceptions + +focus-exclude = [ + "name = 'dmenu'" +]; + + +# Window type settings + +wintypes: +{ + + + + + +} diff --git a/src/mpv/mpv.conf b/src/mpv/mpv.conf new file mode 100644 index 0000000..792c731 --- /dev/null +++ b/src/mpv/mpv.conf @@ -0,0 +1 @@ +profile=gpu-hq diff --git a/src/newsboat/config b/src/newsboat/config new file mode 100644 index 0000000..21367c0 --- /dev/null +++ b/src/newsboat/config @@ -0,0 +1,54 @@ +# Newsboat config file +# General settings + +auto-reload yes +reload-time 15 +reload-threads 8 + +# Theme +color listnormal cyan default +color listfocus black yellow standout bold +color listnormal_unread blue default +color listfocus_unread yellow default bold +color info red black bold +color article white default bold + +# Controls +bind-key j down +bind-key k up +bind-key j next articlelist +bind-key k prev articlelist +bind-key J next-feed articlelist +bind-key K prev-feed articlelist +bind-key G end +bind-key g home +bind-key d pagedown +bind-key u pageup +bind-key l open +bind-key h quit +bind-key a toggle-article-read +bind-key n next-unread +bind-key N prev-unread +bind-key D pb-download +bind-key U show-urls +bind-key x pb-delete + +# Opening Config +browser "firefox %u" +macro v set browser "mpv %u --no-terminal &" ; open-in-browser ; set browser "firefox %u" + +#Pretty + +highlight all "---.*---" yellow default bold +highlight all "" default default invis +#highlight feedlist ".*(0/0))" black +#highlight article "(^Feed:.*|^Title:.*|^Author:.*)" cyan default bold +#highlight article "(^Link:.*|^Date:.*)" default default +#highlight article "https?://[^ ]+" green default +#highlight article "^(Title):.*$" blue default +#highlight article "\\[[0-9][0-9]*\\]" magenta default bold +#highlight article "\\[image\\ [0-9]+\\]" green default bold +#highlight article "\\[embedded flash: [0-9][0-9]*\\]" green default bold +#highlight article ":.*\\(link\\)$" cyan default +#highlight article ":.*\\(image\\)$" blue default +#highlight article ":.*\\(embedded flash\\)$" magenta default diff --git a/src/newsboat/urls b/src/newsboat/urls new file mode 100644 index 0000000..18f85ed --- /dev/null +++ b/src/newsboat/urls @@ -0,0 +1,63 @@ +"---Constructive Youtube---" +https://lukesmith.xyz/youtube +https://www.youtube.com/feeds/videos.xml?channel_id=%20UC7YOGHUfC1Tb6E4pudI9STA +https://www.youtube.com/feeds/videos.xml?channel_id=%20UCXuqSBlHAE6Xw-yeJA0Tunw +https://www.youtube.com/feeds/videos.xml?channel_id=UCv1xxFkEiAdCVy6foEEUIvw +https://www.youtube.com/feeds/videos.xml?channel_id=UCNzszbnvQeFzObW0ghk0Ckw +https://www.youtube.com/feeds/videos.xml?channel_id=UCBNG0osIBAprVcZZ3ic84vw +https://www.youtube.com/feeds/videos.xml?channel_id=UCS0N5baNlQWJCUrhCEo8WlA +https://www.youtube.com/feeds/videos.xml?channel_id=UCbfYPyITQ-7l4upoX8nvctg +https://www.youtube.com/feeds/videos.xml?channel_id=UCSju5G2aFaWMqn-_0YBtq5A +https://www.youtube.com/feeds/videos.xml?channel_id=UC9-y-6csu5WGm29I7JiwpnA +https://www.youtube.com/feeds/videos.xml?channel_id=UCoxcjq-8xIDTYp3uz647V5A +https://www.youtube.com/feeds/videos.xml?channel_id=UCV5vCi3jPJdURZwAOO_FNfQ +https://www.youtube.com/feeds/videos.xml?channel_id=UCFhXFikryT4aFcLkLw2LBLA +https://www.youtube.com/feeds/videos.xml?channel_id=UCVls1GmFKf6WlTraIb_IaJg +https://www.youtube.com/feeds/videos.xml?channel_id=UC52kszkc08-acFOuogFl5jw +https://www.youtube.com/feeds/videos.xml?channel_id=UCgfe2ooZD3VJPB6aJAnuQng +https://www.youtube.com/feeds/videos.xml?channel_id=UCcf4LQogGFtYzPhq05uHE4g +https://www.youtube.com/feeds/videos.xml?channel_id=UCUW49KGPezggFi0PGyDvcvg +https://www.youtube.com/feeds/videos.xml?channel_id=UCjr2bPAyPV7t35MvcgT3W8Q + +  +"--- Pointless Youtube---" +https://www.youtube.com/feeds/videos.xml?channel_id=UCTQvYqv3ZQUL5TJpKWR-gAw +https://www.youtube.com/feeds/videos.xml?channel_id=UCBvc7pmUp9wiZIFOXEp1sCg +https://www.youtube.com/feeds/videos.xml?channel_id=UC4sxB7lQ17CKRpFQpntloRg +https://www.youtube.com/feeds/videos.xml?channel_id=UCGGdOIkVIZipux13jt7rprw +https://www.youtube.com/feeds/videos.xml?channel_id=UCq6VFHwMzcMXbuKyG7SQYIg +https://www.youtube.com/feeds/videos.xml?channel_id=%20UCRHXUZ0BxbkU2MYZgsuFgkQ +https://www.youtube.com/feeds/videos.xml?channel_id=UCTxuyB5y_1aEBgBlOgsXAHA +https://www.youtube.com/feeds/videos.xml?channel_id=UCyl1z3jo3XHR1riLFKG5UAg +https://www.youtube.com/feeds/videos.xml?channel_id=UCQMyhrt92_8XM0KgZH6VnRg +https://www.youtube.com/feeds/videos.xml?channel_id=UCOLDXvaV-7Oyqdt7lbUtkEA +https://www.youtube.com/feeds/videos.xml?channel_id=UCJ0-OtVpF0wOKEqT2Z1HEtA +https://www.youtube.com/feeds/videos.xml?channel_id=UCqsUgsQ7F4bkv3kbyP36kmg +https://www.youtube.com/feeds/videos.xml?channel_id=UCL6eyRegOUQdBoUuMZSb_mQ +https://www.youtube.com/feeds/videos.xml?channel_id=UCENVhsspXOOBYbpJC7Lr2RQ +https://www.youtube.com/feeds/videos.xml?channel_id=UC2mP7il3YV7TxM_3m6U0bwA +https://www.youtube.com/feeds/videos.xml?channel_id=UCWZp4y1jqBuvLtiyxSs_ZBw +https://www.youtube.com/feeds/videos.xml?channel_id=UCzj25NxFjI5jJM8StIBOvPA +https://www.youtube.com/feeds/videos.xml?channel_id=UCsvn_Po0SmunchJYOWpOxMg +https://www.youtube.com/feeds/videos.xml?channel_id=UCajhBT4nMrg3DLS-bLL2RCg +https://www.youtube.com/feeds/videos.xml?channel_id=UCLyIO6u8qHectwGs4VCqoig + +  +"---Politics---" +https://www.youtube.com/feeds/videos.xml?channel_id=UC0uVZd8N7FfIZnPu0y7o95A +https://www.youtube.com/feeds/videos.xml?channel_id=UC1X9HTMhyL4UpmjgkrN41oQ +http://rss.cnn.com/rss/cnn_allpolitics.rss +https://www.youtube.com/feeds/videos.xml?channel_id=UCjo1uN-aM3rmBV46xj7l2KA +https://www.youtube.com/feeds/videos.xml?channel_id=UCittVh8imKanO_5KohzDbpg + +  +---Blogs--- +https://lukesmith.xyz/rss.xml +https://forums.plex.tv/c/announcements/5.rss +https://www.raspberrypi.org/blog/feed/ +https://yts.mx/rss/0/1080p/all/0/en +  + +---Gentoo--- +https://security.gentoo.org/glsa/feed.rss Gentoo +https://github.com/Clortox/Gentoo/commits/main.atom diff --git a/src/vim/vimrc b/src/vim/vimrc new file mode 100644 index 0000000..5ef6237 --- /dev/null +++ b/src/vim/vimrc @@ -0,0 +1,105 @@ +"my custom vimrc +" +"set to ward off unexpected things that gentoo might to, and reset all options +"when readint this file +set nocompatible + +"attempt to figure out the file type and apply approipriate indents +filetype off + +"set runtime path to insclude Vundle and init +"set rtp+=~/.vim/bundle/Vundle.vim +"call vundle#begin() + +"let vundle manage vundle +"Plugin 'VundleVim/Vundle.vim' + +"add plugins here +"Plugin 'ycm-core/YouCompleteMe' + +"end plugins + +"end +"call vundle#end() +filetype plugin indent on + +"let g:loaded_youcompleteme = 1 + +"enable syntax highlighting +syntax on + +"better command line completion +set wildmenu + +"show partial commands +set showcmd + +"highlight searches +set hlsearch + +"use case insensitve search +set ignorecase +set smartcase + +"allow backspace over autoindent +set backspace=indent,eol,start + +"use autoindent +set autoindent + +"show the cursor positon at bottom of screen +set ruler + +"always show status line +set laststatus=2 + +"dont fail commands due to unsaved, show dialouge asking if want to save +set confirm + +"allow use of the mouse +set mouse=a + +"set command window to 2 lines, so we can see complete options +set cmdheight=2 + +"display editor numbers +set number relativenumber + +"set tab size +set shiftwidth=4 +set softtabstop=4 +set expandtab + +"wrap line at 80 chars, standard for linux dev +set tw=79 + +"auto highlight to groff for .ms files +autocmd BufNewFile,BufRead *.ms set syntax=groff + +"md/groff/latex preview + +let mapleader="\\" + +"call compile +"open the pdf, compiled to tmp +function! Preview() + :call Compile() + execute "! zathura /tmp/op.pdf &" +endfunction + +"get file ext +"apply appropriate compile command +"save pdf to /tmp/op.pdf +function! Compile() + let extension = expand('%:e') + if extension == "ms" + execute "! groff -ms % -T pdf > /tmp/op.pdf" + elseif extension == "tex" + execute "! pandoc -f latex -t latex % -o /tmp/op.pdf" + elseif extension == "md" + execute "! pandoc % -s -o /tmp/op.pdf" + endif +endfunction + +noremap p :call Preview() +noremap q :call Compile()