summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hypr/hyprland.conf31
-rw-r--r--nvim/init.lua5
-rw-r--r--nvim/init.vim306
-rw-r--r--nvim/lua/colorscheme.lua8
-rw-r--r--nvim/lua/keymaps.lua97
-rw-r--r--nvim/lua/options.lua32
-rw-r--r--nvim/lua/plugins.lua106
-rw-r--r--nvim/lua/term.lua51
-rw-r--r--sh/profile2
-rw-r--r--vim/vimrc4
10 files changed, 318 insertions, 324 deletions
diff --git a/hypr/hyprland.conf b/hypr/hyprland.conf
index 8412f87..d894c0c 100644
--- a/hypr/hyprland.conf
+++ b/hypr/hyprland.conf
@@ -161,8 +161,9 @@ master {
special_scale_factor = 0.55
mfact = 0.55
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
- new_status = inherit
- new_on_top = true
+ new_status = slave
+ new_on_top = false
+ new_on_active = before
#no_gaps_when_only = false
orientation = left
inherit_fullscreen = true
@@ -335,75 +336,75 @@ bind = $mainMod, Comma, exec, acpi-notify.sh
#{{{ Scratchpads
bind = $mainMod CONTROL, Z, exec, pypr toggle sphtop
-$sphtop = ^(sphtop)$
+$sphtop = class:^(sphtop)$
windowrule = float,$sphtop
windowrule = workspace special:sphtop silent,$sphtop
windowrule = size 50% 50%,$sphtop
windowrule = move 25% 25%,$sphtop
bind = $mainMod CONTROL, X, exec, pypr toggle spterm
-$spterm = ^(spterm)$
+$spterm = class:^(spterm)$
windowrule = float,$spterm
-windowrule = workspace special:spterm silent,$dropterm
+windowrule = workspace special:spterm silent,$spterm
windowrule = size 50% 50%,$spterm
windowrule = move 25% 25%,$spterm
bind = $mainMod CONTROL, C, exec, pypr toggle sppmxr
-$sppmxr = ^(sppmxr)$
+$sppmxr = class:^(sppmxr)$
windowrule = float,$sppmxr
windowrule = workspace special:sppmxr silent,$sppmxr
windowrule = size 50% 50%,$sppmxr
windowrule = move 25% 25%,$sppmxr
bind = $mainMod CONTROL, V, exec, pypr toggle spblue
-$spblue = ^(spblue)$
+$spblue = class:^(spblue)$
windowrule = float,$spblue
windowrule = workspace special:spblue silent,$spblue
windowrule = size 50% 50%,$spblue
windowrule = move 25% 25%,$spblue
bind = $mainMod CONTROL, B, exec, pypr toggle spncmp
-$spncmp = ^(spncmp)$
+$spncmp = class:^(spncmp)$
windowrule = float,$spncmp
windowrule = workspace special:spncmp silent,$spncmp
windowrule = size 50% 50%,$spncmp
windowrule = move 25% 25%,$spncmp
bind = $mainMod CONTROL, A, exec, pypr toggle spmutt
-$spmutt = ^(spmutt)$
+$spmutt = class:^(spmutt)$
windowrule = float,$spmutt
windowrule = workspace special:spmutt silent,$spmutt
windowrule = size 50% 50%,$spmutt
windowrule = move 25% 25%,$spmutt
bind = $mainMod CONTROL, S, exec, pypr toggle spprof
-$spprof = ^(spprof)$
+$spprof = class:^(spprof)$
windowrule = float,$spprof
windowrule = workspace special:spprof silent,$spprof
windowrule = size 50% 50%,$spprof
windowrule = move 25% 25%,$spprof
bind = $mainMod CONTROL, D, exec, pypr toggle spirss
-$spirss = ^(spirss)$
+$spirss = class:^(spirss)$
windowrule = float,$spirss
windowrule = workspace special:spirss silent,$spirss
windowrule = size 50% 50%,$spirss
windowrule = move 25% 25%,$spirss
bind = $mainMod CONTROL, F, exec, pypr toggle sptodo
-$sptodo = ^(sptodo)$
+$sptodo = class:^(sptodo)$
windowrule = float,$sptodo
windowrule = workspace special:sptodo silent,$sptodo
windowrule = size 50% 50%,$sptodo
windowrule = move 25% 25%,$sptodo
bind = $mainMod CONTROL, G, exec, pypr toggle sptrmc
-$sptrmc = ^(sptrmc)$
+$sptrmc = class:^(sptrmc)$
windowrule = float,$sptrmc
windowrule = workspace special:sptrmc silent,$sptrmc
windowrule = size 50% 50%,$sptrmc
windowrule = move 25% 25%,$sptrmc
bind = $mainMod CONTROL, Q, exec, pypr toggle qpwgraph
-$spqpwg = ^(org\.rncbc\.qpwgraph)$
+$spqpwg = class:^(org\.rncbc\.qpwgraph)$
windowrule = float,$spqpwg
windowrule = workspace special:spqpwg silent,$spqpwg
windowrule = size 50% 50%,$spqpwg
windowrule = move 25% 25%,$spqpwg
bind = $mainMod CONTROL, E, togglespecialworkspace, speasy
-$speasy = ^(com\.github\.wwmm\.easyeffects)$
+$speasy = class:^(com\.github\.wwmm\.easyeffects)$
windowrule = float,$speasy
windowrule = workspace special:speasy silent,$speasy
windowrule = size 50% 50%,$speasy
diff --git a/nvim/init.lua b/nvim/init.lua
new file mode 100644
index 0000000..cf11420
--- /dev/null
+++ b/nvim/init.lua
@@ -0,0 +1,5 @@
+require('options')
+require('keymaps')
+require('plugins')
+require('colorscheme')
+require('term')
diff --git a/nvim/init.vim b/nvim/init.vim
deleted file mode 100644
index 812bf3e..0000000
--- a/nvim/init.vim
+++ /dev/null
@@ -1,306 +0,0 @@
-set runtimepath^=$XDG_CONFIG_HOME/vim
-set runtimepath+=$XDG_DATA_HOME/vim
-set runtimepath+=$XDG_CONFIG_HOME/vim/after
-
-set packpath^=$XDG_DATA_HOME/vim,$XDG_CONFIG_HOME/vim
-set packpath+=$XDG_CONFIG_HOME/vim/after,$XDG_DATA_HOME/vim/after
-
-let g:netrw_home = $XDG_DATA_HOME."/vim"
-call mkdir($XDG_DATA_HOME."/vim/spell", 'p')
-
-set backupdir=$XDG_STATE_HOME/vim/backup | call mkdir(&backupdir, 'p')
-set directory=$XDG_STATE_HOME/vim/swap | call mkdir(&directory, 'p')
-set undodir=$XDG_STATE_HOME/vim/undo | call mkdir(&undodir, 'p')
-set viewdir=$XDG_STATE_HOME/vim/view | call mkdir(&viewdir, 'p')
-
-if !has('nvim') | set viminfofile=$XDG_STATE_HOME/vim/viminfo | endif
-
-" vimplugs {{{
-call plug#begin('~/.config/nvim/plugged')
-" colorschemes {{{
-Plug 'tomasiser/vim-code-dark' " codedark color scheme
-Plug 'flazz/vim-colorschemes' " meta-color scheme package
-Plug 'tomasiser/vim-code-dark' " codedark color scheme
-Plug 'flazz/vim-colorschemes' " meta-color scheme package
-Plug 'ZachIndigo/vim-preglow' " my old color scheme
-" }}}
-" language support {{{
-Plug 'axvr/org.vim' " basic org markup language implementation
-Plug 'ziglang/zig.vim' " zig programming language
-Plug 'jdonaldson/vaxe' " haxe programming language
-Plug 'xuhdev/vim-latex-live-preview', { 'for': 'tex' } " latex live preview support
-Plug 'waycrate/swhkd-vim' " swhkd syntax highlighting
-Plug 'HiPhish/guile.vim' " guile syntax highlighting
-" }}}
-" utility {{{
-Plug 'preservim/nerdtree' " directory tree interface
-Plug 'Xuyuanp/nerdtree-git-plugin' " git status indicator for nerdtree
-Plug 'PhilRunninger/nerdtree-visual-selection' " allows visual selection mode in nerdtree
-Plug 'tpope/vim-fugitive' " git command interface
-Plug 'junegunn/goyo.vim' " simplify the user interface (distraction-free) [BROKEN]
-Plug 'junegunn/limelight.vim' " focus on single paragraph of text at a time
-Plug 'vim-airline/vim-airline' " powerline the vim bottom bar
-Plug 'nathanaelkane/vim-indent-guides' " indent guides for vim
-Plug 'mhinz/vim-signify' " use signs to show diffs
-Plug 'tpope/vim-endwise' " auto end functions/if statements
-Plug 'tpope/vim-surround' " auto close stuff
-Plug 'mattn/emmet-vim' " html css easy formating
-Plug 'godlygeek/tabular' " Needed for vim-markdown
-Plug 'plasticboy/vim-markdown' " Better markdown support
-Plug 'ryanoasis/vim-devicons' " dev icons for nerdtree
-" }}}
-call plug#end()
-
-" }}}
-" nvim options {{{
-
-"" nvimrc:
-"" General
-
-set showmatch " Highlight matching brace
-
-set number
-set relativenumber
-
-colorscheme Dark2
-
-set hlsearch " Highlight all search results
-set smartcase " Enable smart-case search
-set incsearch " Searches for strings incrementally
-
-set expandtab " Use spaces instead of tabs
-set shiftwidth=2 " Number of auto-indent spaces
-set smartindent " Enable smart-indent
-set smarttab " Enable smart-tabs
-set softtabstop=2 " Number of spaces per Tab
-
-"" Advanced
-set ruler " Show row and column ruler information
-set undolevels=1000 " Number of undo levels
-set backspace=indent,eol,start " Backspace behaviour
-filetype plugin indent on
-
-"" GUI Config
-set guifont=mononoki\ Nerd\ Font\ Mono:h12
-
-"hi Normal guibg=NONE ctermbg=NONE
-"hi NonText guibg=NONE ctermbg=NONE
-"set background=dark
-
-set foldmethod=marker
-
-set conceallevel=2
-
-" set leader key
-
-let mapleader="'"
-
-" emmet {{{
-let g:user_emmet_leader_key='<C-a>'
-" }}}
-
-" zig config {{{
-let g:zig_fmt_autosave = 1
-" }}}
-
-" latex live preview {{{
-let g:livepreview_previewer = 'zathura'
-let g:livepreview_use_biber = 1
-let g:livepreview_cursorhold_recompile = 0
-" }}}
-
-" vim-markdown {{{
-let g:vim_markdown_folding_disabled = 1
-let g:vim_markdown_folding_level = 3
-let g:vim_markdown_toc_autofit = 1
-let g:vim_markdown_emphasis_multiline = 0
-let g:tex_conceal = ""
-let g:vim_markdown_math = 1
-let g:vim_markdown_conceal_code_blocks = 1
-let g:vim_markdown_fenced_languages = ['c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini']
-let g:vim_markdown_follow_anchor = 1
-let g:vim_markdown_math = 1
-let g:vim_markdown_frontmatter = 1
-let g:vim_markdown_toml_frontmatter = 1
-let g:vim_markdown_strikethrough = 1
-let g:vim_markdown_no_extensions_in_markdown = 1
-let g:vim_markdown_autowrite = 1
-let g:vim_markdown_auto_insert_bullets = 0
-let g:vim_markdown_new_list_item_indent = 0
-let g:vim_markdown_edit_url_in = 'tab'
-" }}}
-
-" NERDTree config {{{
-let g:NERDTreeGitStatusUseNerdFonts = 1 " use nerd fonts
-let g:NERDTreeGitStatusShowClean = 1 " default: 0
-let g:NERDTreeDirArrowExpandable = '>'
-let g:NERDTreeDirArrowCollapsible = '<'
-let g:NERDTreeMapToggleHidden = 'z'
-" }}}
-
-" Goyo config {{{
-let g:goyo_width = '90%'
-let g:goyo_height = '100%'
-" }}}
-
-" limelight config {{{
-let g:limelight_conceal_ctermfg = 'gray'
-let g:limelight_conceal_guifg = 'gray'
-" }}}
-
-" devicon config {{{
-let g:airline_powerline_fonts = 1
-let g:webdevicons_enable_nerdtree = 1
-" }}}
-
-" vim-indent-guides config {{{
-let g:indent_guides_enable_on_vim_startup = 0
-" }}}
-
-" vim-signify config {{{
-set updatetime=100
-" }}}
-
-" }}}
-" Functions {{{
-" Goyo functions {{{
-function! s:goyo_enter()
- if executable('tmux') && strlen($TMUX)
- silent !tmux set status off
- silent !tmux list-panes -F '\#F' | grep -q Z || tmux resize-pane -Z
- endif
- set noshowmode
- set noshowcmd
- set scrolloff=999
- Limelight
- NERDTreeClose
-endfunction
-function! s:goyo_leave()
- if executable('tmux') && strlen('$TMUX')
- silent !tmux set status on
- silent !tmux list-panes -F '\#F' | grep -q Z && tmux resize-pane -Z
- endif
- set showmode
- set showcmd
- set scrolloff=5
- Limelight!
- NERDTree
-endfunction
-" }}}
-" }}}
-" Autocommands {{{
-" Goyo autocommands {{{
-autocmd! User GoyoEnter nested call <SID>goyo_enter()
-autocmd! User GoyoLeave nested call <SID>goyo_leave()
-" }}}
-" NERDTree autocmds {{{
-autocmd StdinReadPre * let s:std_in=1
-autocmd VimEnter * if argc() == 0 && !exists('s:std_in') | NERDTree | wincmd p | endif
-autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && !exists('s:std_in') |
- \ execute 'NERDTree' argv()[0] | wincmd p | enew | execute 'cd '.argv()[0] | endif
-autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
-autocmd BufEnter * if winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif
-"autocmd BufEnter * if bufname('#') =~ 'NERD_tree_\d\+' && bufname('%') !~ 'NERD_tree_\d\+' && winnr('$') > 1 |
- "\ let buf=bufnr() | buffer# | execute "normal! \<C-W>w" | execute 'buffer;.buf | endif
-autocmd BufWinEnter * if getcmdwintype() == '' | silent NERDTreeMirror | endif
-" }}}
-" custom augroup {{{
-augroup custom
- autocmd!
- "au BufEnter *.tex :LLPStartPreview
- au BufEnter *.md :set textwidth=80
- au BufEnter *.ms :set textwidth=80
- "au BufEnter *.c :colo DevC++
- "au BufEnter *.h :colo DevC++
- "au BufEnter *.cc :colo DevC++
- "au BufEnter *.hh :colo DevC++
- "au BufEnter *.cpp :colo DevC++
- "au BufEnter *.hpp :colo DevC++
- au BufWritePost init.vim :source %
- "au BufWritePost *.tex :make
- au BufWritePost *sxhkdrc* :!pkill -USR1 -x sxhkd
- au BufWritePost .Xresources :!xrdb ~/.Xresources
- au BufWritePost .gitignore :!git add .gitignore
-augroup end
-" }}}
-" }}}
-" keybindings {{{
-
-" direction keys
-
-inoremap <Down> <C-o>gj
-inoremap <Up> <C-o>gk
-inoremap <Home> <C-o>g<Home>
-inoremap <End> <C-o>g<End>
-vnoremap <Down> <C-o>gj
-vnoremap <Up> <C-o>gk
-vnoremap <Home> <C-o>g<Home>
-vnoremap <End> <C-o>g<End>
-nnoremap <Down> gj
-nnoremap <Up> gk
-
-" clear search highlights
-nnoremap <leader>/ :noh<CR>
-
-" toggles
-nnoremap <leader>tn :set number!<CR>
-nnoremap <leader>tr :set relativenumber!<CR>
-nnoremap <leader>tt :NERDTreeToggle<CR>
-
-" tabs
-nnoremap <leader>th :tabprevious<CR>
-nnoremap <leader>tl :tabnext<CR>
-nnoremap <leader>tk :tabnew<CR>
-nnoremap <leader>tj :tabclose<CR>
-
-" splits
-nnoremap <leader>wh :vertical resize -1<CR>
-nnoremap <leader>wj :resize -1<CR>
-nnoremap <leader>wk :resize +1<CR>
-nnoremap <leader>wl :vertical resize +1<CR>
-
-" config
-nnoremap <leader>en :e ~/.config/nvim/init.vim<CR>
-nnoremap <leader>ec :source %<CR>
-
-" write as root
-nnoremap ZW :w !pkexec tee % >/dev/null
-
-" Goyo
-nnoremap <leader>G :Goyo<CR>
-
-" windows
-nnoremap <C-h> <C-w>h
-nnoremap <C-j> <C-w>j
-nnoremap <C-k> <C-w>k
-nnoremap <C-l> <C-w>l
-vnoremap <C-h> <C-w>h
-vnoremap <C-j> <C-w>j
-vnoremap <C-k> <C-w>k
-vnoremap <C-l> <C-w>l
-
-" files
-" these may go away soon
-nnoremap <leader>xx :q<CR>
-nnoremap <leader>x! :q!<CR>
-" these are the new standard
-nnoremap <leader>qq :q<CR>
-nnoremap <leader>q! :q!<CR>
-nnoremap <leader>wq :wq<CR>
-nnoremap <leader>ww :w<CR>
-nnoremap <leader>ee :e
-
-" escape for term windows
-tnoremap <Esc> <C-\><C-n>
-
-" vim-plug
-nnoremap <leader>pi :PlugInstall<CR>
-nnoremap <leader>pu :PlugUpdate<CR>
-nnoremap <leader>pU :PlugUpgrade<CR>
-nnoremap <leader>pc :PlugClean<CR>
-
-" fugitive
-nnoremap <leader>gp :G pull<CR>
-nnoremap <leader>gd :G diff %<CR>
-
-" }}}
diff --git a/nvim/lua/colorscheme.lua b/nvim/lua/colorscheme.lua
new file mode 100644
index 0000000..66516fa
--- /dev/null
+++ b/nvim/lua/colorscheme.lua
@@ -0,0 +1,8 @@
+-- define your colorscheme here
+local colorscheme = 'badwolf'
+
+local is_ok, _ = pcall(vim.cmd, "colorscheme " .. colorscheme)
+if not is_ok then
+ vim.notify('colorscheme ' .. colorscheme .. ' not found!')
+ return
+end
diff --git a/nvim/lua/keymaps.lua b/nvim/lua/keymaps.lua
new file mode 100644
index 0000000..26037c6
--- /dev/null
+++ b/nvim/lua/keymaps.lua
@@ -0,0 +1,97 @@
+-- define common options
+local opts = {
+ noremap = true, -- non-recursive
+ silent = true, -- do not show message
+}
+
+-- set leader key
+vim.g.mapleader = "'"
+
+-----------------
+-- Normal mode --
+-----------------
+
+-- Hint: set `:h vim.map.set()`
+-- Better window navigation
+vim.keymap.set('n', '<C-h>', '<C-w>h', opts)
+vim.keymap.set('n', '<C-j>', '<C-w>j', opts)
+vim.keymap.set('n', '<C-k>', '<C-w>k', opts)
+vim.keymap.set('n', '<C-l>', '<C-w>l', opts)
+
+-- Resize with arrows
+vim.keymap.set('n', '<C-Up>', ':resize -2<CR>', opts)
+vim.keymap.set('n', '<C-Down>', ':resize +2<CR>', opts)
+vim.keymap.set('n', '<C-Left>', ':vertical resize -2<CR>', opts)
+vim.keymap.set('n', '<C-Right>', ':vertical resize +2<CR>', opts)
+vim.keymap.set('n', '<leader>wh :vertical resize', '-1<CR>')
+vim.keymap.set('n', '<leader>wj :resize', '-1<CR>')
+vim.keymap.set('n', '<leader>wk :resize', '+1<CR>')
+vim.keymap.set('n', '<leader>wl :vertical resize', '+1<CR>')
+
+-- NerdTREE
+vim.keymap.set('n', '<leader>tt', ':NERDTreeToggle<CR>')
+
+-- files
+-- these may go away soon
+vim.keymap.set('n', '<leader>xx', ':q<CR>')
+vim.keymap.set('n', '<leader>x!', ':q!<CR>')
+
+-- Close with leader
+vim.keymap.set('n', '<leader>ww', ':w<CR>', opts)
+vim.keymap.set('n', '<leader>qq', ':q<CR>', opts)
+vim.keymap.set('n', '<leader>wq', ':wq<CR>', opts)
+vim.keymap.set('n', '<leader>q!', ':q!<CR>', opts)
+vim.keymap.set('n', '<leader>wq', ':wq<CR>')
+vim.keymap.set('n', '<leader>ee :e', '')
+
+-- Tabs with leader
+vim.keymap.set('n', '<leader>th', ':tabprevious<CR>', opts)
+vim.keymap.set('n', '<leader>tl', ':tabnext<CR>', opts)
+vim.keymap.set('n', '<leader>tk', ':tabnew<CR>', opts)
+vim.keymap.set('n', '<leader>tj', ':tabclose<CR>', opts)
+
+-- Write with sudo
+vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null', opts)
+
+-- clear search highlights
+vim.keymap.set('n', '<leader>/', ':noh<CR>')
+
+-- toggles
+vim.keymap.set('n', '<leader>tn :set', 'number!<CR>')
+vim.keymap.set('n', '<leader>tr :set', 'relativenumber!<CR>')
+
+-- write as root
+vim.keymap.set('n', 'ZW', ':w !pkexec tee % >/dev/null')
+
+-- config
+vim.keymap.set('n', '<leader>en', ':e ~/.config/nvim/init.lua<CR>')
+vim.keymap.set('n', '<leader>ec', ':source %<CR>')
+vim.keymap.set('n', '<leader>er', ':source ~/.config/nvim/init.lua<CR>')
+
+-- Goyo
+vim.keymap.set('n', '<leader>G', ':Goyo<CR>')
+
+-- fugitive
+vim.keymap.set('n', '<leader>gp :G', 'pull<CR>')
+vim.keymap.set('n', '<leader>gd :G diff', '%<CR>')
+
+-----------------
+-- Visual mode --
+-----------------
+
+-- Hint: start visual mode with the same area as the previous area and the same mode
+--vim.keymap.set('v', '<', '<gv', opts)
+--vim.keymap.set('v', '>', '>gv', opts)
+
+-- windows
+vim.keymap.set('v', '<C-h>', '<C-w>h')
+vim.keymap.set('v', '<C-j>', '<C-w>j')
+vim.keymap.set('v', '<C-k>', '<C-w>k')
+vim.keymap.set('v', '<C-l>', '<C-w>l')
+
+--------------
+-- TERMINAL --
+--------------
+
+-- escape for term windows
+vim.keymap.set('t', '<Esc>', '<C-\\><C-n>')
diff --git a/nvim/lua/options.lua b/nvim/lua/options.lua
new file mode 100644
index 0000000..1d4826e
--- /dev/null
+++ b/nvim/lua/options.lua
@@ -0,0 +1,32 @@
+-- Hint: use `:h <option>` to figure out the meaning if needed
+vim.opt.clipboard = 'unnamedplus' -- use system clipboard
+vim.opt.completeopt = {'menu', 'menuone', 'noselect'}
+vim.opt.mouse = 'a' -- allow the mouse to be used in nvim
+
+-- Tab
+vim.opt.tabstop = 2 -- number of visual spaces per TAB
+vim.opt.softtabstop = 2 -- number of spaces in tab when editing
+vim.opt.shiftwidth = 2 -- insert 2 spaces on a tab
+vim.opt.expandtab = true -- tabs are spaces
+
+-- UI config
+vim.opt.number = true -- show absolute number
+vim.opt.relativenumber = true -- show relative numbers
+vim.opt.cursorline = true -- highlight cursor line underneath cursor horizontally
+vim.opt.splitbelow = true -- open new vertical splits bottom
+vim.opt.splitright = true -- open new horizontal splits right
+-- vim.opt.termguicolors = true -- enable 24-bit RGB color in the TUI
+vim.opt.showmode = false -- show the "-- INSERT --" and other hints
+
+-- Searching
+vim.opt.incsearch = true -- search as characters are entered
+vim.opt.hlsearch = false -- do not highlight matches
+vim.opt.ignorecase = true -- ignore case in searches by default
+vim.opt.smartcase = true -- but make it case sensitive if an uppercase is entered
+
+-- Etc
+vim.opt.ruler = true -- Show row and column ruler info
+vim.opt.undolevels = 1000 -- Number of undo levels
+vim.opt.backspace = { "indent", "eol", "start" } -- Backspace behavior
+vim.opt.foldmethod = "marker"
+vim.opt.conceallevel = 2
diff --git a/nvim/lua/plugins.lua b/nvim/lua/plugins.lua
new file mode 100644
index 0000000..0801939
--- /dev/null
+++ b/nvim/lua/plugins.lua
@@ -0,0 +1,106 @@
+local lazypath = vim.fn.stdpath("data") .. "lazy/lazy.nvim"
+if not (vim.uv or vim.loop).fs_stat(lazypath) then
+ vim.fn.system({
+ "git",
+ "clone",
+ "--filter=blob:none",
+ "https://github.com/folke/lazy.nvim.git",
+ "--branch=stable", -- latest stable rtelease
+ lazypath,
+ })
+end
+vim.opt.rtp:prepend(lazypath)
+
+require("lazy").setup({
+ "tanvirtin/monokai.nvim",
+ 'preservim/nerdtree',
+ 'ziglang/zig.vim',
+ "lervag/vimtex",
+ 'tomasiser/vim-code-dark',
+ 'flazz/vim-colorschemes',
+ 'tomasiser/vim-code-dark',
+ 'flazz/vim-colorschemes',
+ 'ZachIndigo/vim-preglow',
+ 'axvr/org.vim',
+ 'ziglang/zig.vim',
+ 'jdonaldson/vaxe',
+ 'xuhdev/vim-latex-live-preview',
+ 'waycrate/swhkd-vim',
+ 'HiPhish/guile.vim',
+ 'preservim/nerdtree',
+ 'Xuyuanp/nerdtree-git-plugin',
+ 'PhilRunninger/nerdtree-visual-selection',
+ 'tpope/vim-fugitive',
+ 'junegunn/goyo.vim',
+ 'junegunn/limelight.vim',
+ 'vim-airline/vim-airline',
+ 'nathanaelkane/vim-indent-guides',
+ 'mhinz/vim-signify',
+ 'tpope/vim-endwise',
+ 'tpope/vim-surround',
+ 'mattn/emmet-vim',
+ 'godlygeek/tabular',
+ 'plasticboy/vim-markdown',
+ 'ryanoasis/vim-devicons',
+ {'akinsho/toggleterm.nvim', version = "*", config = true},
+})
+
+--------------------
+-- Plugin Options --
+--------------------
+
+-- emmet
+vim.g.user_emmet_leader_key='<C-a>'
+
+-- zig config
+vim.g.zig_fmt_autosave = 1
+
+-- latex live preview
+vim.g.livepreview_previewer = 'zathura'
+vim.g.livepreview_use_biber = 1
+vim.g.livepreview_cursorhold_recompile = 0
+
+-- vim-markdown
+vim.g.vim_markdown_folding_disabled = 1
+vim.g.vim_markdown_folding_level = 3
+vim.g.vim_markdown_toc_autofit = 1
+vim.g.vim_markdown_emphasis_multiline = 0
+vim.g.tex_conceal = ""
+vim.g.vim_markdown_math = 1
+vim.g.vim_markdown_conceal_code_blocks = 1
+vim.g.vim_markdown_fenced_languages = { 'c++=cpp', 'viml=vim', 'bash=sh', 'ini=dosini' }
+vim.g.vim_markdown_follow_anchor = 1
+vim.g.vim_markdown_math = 1
+vim.g.vim_markdown_frontmatter = 1
+vim.g.vim_markdown_toml_frontmatter = 1
+vim.g.vim_markdown_strikethrough = 1
+vim.g.vim_markdown_no_extensions_in_markdown = 1
+vim.g.vim_markdown_autowrite = 1
+vim.g.vim_markdown_auto_insert_bullets = 0
+vim.g.vim_markdown_new_list_item_indent = 0
+vim.g.vim_markdown_edit_url_in = 'tab'
+
+-- NERDTree config
+vim.g.NERDTreeGitStatusUseNerdFonts = 1 -- use nerd fonts
+vim.g.NERDTreeGitStatusShowClean = 1 -- default: 0
+vim.g.NERDTreeDirArrowExpandable = '>'
+vim.g.NERDTreeDirArrowCollapsible = '<'
+vim.g.NERDTreeMapToggleHidden = 'z'
+
+-- Goyo config
+vim.g.goyo_width = '90%'
+vim.g.goyo_height = '100%'
+
+-- limelight config
+vim.g.limelight_conceal_ctermfg = 'gray'
+vim.g.limelight_conceal_guifg = 'gray'
+
+-- devicon config
+vim.g.airline_powerline_fonts = 1
+vim.g.webdevicons_enable_nerdtree = 1
+
+-- vim-indent-guides config
+vim.g.indent_guides_enable_on_vim_startup = 0
+
+-- vim-signify config
+vim.opt.updatetime=100
diff --git a/nvim/lua/term.lua b/nvim/lua/term.lua
new file mode 100644
index 0000000..9f3062d
--- /dev/null
+++ b/nvim/lua/term.lua
@@ -0,0 +1,51 @@
+require("toggleterm").setup{
+ -- size can be a number or function which is passed the current terminal
+ size = function(term)
+ if term.direction == "horizontal" then
+ return 15
+ elseif term.direction == "vertical" then
+ return vim.o.columns * 0.4
+ end
+ end,
+ open_mapping = [[<c-\>]], -- or { [[<c-\>]], [[<c-¥>]] } if you also use a Japanese keyboard.
+ hide_numbers = true, -- hide the number column in toggleterm buffers
+ shade_filetypes = {},
+ autochdir = false, -- when neovim changes it current directory the terminal will change it's own when next it's opened
+ shade_terminals = true, -- NOTE: this option takes priority over highlights specified so if you specify Normal highlights you should set this to false
+ shading_factor = '-30', -- the percentage by which to lighten dark terminal background, default: -30
+ shading_ratio = '-3', -- the ratio of shading factor for light/dark terminal background, default: -3
+ start_in_insert = true,
+ insert_mappings = true, -- whether or not the open mapping applies in insert mode
+ terminal_mappings = true, -- whether or not the open mapping applies in the opened terminals
+ persist_size = true,
+ persist_mode = true, -- if set to true (default) the previous terminal mode will be remembered
+ direction = 'horizontal',
+ close_on_exit = true, -- close the terminal window when the process exits
+ clear_env = false, -- use only environmental variables from `env`, passed to jobstart()
+ -- Change the default shell. Can be a string or a function returning a string
+ shell = vim.o.shell,
+ auto_scroll = true, -- automatically scroll to the bottom on terminal output
+ -- This field is only relevant if direction is set to 'float'
+ float_opts = {
+ -- The border key is *almost* the same as 'nvim_open_win'
+ -- see :h nvim_open_win for details on borders however
+ -- the 'curved' border is a custom border type
+ -- not natively supported but implemented in this plugin.
+ border = 'single',
+ -- like `size`, width, height, row, and col can be a number or function which is passed the current terminal
+ winblend = 3,
+ title_pos = 'left'
+ },
+ winbar = {
+ enabled = false,
+ name_formatter = function(term) -- term: Terminal
+ return term.name
+ end
+ },
+ responsiveness = {
+ -- breakpoint in terms of `vim.o.columns` at which terminals will start to stack on top of each other
+ -- instead of next to each other
+ -- default = 0 which means the feature is turned off
+ horizontal_breakpoint = 135,
+ }
+}
diff --git a/sh/profile b/sh/profile
index effba41..61b224c 100644
--- a/sh/profile
+++ b/sh/profile
@@ -50,7 +50,7 @@ export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
export RENPY_PATH_TO_SAVES="$XDG_DATA_HOME"
export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
export XAUTHORITY="$XDG_RUNTIME_DIR"/X11/Xauthority
-export VIMINIT="set nocp | source ${XDG_CONFIG_HOME:-$HOME.config}/vim/vimrc"
+#export VIMINIT="set nocp | source ${XDG_CONFIG_HOME:-$HOME.config}/vim/vimrc"
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
export XCURSOR_PATH="/usr/share/icons:$XDG_DATA_HOME/icons"
export PYTHONSTARTUP="$XDG_CONFIG_HOME"/python/pythonrc
diff --git a/vim/vimrc b/vim/vimrc
index 812bf3e..bc048ab 100644
--- a/vim/vimrc
+++ b/vim/vimrc
@@ -260,7 +260,7 @@ nnoremap <leader>wk :resize +1<CR>
nnoremap <leader>wl :vertical resize +1<CR>
" config
-nnoremap <leader>en :e ~/.config/nvim/init.vim<CR>
+nnoremap <leader>en :e ~/.config/vim/vimrc<CR>
nnoremap <leader>ec :source %<CR>
" write as root
@@ -303,4 +303,4 @@ nnoremap <leader>pc :PlugClean<CR>
nnoremap <leader>gp :G pull<CR>
nnoremap <leader>gd :G diff %<CR>
-" }}}
+" }}