mirror of
				https://github.com/tiyn/dotfiles.git
				synced 2025-11-04 06:21:16 +01:00 
			
		
		
		
	Merge branch 'master' of github:tiyn/dotfiles
This commit is contained in:
		@@ -26,6 +26,10 @@ flacsplit() { cuebreakpoints $2 | shnsplit $1 -o flac }
 | 
			
		||||
# diff
 | 
			
		||||
alias diff="diff --color=auto"
 | 
			
		||||
 | 
			
		||||
# dragon-drop
 | 
			
		||||
alias drag="dragon-drop"
 | 
			
		||||
alias drop="dragon-drop"
 | 
			
		||||
 | 
			
		||||
# fzf
 | 
			
		||||
src() { find ~/.config/* ~/.local/bin/* -type f | fzf | xargs -r $EDITOR ;}
 | 
			
		||||
srd() { find ~/nextCloud/* -type f | grep ".pdf" | fzf | xargs -r $READER ;}
 | 
			
		||||
@@ -98,9 +102,13 @@ alias rsync="rsync -vh --progress --partial"
 | 
			
		||||
alias su="sudo -i"
 | 
			
		||||
alias sudo="sudo "
 | 
			
		||||
 | 
			
		||||
#sc-im
 | 
			
		||||
# sc-im
 | 
			
		||||
alias sc="sc-im"
 | 
			
		||||
 | 
			
		||||
# screenkey
 | 
			
		||||
 | 
			
		||||
alias keys="screenkey"
 | 
			
		||||
 | 
			
		||||
# script
 | 
			
		||||
alias scriptclear="cat typescript | perl -pe 's/\e([^\[\]]|\[.*?[a-zA-Z]|\].*?\a)//g' | col -b > typescript-processed"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										133
									
								
								.config/easyeffects/input/voice.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								.config/easyeffects/input/voice.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,133 @@
 | 
			
		||||
{
 | 
			
		||||
    "input": {
 | 
			
		||||
        "blocklist": [],
 | 
			
		||||
        "compressor#0": {
 | 
			
		||||
            "attack": 20.0,
 | 
			
		||||
            "boost-amount": 6.0,
 | 
			
		||||
            "boost-threshold": -72.0,
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "dry": -100.0,
 | 
			
		||||
            "hpf-frequency": 10.0,
 | 
			
		||||
            "hpf-mode": "off",
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "knee": -6.0,
 | 
			
		||||
            "lpf-frequency": 20000.0,
 | 
			
		||||
            "lpf-mode": "off",
 | 
			
		||||
            "makeup": 0.0,
 | 
			
		||||
            "mode": "Downward",
 | 
			
		||||
            "output-gain": 0.0,
 | 
			
		||||
            "ratio": 4.0,
 | 
			
		||||
            "release": 100.0,
 | 
			
		||||
            "release-threshold": -100.0,
 | 
			
		||||
            "sidechain": {
 | 
			
		||||
                "lookahead": 0.0,
 | 
			
		||||
                "mode": "RMS",
 | 
			
		||||
                "preamp": 0.0,
 | 
			
		||||
                "reactivity": 10.0,
 | 
			
		||||
                "source": "Middle",
 | 
			
		||||
                "type": "Feed-forward"
 | 
			
		||||
            },
 | 
			
		||||
            "threshold": -12.0,
 | 
			
		||||
            "wet": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "deesser#0": {
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "detection": "RMS",
 | 
			
		||||
            "f1-freq": 6000.0,
 | 
			
		||||
            "f1-level": 0.0,
 | 
			
		||||
            "f2-freq": 4500.0,
 | 
			
		||||
            "f2-level": 12.0,
 | 
			
		||||
            "f2-q": 1.0,
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "laxity": 15,
 | 
			
		||||
            "makeup": 0.0,
 | 
			
		||||
            "mode": "Wide",
 | 
			
		||||
            "output-gain": 0.0,
 | 
			
		||||
            "ratio": 3.0,
 | 
			
		||||
            "sc-listen": false,
 | 
			
		||||
            "threshold": -18.0
 | 
			
		||||
        },
 | 
			
		||||
        "filter#0": {
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "frequency": 80.0,
 | 
			
		||||
            "inertia": 20.0,
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "mode": "12dB/oct Highpass",
 | 
			
		||||
            "output-gain": 0.0,
 | 
			
		||||
            "resonance": -3.0
 | 
			
		||||
        },
 | 
			
		||||
        "gate#0": {
 | 
			
		||||
            "attack": 5.0,
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "curve-threshold": -24.0,
 | 
			
		||||
            "curve-zone": -6.0,
 | 
			
		||||
            "dry": -100.0,
 | 
			
		||||
            "hpf-frequency": 10.0,
 | 
			
		||||
            "hpf-mode": "off",
 | 
			
		||||
            "hysteresis": false,
 | 
			
		||||
            "hysteresis-threshold": -12.0,
 | 
			
		||||
            "hysteresis-zone": -6.0,
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "lpf-frequency": 20000.0,
 | 
			
		||||
            "lpf-mode": "off",
 | 
			
		||||
            "makeup": 0.0,
 | 
			
		||||
            "output-gain": 0.0,
 | 
			
		||||
            "reduction": -12.0,
 | 
			
		||||
            "release": 100.0,
 | 
			
		||||
            "sidechain": {
 | 
			
		||||
                "input": "Internal",
 | 
			
		||||
                "lookahead": 0.0,
 | 
			
		||||
                "mode": "RMS",
 | 
			
		||||
                "preamp": 0.0,
 | 
			
		||||
                "reactivity": 10.0,
 | 
			
		||||
                "source": "Middle"
 | 
			
		||||
            },
 | 
			
		||||
            "wet": 0.0
 | 
			
		||||
        },
 | 
			
		||||
        "limiter#0": {
 | 
			
		||||
            "alr": false,
 | 
			
		||||
            "alr-attack": 5.0,
 | 
			
		||||
            "alr-knee": 0.0,
 | 
			
		||||
            "alr-release": 50.0,
 | 
			
		||||
            "attack": 5.0,
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "dithering": "None",
 | 
			
		||||
            "external-sidechain": false,
 | 
			
		||||
            "gain-boost": true,
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "lookahead": 5.0,
 | 
			
		||||
            "mode": "Herm Thin",
 | 
			
		||||
            "output-gain": 0.0,
 | 
			
		||||
            "oversampling": "None",
 | 
			
		||||
            "release": 5.0,
 | 
			
		||||
            "sidechain-preamp": 0.0,
 | 
			
		||||
            "stereo-link": 100.0,
 | 
			
		||||
            "threshold": -1.0
 | 
			
		||||
        },
 | 
			
		||||
        "loudness#0": {
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "clipping": false,
 | 
			
		||||
            "clipping-range": 6.0,
 | 
			
		||||
            "fft": "4096",
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "output-gain": -20.0,
 | 
			
		||||
            "std": "ISO226-2003",
 | 
			
		||||
            "volume": -6.499999999999993
 | 
			
		||||
        },
 | 
			
		||||
        "plugins_order": [
 | 
			
		||||
            "compressor#0",
 | 
			
		||||
            "deesser#0",
 | 
			
		||||
            "filter#0",
 | 
			
		||||
            "gate#0",
 | 
			
		||||
            "rnnoise",
 | 
			
		||||
            "limiter#0",
 | 
			
		||||
            "loudness#0"
 | 
			
		||||
        ],
 | 
			
		||||
        "rnnoise#0": {
 | 
			
		||||
            "bypass": false,
 | 
			
		||||
            "input-gain": 0.0,
 | 
			
		||||
            "model-path": "",
 | 
			
		||||
            "output-gain": 0.0
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
@@ -23,6 +23,7 @@
 | 
			
		||||
			<family>Linux Biolinum</family>
 | 
			
		||||
			<family>Joy Pixels</family>
 | 
			
		||||
			<family>Noto Color Emoji</family>
 | 
			
		||||
                        <family>adobe-source-han-sans-jp-fonts</family>
 | 
			
		||||
		</prefer>
 | 
			
		||||
	</alias>
 | 
			
		||||
	<alias>
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ text/plain=text.desktop;
 | 
			
		||||
text/x-shellscript=text.desktop;
 | 
			
		||||
application/pdf=pdf.desktop;
 | 
			
		||||
application/epub+zip=pdf.desktop;
 | 
			
		||||
application/rss+xml=text.desktop;
 | 
			
		||||
image/png=img.desktop;
 | 
			
		||||
image/jpeg=img.desktop;
 | 
			
		||||
image/gif=img.desktop;
 | 
			
		||||
@@ -17,13 +18,3 @@ application/x-extension-shtml=browser.desktop
 | 
			
		||||
application/xhtml+xml=browser.desktop
 | 
			
		||||
application/x-extension-xhtml=browser.desktop
 | 
			
		||||
application/x-extension-xht=browser.desktop
 | 
			
		||||
x-scheme-handler/discord-610508934456934412=discord-610508934456934412.desktop
 | 
			
		||||
x-scheme-handler/mailto=userapp-Thunderbird-ANNRB1.desktop
 | 
			
		||||
message/rfc822=userapp-Thunderbird-ANNRB1.desktop
 | 
			
		||||
x-scheme-handler/mid=userapp-Thunderbird-ANNRB1.desktop
 | 
			
		||||
 | 
			
		||||
[Added Associations]
 | 
			
		||||
x-scheme-handler/mailto=userapp-Thunderbird-ANNRB1.desktop;
 | 
			
		||||
x-scheme-handler/mid=userapp-Thunderbird-ANNRB1.desktop;
 | 
			
		||||
application/rss+xml=firefox.desktop;
 | 
			
		||||
application/pdf=firefox.desktop;
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										74
									
								
								.config/nvim/init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										74
									
								
								.config/nvim/init.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,74 @@
 | 
			
		||||
vim.o.go = 'a'
 | 
			
		||||
vim.o.showmode = false
 | 
			
		||||
 | 
			
		||||
-- enable mouse for all modes
 | 
			
		||||
vim.o.mouse = 'a'
 | 
			
		||||
vim.o.clipboard = 'unnamedplus'
 | 
			
		||||
 | 
			
		||||
-- setting Tab-length
 | 
			
		||||
vim.o.expandtab = true
 | 
			
		||||
vim.o.softtabstop = 4
 | 
			
		||||
vim.o.shiftwidth = 4
 | 
			
		||||
 | 
			
		||||
-- splits open at the bottom and right
 | 
			
		||||
vim.o.splitbelow = true
 | 
			
		||||
vim.o.splitright = true
 | 
			
		||||
 | 
			
		||||
-- disable case sensitive matching
 | 
			
		||||
vim.o.ignorecase = true
 | 
			
		||||
 | 
			
		||||
-- enable nocompatible mode
 | 
			
		||||
vim.o.nocompatible = true
 | 
			
		||||
 | 
			
		||||
-- enable syntax highlighting
 | 
			
		||||
vim.o.syntax = true
 | 
			
		||||
 | 
			
		||||
-- enable true colors
 | 
			
		||||
vim.o.termguicolors = true
 | 
			
		||||
 | 
			
		||||
-- set utf-8 encoding
 | 
			
		||||
vim.o.encoding = "utf-8"
 | 
			
		||||
 | 
			
		||||
-- show relative numbers on left side
 | 
			
		||||
vim.o.number = true
 | 
			
		||||
vim.o.relativenumber = true
 | 
			
		||||
 | 
			
		||||
-- speedup vim with long lines
 | 
			
		||||
vim.o.ttyfast = true
 | 
			
		||||
vim.o.lazyredraw = true
 | 
			
		||||
 | 
			
		||||
-- textEdit might fail without hidden
 | 
			
		||||
vim.o.hidden = true
 | 
			
		||||
 | 
			
		||||
-- disable Backupfiles for Lsp
 | 
			
		||||
vim.o.nobackup = true
 | 
			
		||||
vim.o.nowritebackup = true
 | 
			
		||||
 | 
			
		||||
-- always show the signcolumn
 | 
			
		||||
vim.o.signcolumn = "yes"
 | 
			
		||||
 | 
			
		||||
-- enable persistent undo
 | 
			
		||||
vim.o.undofile = true
 | 
			
		||||
vim.o.undodir = vim.env.XDG_CACHE_HOME .. "/vim/undo"
 | 
			
		||||
 | 
			
		||||
-- delete trailing whitespaces on save
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufWritePre'},
 | 
			
		||||
{pattern = {'*'},
 | 
			
		||||
command = [[%s/\s\+$//e]],
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- python programs to use
 | 
			
		||||
vim.g.python_host_prog = '/usr/bin/python2'
 | 
			
		||||
vim.g.python3_host_prog = '/usr/bin/python3'
 | 
			
		||||
 | 
			
		||||
-- load plugins (autoload all files in plugin folder)
 | 
			
		||||
require('loadplugins')
 | 
			
		||||
 | 
			
		||||
-- load filetype specific mappings and commands
 | 
			
		||||
require('filetype')
 | 
			
		||||
 | 
			
		||||
-- load general mapped keys
 | 
			
		||||
require('keymap')
 | 
			
		||||
 | 
			
		||||
-- load general colorscheme
 | 
			
		||||
require('colorscheme')
 | 
			
		||||
@@ -1,448 +0,0 @@
 | 
			
		||||
let mapleader =","
 | 
			
		||||
 | 
			
		||||
""" Begin Plugin section
 | 
			
		||||
if ! filereadable(expand('~/.config/nvim/autoload/plug.vim'))
 | 
			
		||||
	echo "Downloading junegunn/vim-plug to manage plugins..."
 | 
			
		||||
	silent !mkdir -p ~/.config/nvim/autoload/
 | 
			
		||||
	silent !curl "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" > ~/.config/nvim/autoload/plug.vim
 | 
			
		||||
	autocmd VimEnter * PlugInstall
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
call plug#begin('~/.local/share/nvim/plugged')
 | 
			
		||||
Plug 'airblade/vim-gitgutter' " git upgrades
 | 
			
		||||
Plug 'alvan/vim-closetag' " auto close HTML tags
 | 
			
		||||
Plug 'donRaphaco/neotex' , {'for': 'tex'} " asynchronous pdf rendering for pdf
 | 
			
		||||
Plug 'fatih/vim-go' , {'for': 'go'} " better support for golang
 | 
			
		||||
Plug 'hrsh7th/cmp-buffer' " autocompletion bridge for buffer
 | 
			
		||||
Plug 'hrsh7th/cmp-path' " autocompletion bridge for filesystem
 | 
			
		||||
Plug 'hrsh7th/nvim-cmp' " autocompletion
 | 
			
		||||
Plug 'hrsh7th/cmp-nvim-lsp' " autocompletion bridge to lsp
 | 
			
		||||
Plug 'itchyny/lightline.vim' " fancy statusline
 | 
			
		||||
Plug 'junegunn/fzf.vim' " quickly jump files using fzf
 | 
			
		||||
Plug 'l3mon4d3/luasnip' " snippet support
 | 
			
		||||
Plug 'luochen1990/rainbow' " colorized matching brackets
 | 
			
		||||
Plug 'majutsushi/tagbar', {'on': 'TagbarToggle'} " show tags
 | 
			
		||||
Plug 'mattesgroeger/vim-bookmarks' " Set bookmarks
 | 
			
		||||
Plug 'neovim/nvim-lspconfig' " Language server client
 | 
			
		||||
Plug 'onsails/lspkind-nvim' " icons on completion
 | 
			
		||||
Plug 'qpkorr/vim-renamer' " bulk renamer
 | 
			
		||||
Plug 'raimondi/delimitmate' " automatic closing of brackets
 | 
			
		||||
Plug 'rrethy/vim-hexokinase' , {'do': 'make hexokinase'} " color Preview
 | 
			
		||||
Plug 'ryanoasis/vim-devicons' " enable icons for vim
 | 
			
		||||
Plug 'saadparwaiz1/cmp_luasnip' " add snippets from luasnips to cmp
 | 
			
		||||
Plug 'scrooloose/nerdtree', {'on': 'NERDTreeToggle'} " filetree
 | 
			
		||||
Plug 'tiyn/vim-tccs' " custom colorscheme
 | 
			
		||||
Plug 'tpope/vim-fugitive' " git wrapper
 | 
			
		||||
Plug 'tpope/vim-surround' " help for quotes/parantheses
 | 
			
		||||
Plug 'uiiaoo/java-syntax.vim' , {'for': 'java'} " better syntax highlight for java than default
 | 
			
		||||
Plug 'zah/nim.vim' , {'for': 'nim'} " highlighting for nim
 | 
			
		||||
call plug#end()
 | 
			
		||||
 | 
			
		||||
" alvan/vim-closetag
 | 
			
		||||
let g:closetag_filenames = '*.html,*.xhtml,*.phtml'
 | 
			
		||||
let g:closetag_xhtml_filenames = '*.xhtml,*.jsx'
 | 
			
		||||
let g:closetag_filetypes = 'html,xhtml,phtml'
 | 
			
		||||
let g:closetag_xhtml_filetypes = 'xhtml,jsx'
 | 
			
		||||
let g:closetag_emptyTags_caseSensitive = 1
 | 
			
		||||
let g:closetag_regions = {
 | 
			
		||||
    \ 'typescript.tsx': 'jsxRegion,tsxRegion',
 | 
			
		||||
    \ 'javascript.jsx': 'jsxRegion',
 | 
			
		||||
    \ }
 | 
			
		||||
let g:closetag_shortcut = '>'
 | 
			
		||||
let g:closetag_close_shortcut = '<leader>>'
 | 
			
		||||
 | 
			
		||||
" donRaphaco/neotex
 | 
			
		||||
let g:neotex_enabled = 2
 | 
			
		||||
 | 
			
		||||
" fatih/vim-go
 | 
			
		||||
let g:go_def_mapping_enabled = 0
 | 
			
		||||
 | 
			
		||||
" itchyny/lightline.vim
 | 
			
		||||
let g:lightline = { 'colorscheme': 'tccs'}
 | 
			
		||||
 | 
			
		||||
" junegunn/fzf.vim
 | 
			
		||||
let $FZF_DEFAULT_COMMAND = 'find . ~ -type f'
 | 
			
		||||
nmap <F4> :FZF<CR>
 | 
			
		||||
 | 
			
		||||
" luochen1990/rainbow
 | 
			
		||||
let g:rainbow_active = 1
 | 
			
		||||
let g:rainbow_conf = {
 | 
			
		||||
\	'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick'],
 | 
			
		||||
\	'ctermfgs': ['lightblue', 'lightyellow', 'lightcyan', 'lightmagenta'],
 | 
			
		||||
\	'guis': [''],
 | 
			
		||||
\	'cterms': [''],
 | 
			
		||||
\	'operators': '_,_',
 | 
			
		||||
\	'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/{/ end=/}/ fold'],
 | 
			
		||||
\	'separately': {
 | 
			
		||||
\		'*': {},
 | 
			
		||||
\		'markdown': {
 | 
			
		||||
\			'parentheses_options': 'containedin=markdownCode contained',
 | 
			
		||||
\		},
 | 
			
		||||
\		'lisp': {
 | 
			
		||||
\			'guifgs': ['royalblue3', 'darkorange3', 'seagreen3', 'firebrick', 'darkorchid3'],
 | 
			
		||||
\		},
 | 
			
		||||
\		'haskell': {
 | 
			
		||||
\			'parentheses': ['start=/(/ end=/)/ fold', 'start=/\[/ end=/\]/ fold', 'start=/\v\{\ze[^-]/ end=/}/ fold'],
 | 
			
		||||
\		},
 | 
			
		||||
\		'vim': {
 | 
			
		||||
\			'parentheses_options': 'containedin=vimFuncBody',
 | 
			
		||||
\		},
 | 
			
		||||
\		'perl': {
 | 
			
		||||
\			'syn_name_prefix': 'perlBlockFoldRainbow',
 | 
			
		||||
\		},
 | 
			
		||||
\		'stylus': {
 | 
			
		||||
\			'parentheses': ['start=/{/ end=/}/ fold contains=@colorableGroup'],
 | 
			
		||||
\		},
 | 
			
		||||
\		'css': 0,
 | 
			
		||||
\	}
 | 
			
		||||
\}
 | 
			
		||||
 | 
			
		||||
" majutsushi/tagbar
 | 
			
		||||
map <F3> :TagbarToggle<CR>
 | 
			
		||||
 | 
			
		||||
" mattesgroeger/vim-bookmarks
 | 
			
		||||
let g:bookmark_no_default_key_mappings = 1
 | 
			
		||||
nmap mm <Plug>BookmarkToggle
 | 
			
		||||
nmap ma <Plug>BookmarkAnnotate
 | 
			
		||||
nmap ms <Plug>BookmarkShowAll
 | 
			
		||||
nmap mn <Plug>BookmarkNext
 | 
			
		||||
nmap mp <Plug>BookmarkPrev
 | 
			
		||||
nmap mc <Plug>BookmarkClear
 | 
			
		||||
highlight BookmarkSign ctermbg=NONE ctermfg=160
 | 
			
		||||
highlight BookmarkLine ctermbg=194 ctermfg=NONE
 | 
			
		||||
let g:bookmark_sign = 'B'
 | 
			
		||||
let g:bookmark_highlight_lines = 1
 | 
			
		||||
 | 
			
		||||
" hrsh7th/nvim-cmp
 | 
			
		||||
lua << EOF
 | 
			
		||||
-- Add additional capabilities supported by nvim-cmp
 | 
			
		||||
local capabilities = vim.lsp.protocol.make_client_capabilities()
 | 
			
		||||
capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities)
 | 
			
		||||
 | 
			
		||||
-- Set completeopt to have a better completion experience
 | 
			
		||||
vim.o.completeopt = 'menuone,noselect'
 | 
			
		||||
 | 
			
		||||
-- nvim-cmp setup
 | 
			
		||||
local cmp = require("cmp")
 | 
			
		||||
local luasnip = require("luasnip")
 | 
			
		||||
local lspkind = require("lspkind")
 | 
			
		||||
cmp.setup {
 | 
			
		||||
  snippet = {
 | 
			
		||||
    expand = function(args)
 | 
			
		||||
      luasnip.lsp_expand(args.body)
 | 
			
		||||
    end,
 | 
			
		||||
  },
 | 
			
		||||
  mapping = {
 | 
			
		||||
    ['<S-Tab>'] = cmp.mapping(function(fallback)
 | 
			
		||||
      if cmp.visible() then
 | 
			
		||||
      	cmp.select_prev_item()
 | 
			
		||||
      elseif luasnip.jumpable(-1) then
 | 
			
		||||
      	luasnip.jump(-1)
 | 
			
		||||
      else
 | 
			
		||||
      	fallback()
 | 
			
		||||
      end
 | 
			
		||||
    end, { "i", "s" }),
 | 
			
		||||
    ['<Tab>'] = cmp.mapping(function(fallback)
 | 
			
		||||
      if cmp.visible() then
 | 
			
		||||
      	cmp.select_next_item()
 | 
			
		||||
      elseif luasnip.expand_or_jumpable() then
 | 
			
		||||
      	luasnip.expand_or_jump()
 | 
			
		||||
      else
 | 
			
		||||
      	fallback()
 | 
			
		||||
      end
 | 
			
		||||
    end, { "i", "s" }),
 | 
			
		||||
    ['<C-e>'] = cmp.mapping.close(),
 | 
			
		||||
    ['<CR>'] = cmp.mapping.confirm {
 | 
			
		||||
      behavior = cmp.ConfirmBehavior.Replace,
 | 
			
		||||
      select = true,
 | 
			
		||||
  }},
 | 
			
		||||
  sources = {
 | 
			
		||||
    { name = 'nvim_lsp' },
 | 
			
		||||
    { name = 'path' },
 | 
			
		||||
    { name = 'buffer' },
 | 
			
		||||
    { name = 'luasnip' },
 | 
			
		||||
  },
 | 
			
		||||
  formatting = {
 | 
			
		||||
    format = lspkind.cmp_format({
 | 
			
		||||
      mode = "symbol_text",
 | 
			
		||||
      preset = "codicons",
 | 
			
		||||
      maxwidth = 50,
 | 
			
		||||
      menu = {
 | 
			
		||||
      	nvim_lsp = "[LSP]",
 | 
			
		||||
      	path = "[PATH]",
 | 
			
		||||
        buffer = "[BUF]",
 | 
			
		||||
      	luasnip = "[SNIP]",
 | 
			
		||||
      },
 | 
			
		||||
      symbol_map = {
 | 
			
		||||
        Text = "",
 | 
			
		||||
        Method = "",
 | 
			
		||||
        Function = "",
 | 
			
		||||
        Constructor = "",
 | 
			
		||||
        Field = "ﰠ",
 | 
			
		||||
        Variable = "",
 | 
			
		||||
        Class = "ﴯ",
 | 
			
		||||
        Interface = "",
 | 
			
		||||
        Module = "",
 | 
			
		||||
        Property = "ﰠ",
 | 
			
		||||
        Unit = "塞",
 | 
			
		||||
        Value = "",
 | 
			
		||||
        Enum = "",
 | 
			
		||||
        Keyword = "",
 | 
			
		||||
        Snippet = "",
 | 
			
		||||
        Color = "",
 | 
			
		||||
        File = "",
 | 
			
		||||
        Reference = "",
 | 
			
		||||
        Folder = "",
 | 
			
		||||
        EnumMember = "",
 | 
			
		||||
        Constant = "",
 | 
			
		||||
        Struct = "פּ",
 | 
			
		||||
        Event = "",
 | 
			
		||||
        Operator = "",
 | 
			
		||||
        TypeParameter = ""
 | 
			
		||||
      },
 | 
			
		||||
    }),
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
require("luasnip.loaders.from_snipmate").lazy_load()
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
" neovim/nvim-lspconfig
 | 
			
		||||
lua << EOF
 | 
			
		||||
local nvim_lsp = require('lspconfig')
 | 
			
		||||
 | 
			
		||||
-- Use an on_attach function to only map the following keys
 | 
			
		||||
-- after the language server attaches to the current buffer
 | 
			
		||||
local on_attach = function(client, bufnr)
 | 
			
		||||
  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
 | 
			
		||||
  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
 | 
			
		||||
 | 
			
		||||
  -- Mappings.
 | 
			
		||||
  local opts = { noremap=true, silent=true }
 | 
			
		||||
 | 
			
		||||
  -- See `:help vim.lsp.*` for documentation on any of the below functions
 | 
			
		||||
  buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gy', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<F5>', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
 | 
			
		||||
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
-- Use a loop to conveniently call 'setup' on multiple servers and
 | 
			
		||||
-- map buffer local keybindings when the language server attaches
 | 
			
		||||
local servers = { "pyright", "bashls", "tsserver", "texlab", "ccls", "gopls", "hls", "nimls", "marksman" }
 | 
			
		||||
for _, lsp in ipairs(servers) do
 | 
			
		||||
    nvim_lsp[lsp].setup {
 | 
			
		||||
        on_attach=on_attach,
 | 
			
		||||
        capabilities=capabilities,
 | 
			
		||||
        flags = {
 | 
			
		||||
            debounce_text_changes = 150
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
require'lspconfig'.jdtls.setup{
 | 
			
		||||
    on_attach=on_attach,
 | 
			
		||||
    flags = {
 | 
			
		||||
        debounce_text_changes = 150
 | 
			
		||||
        },
 | 
			
		||||
    cmd = { 'jdtls' }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
" rrethy/vim-hexokinase
 | 
			
		||||
let g:Hexokinase_refreshEvents = ['InsertLeave']
 | 
			
		||||
let g:Hexokinase_optInPatterns = [
 | 
			
		||||
            \   'full_hex',
 | 
			
		||||
            \   'triple_hex',
 | 
			
		||||
            \   'rgb',
 | 
			
		||||
            \   'rgba',
 | 
			
		||||
            \   'hsl',
 | 
			
		||||
            \   'hsla',
 | 
			
		||||
            \   'color_names'
 | 
			
		||||
            \]
 | 
			
		||||
 | 
			
		||||
let g:Hexokinase_highlighters = ['backgroundfull']
 | 
			
		||||
autocmd VimEnter * HexokinaseTurnOn
 | 
			
		||||
 | 
			
		||||
" scrooloose/nerdtree
 | 
			
		||||
map <F2> :NERDTreeToggle<CR>
 | 
			
		||||
autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif
 | 
			
		||||
let g:NERDTreeWinPos = "left"
 | 
			
		||||
 | 
			
		||||
" tpope/vim-fugitive
 | 
			
		||||
nnoremap <leader>ga :Git add %:p<CR><CR>
 | 
			
		||||
nnoremap <leader>gd :Git diff<CR>
 | 
			
		||||
nnoremap <leader>gc :Gcommit<CR>
 | 
			
		||||
nnoremap <leader>go :Git checkout<Space>
 | 
			
		||||
nnoremap <leader>gh :diffget //3<CR>
 | 
			
		||||
nnoremap <leader>gr :Gread<CR>
 | 
			
		||||
nnoremap <leader>gu :diffget //2<CR>
 | 
			
		||||
nnoremap <leader>gs :G<CR>
 | 
			
		||||
 | 
			
		||||
""" end plugin section
 | 
			
		||||
 | 
			
		||||
set go=a
 | 
			
		||||
set noshowmode
 | 
			
		||||
 | 
			
		||||
" enable mouse for all modes
 | 
			
		||||
set mouse=a
 | 
			
		||||
set clipboard+=unnamedplus
 | 
			
		||||
 | 
			
		||||
" setting Tab-length
 | 
			
		||||
set expandtab
 | 
			
		||||
set softtabstop=4
 | 
			
		||||
set shiftwidth=4
 | 
			
		||||
 | 
			
		||||
" splits open at the bottom and right, which is non-retarded, unlike vim defaults.
 | 
			
		||||
set splitbelow splitright
 | 
			
		||||
 | 
			
		||||
" disable case sensitive matching
 | 
			
		||||
set ignorecase
 | 
			
		||||
 | 
			
		||||
" enable nocompatible mode
 | 
			
		||||
set nocompatible
 | 
			
		||||
 | 
			
		||||
" enable Plugins
 | 
			
		||||
filetype plugin on
 | 
			
		||||
 | 
			
		||||
" enable syntax highlighting
 | 
			
		||||
syntax on
 | 
			
		||||
 | 
			
		||||
" enable true colors
 | 
			
		||||
set termguicolors
 | 
			
		||||
 | 
			
		||||
" set utf-8 encoding
 | 
			
		||||
set encoding=utf-8
 | 
			
		||||
 | 
			
		||||
" show relative numbers on left side
 | 
			
		||||
set number relativenumber
 | 
			
		||||
 | 
			
		||||
" speedup vim with long lines
 | 
			
		||||
set ttyfast
 | 
			
		||||
set lazyredraw
 | 
			
		||||
 | 
			
		||||
" textEdit might fail without hidden
 | 
			
		||||
set hidden
 | 
			
		||||
 | 
			
		||||
" disable Backupfiles for Lsp
 | 
			
		||||
set nobackup
 | 
			
		||||
set nowritebackup
 | 
			
		||||
 | 
			
		||||
" always show the signcolumn, otherwise it would shift the text each time
 | 
			
		||||
" diagnostics appear/become resolved.
 | 
			
		||||
if has("patch-8.1.1564")
 | 
			
		||||
    " Recently vim can merge signcolumn and number column into one
 | 
			
		||||
    set signcolumn=number
 | 
			
		||||
else
 | 
			
		||||
    set signcolumn=yes
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
" enable persistent undo
 | 
			
		||||
if has('persistent_undo')
 | 
			
		||||
    set undofile
 | 
			
		||||
    set undodir=$XDG_CACHE_HOME/vim/undo
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
" unmap unwanted commands
 | 
			
		||||
nnoremap <F1> <NOP>
 | 
			
		||||
nnoremap <F9> <NOP>
 | 
			
		||||
nnoremap <F10> <NOP>
 | 
			
		||||
nnoremap <F11> <NOP>
 | 
			
		||||
nnoremap <F12> <NOP>
 | 
			
		||||
 | 
			
		||||
inoremap <F2> <NOP>
 | 
			
		||||
inoremap <F3> <NOP>
 | 
			
		||||
inoremap <F4> <NOP>
 | 
			
		||||
inoremap <F5> <NOP>
 | 
			
		||||
inoremap <F6> <NOP>
 | 
			
		||||
inoremap <F7> <NOP>
 | 
			
		||||
inoremap <F8> <NOP>
 | 
			
		||||
inoremap <F9> <NOP>
 | 
			
		||||
inoremap <F10> <NOP>
 | 
			
		||||
inoremap <F11> <NOP>
 | 
			
		||||
inoremap <F12> <NOP>
 | 
			
		||||
 | 
			
		||||
" mapping Dictionaries
 | 
			
		||||
nnoremap <F6> :setlocal spell! spelllang=de_de<CR>
 | 
			
		||||
nnoremap <F7> :setlocal spell! spelllang=en_us<CR>
 | 
			
		||||
 | 
			
		||||
" compiler for languages
 | 
			
		||||
nnoremap <leader>c :w! \| !compiler <c-r>%<CR>
 | 
			
		||||
 | 
			
		||||
" open corresponding file (pdf/html/...)
 | 
			
		||||
nnoremap <leader>p :!opout <c-r>%<CR><CR>
 | 
			
		||||
 | 
			
		||||
" shortcut for split navigation
 | 
			
		||||
nnoremap <C-h> <C-w>h
 | 
			
		||||
nnoremap <C-j> <C-w>j
 | 
			
		||||
nnoremap <C-k> <C-w>k
 | 
			
		||||
nnoremap <C-l> <C-w>l
 | 
			
		||||
 | 
			
		||||
" save file as sudo on files that require root permission
 | 
			
		||||
cnoremap w!! execute 'silent! write !sudo tee % >/dev/null' <bar> edit!
 | 
			
		||||
 | 
			
		||||
" alias for replacing
 | 
			
		||||
nnoremap <leader>ss :%s//gI<Left><Left><Left>
 | 
			
		||||
 | 
			
		||||
" delete trailing whitespaces on save
 | 
			
		||||
fun! TrimWhitespace()
 | 
			
		||||
    let l:save = winsaveview()
 | 
			
		||||
    keeppatterns %s/\s\+$//e
 | 
			
		||||
    call winrestview(l:save)
 | 
			
		||||
endfun
 | 
			
		||||
autocmd BufWritePre * :call TrimWhitespace()
 | 
			
		||||
 | 
			
		||||
" read files correctly
 | 
			
		||||
autocmd BufRead,BufNewFile *.h set filetype=c
 | 
			
		||||
autocmd BufRead,BufNewFile *.html set filetype=html
 | 
			
		||||
autocmd BufRead,BufNewFile *.nim set filetype=nim
 | 
			
		||||
autocmd BufRead,BufNewFile *.py set filetype=python
 | 
			
		||||
autocmd BufRead,BufNewFile *.tex set filetype=tex
 | 
			
		||||
 | 
			
		||||
" formatting options
 | 
			
		||||
autocmd FileType java setlocal shiftwidth=2 softtabstop=2
 | 
			
		||||
autocmd FileType javascript setlocal shiftwidth=2 softtabstop=2
 | 
			
		||||
autocmd FileType markdown setlocal shiftwidth=2 softtabstop=2
 | 
			
		||||
 | 
			
		||||
" formatting programs
 | 
			
		||||
autocmd FileType c setlocal formatprg=astyle\ --mode=c\ --style=ansi
 | 
			
		||||
autocmd FileType c noremap <F8> gggqG
 | 
			
		||||
autocmd FileType html noremap <F8> :silent %!tidy -q -i --show-errors 0 <CR>
 | 
			
		||||
autocmd FileType java setlocal formatprg=astyle\ --indent=spaces=2\ --style=google
 | 
			
		||||
autocmd FileType java noremap <F8> gggqG
 | 
			
		||||
autocmd FileType markdown noremap <F8> :silent %!prettier --stdin-filepath % <CR>
 | 
			
		||||
autocmd FileType nim noremap <F8> :silent !nimpretty %<CR>
 | 
			
		||||
autocmd FileType python setlocal formatprg=autopep8\ -
 | 
			
		||||
autocmd FileType python noremap <F8> gggqG
 | 
			
		||||
autocmd FileType tex,latex setlocal formatprg=latexindent\ -
 | 
			
		||||
autocmd FileType tex,latex noremap <F8> gggqG
 | 
			
		||||
 | 
			
		||||
" cleanup certain files after leaving the editor
 | 
			
		||||
autocmd VimLeave *.c !cclear
 | 
			
		||||
autocmd VimLeave *.tex !texclear %
 | 
			
		||||
 | 
			
		||||
" highlighting break line
 | 
			
		||||
autocmd BufEnter,FileType c set colorcolumn=80
 | 
			
		||||
autocmd BufEnter,FileType java set colorcolumn=100
 | 
			
		||||
autocmd BufEnter,FileType markdown set colorcolumn=80
 | 
			
		||||
autocmd BufEnter,FileType nim set colorcolumn=80
 | 
			
		||||
autocmd BufEnter,FileType python set colorcolumn=80
 | 
			
		||||
autocmd BufEnter,FileType tex set colorcolumn=80
 | 
			
		||||
 | 
			
		||||
"" colorscheme
 | 
			
		||||
set background=dark
 | 
			
		||||
colorscheme tccs
 | 
			
		||||
highlight colorcolumn guibg=#772222
 | 
			
		||||
 | 
			
		||||
" python
 | 
			
		||||
let g:python_host_prog = "/usr/bin/python2"
 | 
			
		||||
let g:python3_host_prog = "/usr/bin/python3"
 | 
			
		||||
 | 
			
		||||
" irc compatibility to interactive
 | 
			
		||||
nnoremap <leader>is :.w >> in<cr>dd
 | 
			
		||||
							
								
								
									
										6
									
								
								.config/nvim/lua/colorscheme.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								.config/nvim/lua/colorscheme.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,6 @@
 | 
			
		||||
-- colorscheme
 | 
			
		||||
 | 
			
		||||
-- basic color settings
 | 
			
		||||
vim.o.background = 'dark'
 | 
			
		||||
vim.cmd('colorscheme tccs')
 | 
			
		||||
vim.api.nvim_set_hl(0, 'colorcolumn', {bg='#772222'})
 | 
			
		||||
							
								
								
									
										138
									
								
								.config/nvim/lua/filetype.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										138
									
								
								.config/nvim/lua/filetype.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,138 @@
 | 
			
		||||
-- filetype
 | 
			
		||||
 | 
			
		||||
-- read files correctly
 | 
			
		||||
vim.filetype.add({
 | 
			
		||||
pattern = {
 | 
			
		||||
    ['.*.lua'] = 'lua',
 | 
			
		||||
    ['.*.h'] = 'c',
 | 
			
		||||
    ['.*.html'] = 'html',
 | 
			
		||||
    ['.*.nim'] = 'nim',
 | 
			
		||||
    ['.*.py'] = 'python',
 | 
			
		||||
    ['.*.tex'] = 'tex',
 | 
			
		||||
}})
 | 
			
		||||
 | 
			
		||||
-- formatting options
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'markdown'},
 | 
			
		||||
command = 'setlocal shiftwidth=2 softtabstop=2',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'java'},
 | 
			
		||||
command = 'setlocal shiftwidth=2 softtabstop=2',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'javascript'},
 | 
			
		||||
command = 'setlocal shiftwidth=2 softtabstop=2',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- formatting programs
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'c'},
 | 
			
		||||
command = 'setlocal formatprg=astyle --mode=c --style=ansi',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'c'},
 | 
			
		||||
command = 'noremap <F8> gggqG',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'html'},
 | 
			
		||||
command = 'noremap <F8> :silent %!tidy -q -i --show-errors 0 <CR>',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'java'},
 | 
			
		||||
command = 'setlocal formatprg=astyle --indent=spaces=2 --style=google',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'java'},
 | 
			
		||||
command = 'noremap <F8> gggqG',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'markdown'},
 | 
			
		||||
command = 'noremap <F8> :silent %!prettier --stdin-filepath % <CR>',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'nim'},
 | 
			
		||||
command = 'noremap <F8> :silent !nimpretty %<CR>',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'nim'},
 | 
			
		||||
command = 'noremap <F8> gggqG',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'python'},
 | 
			
		||||
command = 'setlocal formatprg=autopep8 "%"',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'python'},
 | 
			
		||||
command = 'noremap <F8> gggqG',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'tex', 'latex'},
 | 
			
		||||
command = 'setlocal formatprg=latexindent',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'FileType'},
 | 
			
		||||
{pattern = {'tex', 'latex'},
 | 
			
		||||
command = 'noremap <F8> gggqG',
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- cleanup certain files after leaving the editor
 | 
			
		||||
vim.api.nvim_create_autocmd({'VimLeave'},
 | 
			
		||||
{pattern = {'*.c'},
 | 
			
		||||
command = '!cclear'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'VimLeave'},
 | 
			
		||||
{pattern = {'*.tex'},
 | 
			
		||||
command = '!texclear %'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- highlighting break line
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'c'},
 | 
			
		||||
command = 'set colorcolumn=80'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'java'},
 | 
			
		||||
command = 'set colorcolumn=100'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'markdown'},
 | 
			
		||||
command = 'set colorcolumn=80'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'nim'},
 | 
			
		||||
command = 'set colorcolumn=80'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'python'},
 | 
			
		||||
command = 'set colorcolumn=80'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'tex'},
 | 
			
		||||
command = 'set colorcolumn=80'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
-- conceallevel
 | 
			
		||||
vim.api.nvim_create_autocmd({'BufEnter', 'FileType'},
 | 
			
		||||
{pattern = {'markdown'},
 | 
			
		||||
command = 'set conceallevel=2'
 | 
			
		||||
})
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										79
									
								
								.config/nvim/lua/keymap.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								.config/nvim/lua/keymap.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,79 @@
 | 
			
		||||
-- keymap
 | 
			
		||||
 | 
			
		||||
-- set mapleader for hotkeys
 | 
			
		||||
vim.g.mapleader = ","
 | 
			
		||||
 | 
			
		||||
-- shortcut for split navigation
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<C-h>', '<C-w>h', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<C-j>', '<C-w>j', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<C-k>', '<C-w>k', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<C-l>', '<C-w>l', {noremap = true})
 | 
			
		||||
 | 
			
		||||
-- unmap unwanted commands
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F1>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F4>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F9>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F10>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F11>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F12>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F2>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F3>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F4>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F5>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F6>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F7>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F8>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F9>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F10>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F11>', '<NOP>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('i', '<F12>', '<NOP>', {noremap = true})
 | 
			
		||||
 | 
			
		||||
-- mapping Dictionaries
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F6>', ':setlocal spell! spelllang=de_de<CR>', {noremap = true})
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F7>', ':setlocal spell! spelllang=en_us<CR>', {noremap = true})
 | 
			
		||||
 | 
			
		||||
-- compiler for languages
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>c', ':w! | !compiler <c-r>%<CR>', {noremap = true})
 | 
			
		||||
 | 
			
		||||
-- open corresponding file (pdf/html/...)
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>p', ':!opout <c-r>%<CR><CR>', {noremap = true})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- save file as sudo on files that require root permission
 | 
			
		||||
vim.api.nvim_set_keymap('c', 'w!!', '"silent! write !sudo tee % >/dev/null" <bar> edit!', {noremap = true})
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- alias for replacing
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>ss', ':%s//gI<Left><Left><Left>', {noremap = true})
 | 
			
		||||
 | 
			
		||||
-- irc compatibility for interactivity
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>is', ':.w >> in<cr>dd', {noremap = true})
 | 
			
		||||
 | 
			
		||||
-- majutsushi/tagbar
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F3>', ':TagbarToggle<CR>', {})
 | 
			
		||||
 | 
			
		||||
-- scrooloose/nerdtree
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<F2>', ':NERDTreeToggle<CR>', {})
 | 
			
		||||
 | 
			
		||||
-- tpope/vim-fugitive
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>ga', ':Git add %:p<CR><CR>', { noremap = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>gd', ':Git diff<CR>', { noremap = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>gc', ':Git commit<CR>', { noremap = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>gh', ':diffget //3<CR>', { noremap = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>gr', ':Gread<CR>', { noremap = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>gu', ':diffget //2<CR>', { noremap = true })
 | 
			
		||||
vim.api.nvim_set_keymap('n', '<leader>gs', ':G<CR>', { noremap = true })
 | 
			
		||||
 | 
			
		||||
-- hrsh7th/nvim-cmp
 | 
			
		||||
local on_attach = function(client, bufnr)
 | 
			
		||||
  local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
 | 
			
		||||
  local function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
 | 
			
		||||
  local opts = { noremap=true, silent=true }
 | 
			
		||||
  buf_set_keymap('n', 'gD', '<Cmd>lua vim.lsp.buf.declaration()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gd', '<Cmd>lua vim.lsp.buf.definition()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gy', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', 'K', '<Cmd>lua vim.lsp.buf.hover()<CR>', opts)
 | 
			
		||||
  buf_set_keymap('n', '<F5>', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
 | 
			
		||||
end
 | 
			
		||||
							
								
								
									
										92
									
								
								.config/nvim/lua/loadplugins.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										92
									
								
								.config/nvim/lua/loadplugins.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,92 @@
 | 
			
		||||
-- loadplugins
 | 
			
		||||
 | 
			
		||||
-- bootstrap packer
 | 
			
		||||
local ensure_packer = function()
 | 
			
		||||
  local fn = vim.fn
 | 
			
		||||
  local install_path = fn.stdpath('data')..'/site/pack/packer/start/packer.nvim'
 | 
			
		||||
  if fn.empty(fn.glob(install_path)) > 0 then
 | 
			
		||||
    fn.system({'git', 'clone', '--depth', '1', 'https://github.com/wbthomason/packer.nvim', install_path})
 | 
			
		||||
    vim.cmd [[packadd packer.nvim]]
 | 
			
		||||
    return true
 | 
			
		||||
  end
 | 
			
		||||
  return false
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
local packer_bootstrap = ensure_packer()
 | 
			
		||||
 | 
			
		||||
-- load plugins with packer
 | 
			
		||||
return require("packer").startup(function(use)
 | 
			
		||||
    -- package manager
 | 
			
		||||
    use 'wbthomason/packer.nvim'
 | 
			
		||||
    if packer_bootstrap then
 | 
			
		||||
        require('packer').sync()
 | 
			
		||||
    end
 | 
			
		||||
 | 
			
		||||
    -- automatic closing of brackets
 | 
			
		||||
    use 'raimondi/delimitmate'
 | 
			
		||||
 | 
			
		||||
    -- improved java syntax highlighting
 | 
			
		||||
    use {'uiiaoo/java-syntax.vim',
 | 
			
		||||
        ft = {'java'}}
 | 
			
		||||
 | 
			
		||||
    -- custom statusline
 | 
			
		||||
    use {'itchyny/lightline.vim',
 | 
			
		||||
        require = {"tiyn/vim-tccs"}}
 | 
			
		||||
 | 
			
		||||
    -- latex asynchronous pdf rendering
 | 
			
		||||
    use {'donRaphaco/neotex',
 | 
			
		||||
        ft = {'tex'}}
 | 
			
		||||
 | 
			
		||||
    -- navigating folders with a file tree
 | 
			
		||||
    use {'scrooloose/nerdtree',
 | 
			
		||||
        cmd = 'NERDTreeToggle',
 | 
			
		||||
        requires = 'ryanoasis/vim-devicons'}
 | 
			
		||||
 | 
			
		||||
    -- nim language support
 | 
			
		||||
    use {'zah/nim.vim', ft = {'nim'}}
 | 
			
		||||
 | 
			
		||||
    -- autocompletion and its sources
 | 
			
		||||
    use {'hrsh7th/nvim-cmp',
 | 
			
		||||
        requires = {'hrsh7th/cmp-buffer',
 | 
			
		||||
            'hrsh7th/cmp-path',
 | 
			
		||||
            'hrsh7th/cmp-nvim-lsp',
 | 
			
		||||
            'l3mon4d3/luasnip',
 | 
			
		||||
            'saadparwaiz1/cmp_luasnip',
 | 
			
		||||
            'neovim/nvim-lspconfig',
 | 
			
		||||
            'onsails/lspkind-nvim'}}
 | 
			
		||||
 | 
			
		||||
    -- showing color of hex values, etc
 | 
			
		||||
    use 'norcalli/nvim-colorizer.lua'
 | 
			
		||||
 | 
			
		||||
    -- colorful brackets
 | 
			
		||||
    use 'luochen1990/rainbow'
 | 
			
		||||
 | 
			
		||||
    -- show tags
 | 
			
		||||
    use {'majutsushi/tagbar',
 | 
			
		||||
        cmd = 'TagbarToggle'}
 | 
			
		||||
 | 
			
		||||
    -- git wrapper
 | 
			
		||||
    use 'tpope/vim-fugitive'
 | 
			
		||||
 | 
			
		||||
    -- indicate git diff status of line
 | 
			
		||||
    use 'airblade/vim-gitgutter'
 | 
			
		||||
 | 
			
		||||
    -- golang language support
 | 
			
		||||
    use {'fatih/vim-go',
 | 
			
		||||
        ft = {'go'}}
 | 
			
		||||
 | 
			
		||||
    -- markdown language support
 | 
			
		||||
    use {'preservim/vim-markdown',
 | 
			
		||||
        ft = {'md'},
 | 
			
		||||
        requires = {'godlygeek/tabular'}}
 | 
			
		||||
 | 
			
		||||
    -- bulk renamer
 | 
			
		||||
    use 'qpkorr/vim-renamer'
 | 
			
		||||
 | 
			
		||||
    -- additional quote/parantheses funtions
 | 
			
		||||
    use 'tpope/vim-surround'
 | 
			
		||||
 | 
			
		||||
    -- colorscheme
 | 
			
		||||
    use 'tiyn/vim-tccs'
 | 
			
		||||
 | 
			
		||||
end)
 | 
			
		||||
							
								
								
									
										2
									
								
								.config/nvim/plugin/lightline.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/plugin/lightline.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
-- itchyny/lightline.vim
 | 
			
		||||
vim.g.lightline = { colorscheme = 'tccs'}
 | 
			
		||||
							
								
								
									
										2
									
								
								.config/nvim/plugin/neotex.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/plugin/neotex.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
-- donRaphaco/neotex
 | 
			
		||||
vim.g.neotex_enabled = 2
 | 
			
		||||
							
								
								
									
										2
									
								
								.config/nvim/plugin/nerdtree.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/plugin/nerdtree.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
-- scrooloose/nerdtree
 | 
			
		||||
vim.g.NERDTreeWinPos = 'left'
 | 
			
		||||
							
								
								
									
										115
									
								
								.config/nvim/plugin/nvim-cmp.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								.config/nvim/plugin/nvim-cmp.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,115 @@
 | 
			
		||||
-- hrsh7th/nvim-cmp
 | 
			
		||||
-- Add additional capabilities supported by nvim-cmp
 | 
			
		||||
capabilities = require("cmp_nvim_lsp").default_capabilities()
 | 
			
		||||
 | 
			
		||||
-- Set completeopt to have a better completion experience
 | 
			
		||||
vim.o.completeopt = 'menuone,noselect'
 | 
			
		||||
 | 
			
		||||
-- nvim-cmp setup
 | 
			
		||||
local cmp = require("cmp")
 | 
			
		||||
local luasnip = require("luasnip")
 | 
			
		||||
local lspkind = require("lspkind")
 | 
			
		||||
cmp.setup {
 | 
			
		||||
  snippet = {
 | 
			
		||||
    expand = function(args)
 | 
			
		||||
      luasnip.lsp_expand(args.body)
 | 
			
		||||
    end,
 | 
			
		||||
  },
 | 
			
		||||
  mapping = {
 | 
			
		||||
    ['<S-Tab>'] = cmp.mapping(function(fallback)
 | 
			
		||||
      if cmp.visible() then
 | 
			
		||||
      	cmp.select_prev_item()
 | 
			
		||||
      elseif luasnip.jumpable(-1) then
 | 
			
		||||
      	luasnip.jump(-1)
 | 
			
		||||
      else
 | 
			
		||||
      	fallback()
 | 
			
		||||
      end
 | 
			
		||||
    end, { "i", "s" }),
 | 
			
		||||
    ['<Tab>'] = cmp.mapping(function(fallback)
 | 
			
		||||
      if cmp.visible() then
 | 
			
		||||
      	cmp.select_next_item()
 | 
			
		||||
      elseif luasnip.expand_or_jumpable() then
 | 
			
		||||
      	luasnip.expand_or_jump()
 | 
			
		||||
      else
 | 
			
		||||
      	fallback()
 | 
			
		||||
      end
 | 
			
		||||
    end, { "i", "s" }),
 | 
			
		||||
    ['<C-e>'] = cmp.mapping.close(),
 | 
			
		||||
    ['<CR>'] = cmp.mapping.confirm {
 | 
			
		||||
      behavior = cmp.ConfirmBehavior.Replace,
 | 
			
		||||
      select = true,
 | 
			
		||||
  }},
 | 
			
		||||
  sources = {
 | 
			
		||||
    { name = 'nvim_lsp' },
 | 
			
		||||
    { name = 'path' },
 | 
			
		||||
    { name = 'buffer' },
 | 
			
		||||
    { name = 'luasnip' },
 | 
			
		||||
  },
 | 
			
		||||
  formatting = {
 | 
			
		||||
    format = lspkind.cmp_format({
 | 
			
		||||
      mode = "symbol_text",
 | 
			
		||||
      preset = "codicons",
 | 
			
		||||
      maxwidth = 50,
 | 
			
		||||
      menu = {
 | 
			
		||||
      	nvim_lsp = "[LSP]",
 | 
			
		||||
      	path = "[PATH]",
 | 
			
		||||
        buffer = "[BUF]",
 | 
			
		||||
      	luasnip = "[SNIP]",
 | 
			
		||||
      },
 | 
			
		||||
      symbol_map = {
 | 
			
		||||
        Text = "",
 | 
			
		||||
        Method = "",
 | 
			
		||||
        Function = "",
 | 
			
		||||
        Constructor = "",
 | 
			
		||||
        Field = "ﰠ",
 | 
			
		||||
        Variable = "",
 | 
			
		||||
        Class = "ﴯ",
 | 
			
		||||
        Interface = "",
 | 
			
		||||
        Module = "",
 | 
			
		||||
        Property = "ﰠ",
 | 
			
		||||
        Unit = "塞",
 | 
			
		||||
        Value = "",
 | 
			
		||||
        Enum = "",
 | 
			
		||||
        Keyword = "",
 | 
			
		||||
        Snippet = "",
 | 
			
		||||
        Color = "",
 | 
			
		||||
        File = "",
 | 
			
		||||
        Reference = "",
 | 
			
		||||
        Folder = "",
 | 
			
		||||
        EnumMember = "",
 | 
			
		||||
        Constant = "",
 | 
			
		||||
        Struct = "פּ",
 | 
			
		||||
        Event = "",
 | 
			
		||||
        Operator = "",
 | 
			
		||||
        TypeParameter = ""
 | 
			
		||||
      },
 | 
			
		||||
    }),
 | 
			
		||||
  },
 | 
			
		||||
}
 | 
			
		||||
require("luasnip.loaders.from_snipmate").lazy_load()
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
-- neovim/nvim-lspconfig
 | 
			
		||||
local nvim_lsp = require('lspconfig')
 | 
			
		||||
 | 
			
		||||
-- Use a loop to conveniently call 'setup' on multiple servers and
 | 
			
		||||
-- map buffer local keybindings when the language server attaches
 | 
			
		||||
local servers = { "pyright", "bashls", "tsserver", "texlab", "ccls", "gopls", "hls", "nimls", "marksman" }
 | 
			
		||||
for _, lsp in ipairs(servers) do
 | 
			
		||||
    nvim_lsp[lsp].setup {
 | 
			
		||||
        on_attach=on_attach,
 | 
			
		||||
        capabilities=capabilities,
 | 
			
		||||
        flags = {
 | 
			
		||||
            debounce_text_changes = 150
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
require'lspconfig'.jdtls.setup{
 | 
			
		||||
    on_attach=on_attach,
 | 
			
		||||
    flags = {
 | 
			
		||||
        debounce_text_changes = 150
 | 
			
		||||
        },
 | 
			
		||||
    cmd = { 'jdtls' }
 | 
			
		||||
    }
 | 
			
		||||
							
								
								
									
										2
									
								
								.config/nvim/plugin/nvim-colorizer.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/plugin/nvim-colorizer.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
-- norcalli/nvim-colorizer.lua
 | 
			
		||||
require 'colorizer'.setup()
 | 
			
		||||
							
								
								
									
										2
									
								
								.config/nvim/plugin/rainbow.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/plugin/rainbow.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
-- luochen1990/rainbow
 | 
			
		||||
vim.g.rainbow_active = 1
 | 
			
		||||
							
								
								
									
										2
									
								
								.config/nvim/plugin/vim-go.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.config/nvim/plugin/vim-go.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
			
		||||
-- fatih/vim-go
 | 
			
		||||
vim.g.go_def_mapping_enabled = 0
 | 
			
		||||
							
								
								
									
										3
									
								
								.config/nvim/plugin/vim-markdown.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								.config/nvim/plugin/vim-markdown.lua
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
-- preservim/vim-markdown
 | 
			
		||||
vim.g.vim_markdown_folding_style_pythonic = 1
 | 
			
		||||
vim.g.vim_markdown_folding_disabled = 1
 | 
			
		||||
@@ -5,15 +5,19 @@ super + b
 | 
			
		||||
super + f
 | 
			
		||||
        $TERMINAL -e $FILE
 | 
			
		||||
super + i
 | 
			
		||||
        intellij-idea-ultimate-edition
 | 
			
		||||
        record_stop
 | 
			
		||||
super + m
 | 
			
		||||
        thunderbird
 | 
			
		||||
super + o
 | 
			
		||||
        record_replay_start
 | 
			
		||||
super + p
 | 
			
		||||
        $TERMINAL -e ncmpcpp
 | 
			
		||||
        record_replay_save
 | 
			
		||||
super + u
 | 
			
		||||
        record_start
 | 
			
		||||
super + shift + x
 | 
			
		||||
    pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config'
 | 
			
		||||
super + shift + r
 | 
			
		||||
        dmenu_run -c -l 20
 | 
			
		||||
super + s
 | 
			
		||||
        startpagesearch
 | 
			
		||||
super + F5
 | 
			
		||||
        togglemonitor
 | 
			
		||||
super + F6
 | 
			
		||||
@@ -30,8 +34,9 @@ super + F11
 | 
			
		||||
        prompt "Shutdown computer?" "sudo -A shutdown -h now"
 | 
			
		||||
super + F12
 | 
			
		||||
        prompt "Reboot computer?" "sudo -A reboot now"
 | 
			
		||||
XF86Launch1
 | 
			
		||||
        xset dpms force off
 | 
			
		||||
super + Print
 | 
			
		||||
        maimpick
 | 
			
		||||
 | 
			
		||||
XF86AudioMute
 | 
			
		||||
        lmc m && pkill -RTMIN+4 $STATUSBAR
 | 
			
		||||
XF86AudioMicMute
 | 
			
		||||
@@ -44,3 +49,4 @@ XF86MonBrightnessDown
 | 
			
		||||
        light -U 15
 | 
			
		||||
XF86MonBrightnessUp
 | 
			
		||||
        light -A 15
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,6 @@ xset r rate 300 50 &	# Speed xrate up
 | 
			
		||||
unclutter &		# Remove mouse when idle
 | 
			
		||||
dunst &			# dunst for notifications
 | 
			
		||||
redshift &		# redshift for saving your eyes
 | 
			
		||||
mpd &		# starts the mpd server for music
 | 
			
		||||
$STATUSBAR & # for refreshing the statusbar
 | 
			
		||||
xcompmgr & # compositor for transparency
 | 
			
		||||
nextcloud & # for my cloud
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										18
									
								
								.local/bin/tools/maimpick
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								.local/bin/tools/maimpick
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
# Requires maim. It lets you choose the kind of screenshot to take,
 | 
			
		||||
# including copying the image or even highlighting an area to copy.
 | 
			
		||||
 | 
			
		||||
output="$HOME/downloads/screenshot-$(date '+%Y-%m-%d_%H-%M-%S').png"
 | 
			
		||||
xclip_cmd="xclip -sel clip -t image/png"
 | 
			
		||||
 | 
			
		||||
case "$(printf "a selected area\\ncurrent window\\nfull screen\\na selected area (clipboard)\\ncurrent window (clipboard)\\nfull screen (clipboard)\\ncolor picker (clipboard)" | dmenu -l 6 -i -p "Screenshot which area?")" in
 | 
			
		||||
	"a selected area") maim -s $output ;;
 | 
			
		||||
	"current window") maim -i "$(xdotool getactivewindow)" $output ;;
 | 
			
		||||
	"full screen") maim $output ;;
 | 
			
		||||
	"a selected area (clipboard)") maim -s | ${xclip_cmd} ;;
 | 
			
		||||
	"current window (clipboard)") maim -i "$(xdotool getactivewindow)" | ${xclip_cmd} ;;
 | 
			
		||||
	"full screen (clipboard)") maim | ${xclip_cmd} ;;
 | 
			
		||||
	"color picker (clipboard)") maim -st 0 | convert - -resize 1x1\! -format '%[pixel:p{0,0}]' info:- | ${xclip_cmd} ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										3
									
								
								.local/bin/tools/record_replay_save
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								.local/bin/tools/record_replay_save
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
killall -SIGUSR1 gpu-screen-recorder && notify-send 'Screen record' 'Replay saved'
 | 
			
		||||
							
								
								
									
										11
									
								
								.local/bin/tools/record_replay_start
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										11
									
								
								.local/bin/tools/record_replay_start
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
window=$(xdotool getwindowfocus)
 | 
			
		||||
fps=30
 | 
			
		||||
audio="$(pactl get-default-sink).monitor"
 | 
			
		||||
format="mp4"
 | 
			
		||||
lenght=20
 | 
			
		||||
output="$HOME/downloads"
 | 
			
		||||
 | 
			
		||||
gpu-screen-recorder -w $window -f $fps -a $audio -c $format -r $lenght -o $output &
 | 
			
		||||
notify-send 'Screen record' 'Replay started'
 | 
			
		||||
							
								
								
									
										10
									
								
								.local/bin/tools/record_start
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										10
									
								
								.local/bin/tools/record_start
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
window=$(xdotool getwindowfocus)
 | 
			
		||||
fps=30
 | 
			
		||||
audio="$(pactl get-default-sink).monitor"
 | 
			
		||||
format="mp4"
 | 
			
		||||
output="$HOME/downloads/recording-$(date '+%Y-%m-%d_%H-%M-%S').$format"
 | 
			
		||||
 | 
			
		||||
gpu-screen-recorder -w $window -c "mp4" -f $fps -a $audio -o $output &
 | 
			
		||||
notify-send 'Screen record' 'Recording started'
 | 
			
		||||
							
								
								
									
										3
									
								
								.local/bin/tools/record_stop
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								.local/bin/tools/record_stop
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,3 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
killall -SIGINT gpu-screen-recorder && notify-send 'Screen record' 'Recording stopped'
 | 
			
		||||
@@ -1,7 +1,6 @@
 | 
			
		||||
#!/usr/bin/env sh
 | 
			
		||||
 | 
			
		||||
capacity=$(cat /sys/class/power_supply/"$1"/capacity) || exit
 | 
			
		||||
time=$(acpi | awk '{ print $5 }')
 | 
			
		||||
status=$(cat /sys/class/power_supply/"$1"/status)
 | 
			
		||||
 | 
			
		||||
[ -z $warn ] && warn=" "
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										3
									
								
								.profile
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								.profile
									
									
									
									
									
								
							@@ -4,6 +4,9 @@
 | 
			
		||||
# Adds `~/.local/bin` and all subdirectories to $PATH
 | 
			
		||||
export PATH="${PATH}:$(du "${HOME}/.local/bin/" | cut -f2 | tr '\n' ':' | sed 's/:*$//')"
 | 
			
		||||
 | 
			
		||||
# Add flatpak to path
 | 
			
		||||
export PATH="/var/lib/flatpak/exports/bin:${PATH}"
 | 
			
		||||
 | 
			
		||||
export BROWSER="firefox"
 | 
			
		||||
export RTV_BROWSER="qutebrowser"
 | 
			
		||||
export EDITOR="nvim"
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										9
									
								
								.xinitrc
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								.xinitrc
									
									
									
									
									
								
							@@ -1,12 +1,11 @@
 | 
			
		||||
#!/bin/sh
 | 
			
		||||
 | 
			
		||||
xrandr --auto
 | 
			
		||||
#adding ressources
 | 
			
		||||
[ -f "$HOME/.config/xorg/xprofile" ] && . "$HOME/.config/xorg/xprofile"
 | 
			
		||||
[ -f "$HOME/.config/xorg/Xdefaults" ] && xrdb -merge "$HOME/.config/xorg/Xdefaults"
 | 
			
		||||
[ -f "$HOME/.config/xorg/Xpcspec" ] && xrdb -merge "$HOME/.config/xorg/Xpcspec"
 | 
			
		||||
 | 
			
		||||
xterm -geometry 80x24+10+10 -fn 10x20
 | 
			
		||||
[ -f "$HOME/.config/xorg/xprofile" ] && . "$HOME/.config/xorg/xprofile" # global autostart
 | 
			
		||||
[ -f "$HOME/.config/xorg/xlocal" ] && . "$HOME/.config/xorg/xlocal" # local autostart
 | 
			
		||||
[ -f "$HOME/.config/xorg/xdefaults" ] && xrdb -merge "$HOME/.config/xorg/xdefaults" # global resources
 | 
			
		||||
[ -f "$HOME/.config/xorg/xpcspec" ] && xrdb -merge "$HOME/.config/xorg/xpcspec" # local resources
 | 
			
		||||
 | 
			
		||||
setbg
 | 
			
		||||
exec dwm
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										25
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										25
									
								
								README.md
									
									
									
									
									
								
							@@ -50,21 +50,23 @@ There are various shortcuts and hotkeys used in this version. Included in my bui
 | 
			
		||||
| ------ | ----- | ----------------- | --------------------------------------------------------- |
 | 
			
		||||
| Super  |       | Return            | Spawn terminal                                            |
 | 
			
		||||
| Super  |       | b                 | Spawn browser                                             |
 | 
			
		||||
| Super  | Shift | b                 | Toggle dwmbar                                             |
 | 
			
		||||
| Super  |       | f                 | Spawn filemanager                                         |
 | 
			
		||||
| Super  |       | i                 | Spawn intellij-idea-ultimate-edition                      |
 | 
			
		||||
| Super  |       | i                 | (gpu-screen-record) stop recording                        |
 | 
			
		||||
| Super  |       | m                 | Spawn thunderbird                                         |
 | 
			
		||||
| Super  |       | p                 | Spawn ncmpcpp in st                                       |
 | 
			
		||||
| Super  |       | o                 | (gpu-screen-record) start replay                          |
 | 
			
		||||
| Super  |       | p                 | (gpu-screen-record) save replay                           |
 | 
			
		||||
| Super  |       | u                 | (gpu-screen-record) start recording                       |
 | 
			
		||||
| Super  | Shift | r                 | (dmenu) dmenu\_run                                        |
 | 
			
		||||
| Super  |       | s                 | (dmenu) startpagesearch                                   |
 | 
			
		||||
| Super  |       | F5                | enable 2 Screen Monitor                                   |
 | 
			
		||||
| Super  |       | F6                | toggle touchpad                                           |
 | 
			
		||||
| Super  |       | F7                | (dmenu) mounting drives                                   |
 | 
			
		||||
| Super  |       | F8                | (dmenu) unmounting drives                                 |
 | 
			
		||||
| Super  | Shift | x                 | Restart sxkd                                              |
 | 
			
		||||
| Super  |       | F5                | Enable 2 Screen Monitor                                   |
 | 
			
		||||
| Super  |       | F6                | Toggle touchpad                                           |
 | 
			
		||||
| Super  |       | F7                | (dmenu) Mounting drives                                   |
 | 
			
		||||
| Super  |       | F8                | (dmenu) Unmounting drives                                 |
 | 
			
		||||
| Super  |       | F9                | Restart NetworkManager                                    |
 | 
			
		||||
| Super  |       | F10               | (dmenu) prompt, if yes: slock                             |
 | 
			
		||||
| Super  |       | F11               | (dmenu) prompt, if yes: reboot                            |
 | 
			
		||||
| Super  |       | F12               | (dmenu) prompt, if yes: shutdown                          |
 | 
			
		||||
| Super  |       | F10               | (dmenu) Prompt, if yes: slock                             |
 | 
			
		||||
| Super  |       | F11               | (dmenu) Prompt, if yes: reboot                            |
 | 
			
		||||
| Super  |       | F12               | (dmenu) Prompt, if yes: shutdown                          |
 | 
			
		||||
| Super  |       | Print             | (dmenu) Prompt to take a screenshot                       |
 | 
			
		||||
|        |       | AudioMute         | Volume mute                                               |
 | 
			
		||||
|        |       | AudioMicMute      | Mic Mute                                                  |
 | 
			
		||||
|        |       | AudioLowerVolume  | Volume lower                                              |
 | 
			
		||||
@@ -72,6 +74,7 @@ There are various shortcuts and hotkeys used in this version. Included in my bui
 | 
			
		||||
|        |       | MonBrightnessDown | Brightness decrease                                       |
 | 
			
		||||
|        |       | MonBrightnessUp   | Brightness increase                                       |
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## Additional configs
 | 
			
		||||
 | 
			
		||||
Additional configs (and for example firefox plugins) can be found in my [wiki](https://github.com/tiyn/wiki).
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user