From b3e902ed66e0ffde0ef2469ddcd31480e2c23f31 Mon Sep 17 00:00:00 2001 From: tiyn Date: Fri, 13 Jan 2023 14:01:07 +0100 Subject: [PATCH 1/4] nvim: correct filetype assignments --- .config/nvim/lua/filetype.lua | 76 ++++------------------------------- 1 file changed, 8 insertions(+), 68 deletions(-) diff --git a/.config/nvim/lua/filetype.lua b/.config/nvim/lua/filetype.lua index 2709f94..19110fe 100644 --- a/.config/nvim/lua/filetype.lua +++ b/.config/nvim/lua/filetype.lua @@ -2,13 +2,14 @@ -- read files correctly vim.filetype.add({ -pattern = { - ['.*.lua'] = 'lua', - ['.*.h'] = 'c', - ['.*.html'] = 'html', - ['.*.nim'] = 'nim', - ['.*.py'] = 'python', - ['.*.tex'] = 'tex', +extension = { + h = 'c', + html = 'html', + java = 'java', + md = 'markdown', + nim = 'nim', + py = 'python', + tex = 'tex', }}) -- formatting options @@ -27,67 +28,6 @@ vim.api.nvim_create_autocmd({'FileType'}, 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 gggqG', -}) - -vim.api.nvim_create_autocmd({'FileType'}, -{pattern = {'html'}, -command = 'noremap :silent %!tidy -q -i --show-errors 0 ', -}) - -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 gggqG', -}) - -vim.api.nvim_create_autocmd({'FileType'}, -{pattern = {'markdown'}, -command = 'noremap :silent %!prettier --stdin-filepath % ', -}) - -vim.api.nvim_create_autocmd({'FileType'}, -{pattern = {'nim'}, -command = 'noremap :silent !nimpretty %', -}) - -vim.api.nvim_create_autocmd({'FileType'}, -{pattern = {'nim'}, -command = 'noremap gggqG', -}) - -vim.api.nvim_create_autocmd({'FileType'}, -{pattern = {'python'}, -command = 'setlocal formatprg=autopep8 "%"', -}) - -vim.api.nvim_create_autocmd({'FileType'}, -{pattern = {'python'}, -command = 'noremap 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 gggqG', -}) - -- cleanup certain files after leaving the editor vim.api.nvim_create_autocmd({'VimLeave'}, {pattern = {'*.c'}, From 802d769a9cce8eec83cfa2027533f29b522eb8f1 Mon Sep 17 00:00:00 2001 From: tiyn Date: Sat, 14 Jan 2023 05:12:21 +0100 Subject: [PATCH 2/4] nvim: setup automatic loading with mason and other plugins --- .config/nvim/lua/keymap.lua | 20 ++++------ .config/nvim/lua/loadplugins.lua | 49 ++++++++++++++++--------- .config/nvim/plugin/nvim-autopairs.lua | 1 + .config/nvim/plugin/nvim-cmp.lua | 24 +++++++++++- .config/nvim/plugin/nvim-treesitter.lua | 19 ++++++++++ 5 files changed, 83 insertions(+), 30 deletions(-) create mode 100644 .config/nvim/plugin/nvim-autopairs.lua create mode 100644 .config/nvim/plugin/nvim-treesitter.lua diff --git a/.config/nvim/lua/keymap.lua b/.config/nvim/lua/keymap.lua index 458b55c..0e1b980 100644 --- a/.config/nvim/lua/keymap.lua +++ b/.config/nvim/lua/keymap.lua @@ -65,15 +65,11 @@ vim.api.nvim_set_keymap('n', 'gu', ':diffget //2', { noremap = true vim.api.nvim_set_keymap('n', 'gs', ':G', { 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', 'lua vim.lsp.buf.declaration()', opts) - buf_set_keymap('n', 'gd', 'lua vim.lsp.buf.definition()', opts) - buf_set_keymap('n', 'gy', 'lua vim.lsp.buf.type_definition()', opts) - buf_set_keymap('n', 'gi', 'lua vim.lsp.buf.implementation()', opts) - buf_set_keymap('n', 'gr', 'lua vim.lsp.buf.references()', opts) - buf_set_keymap('n', 'K', 'lua vim.lsp.buf.hover()', opts) - buf_set_keymap('n', '', 'lua vim.lsp.buf.rename()', opts) -end +vim.api.nvim_set_keymap('n', 'gD', ':lua vim.lsp.buf.declaration()', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gd', ':lua vim.lsp.buf.definition()', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gy', ':lua vim.lsp.buf.type_definition()', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gi', ':lua vim.lsp.buf.implementation()', { noremap = true }) +vim.api.nvim_set_keymap('n', 'gr', ':lua vim.lsp.buf.references()', { noremap = true }) +vim.api.nvim_set_keymap('n', 'K', ':lua vim.lsp.buf.hover()', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':lua vim.lsp.buf.rename()', { noremap = true }) +vim.api.nvim_set_keymap('n', '', ':lua vim.lsp.buf.format()', { noremap = true }) diff --git a/.config/nvim/lua/loadplugins.lua b/.config/nvim/lua/loadplugins.lua index bbcbc51..3eac7f0 100644 --- a/.config/nvim/lua/loadplugins.lua +++ b/.config/nvim/lua/loadplugins.lua @@ -16,14 +16,8 @@ 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' + -- package manager (first entry) + use {'wbthomason/packer.nvim'} -- improved java syntax highlighting use {'uiiaoo/java-syntax.vim', @@ -43,7 +37,11 @@ return require("packer").startup(function(use) requires = 'ryanoasis/vim-devicons'} -- nim language support - use {'zah/nim.vim', ft = {'nim'}} + use {'zah/nim.vim', + ft = {'nim'}} + + -- automatic closing of brackets + use {'windwp/nvim-autopairs'} -- autocompletion and its sources use {'hrsh7th/nvim-cmp', @@ -53,23 +51,35 @@ return require("packer").startup(function(use) 'l3mon4d3/luasnip', 'saadparwaiz1/cmp_luasnip', 'neovim/nvim-lspconfig', - 'onsails/lspkind-nvim'}} + 'onsails/lspkind-nvim', + 'williamboman/mason.nvim', + 'williamboman/mason-lspconfig.nvim', + 'jose-elias-alvarez/null-ls.nvim', + 'nvim-lua/plenary.nvim', + 'jayp0521/mason-null-ls.nvim'}} -- showing color of hex values, etc - use 'norcalli/nvim-colorizer.lua' + use {'norcalli/nvim-colorizer.lua'} + + -- better language highlighting by improved parsing + use {'nvim-treesitter/nvim-treesitter'} + + -- automatically close html-tags + use {'windwp/nvim-ts-autotag', + requires = {'nvim-treesitter/nvim-treesitter'}} -- colorful brackets - use 'luochen1990/rainbow' + use {'luochen1990/rainbow'} -- show tags use {'majutsushi/tagbar', cmd = 'TagbarToggle'} -- git wrapper - use 'tpope/vim-fugitive' + use {'tpope/vim-fugitive'} -- indicate git diff status of line - use 'airblade/vim-gitgutter' + use {'airblade/vim-gitgutter'} -- golang language support use {'fatih/vim-go', @@ -81,12 +91,17 @@ return require("packer").startup(function(use) requires = {'godlygeek/tabular'}} -- bulk renamer - use 'qpkorr/vim-renamer' + use {'qpkorr/vim-renamer'} -- additional quote/parantheses funtions - use 'tpope/vim-surround' + use {'tpope/vim-surround'} -- colorscheme - use 'tiyn/vim-tccs' + use {'tiyn/vim-tccs'} + + -- package manager sync (last entry) + if packer_bootstrap then + require('packer').sync() + end end) diff --git a/.config/nvim/plugin/nvim-autopairs.lua b/.config/nvim/plugin/nvim-autopairs.lua new file mode 100644 index 0000000..ba62d44 --- /dev/null +++ b/.config/nvim/plugin/nvim-autopairs.lua @@ -0,0 +1 @@ +require("nvim-autopairs").setup {} diff --git a/.config/nvim/plugin/nvim-cmp.lua b/.config/nvim/plugin/nvim-cmp.lua index a493bb6..e6e8b0a 100644 --- a/.config/nvim/plugin/nvim-cmp.lua +++ b/.config/nvim/plugin/nvim-cmp.lua @@ -1,4 +1,26 @@ -- hrsh7th/nvim-cmp + +-- mason package manager +require("mason").setup() +require("mason-lspconfig").setup({ + -- automatically install language servers setup below for lspconfig + automatic_setup = true, +}) + +-- jose-elias-alvarez/null-ls.nvim +local null_ls = require("null-ls") + +null_ls.setup({ + sources = { + null_ls.builtins.formatting.autopep8, + null_ls.builtins.formatting.nimpretty, + }, +}) + +require("mason-null-ls").setup({ + automatic_installation = true +}) + -- Add additional capabilities supported by nvim-cmp capabilities = require("cmp_nvim_lsp").default_capabilities() @@ -94,7 +116,7 @@ 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" } +local servers = { "pyright", "bashls", "texlab", "ccls", "nimls", "marksman" } for _, lsp in ipairs(servers) do nvim_lsp[lsp].setup { on_attach=on_attach, diff --git a/.config/nvim/plugin/nvim-treesitter.lua b/.config/nvim/plugin/nvim-treesitter.lua new file mode 100644 index 0000000..e16154a --- /dev/null +++ b/.config/nvim/plugin/nvim-treesitter.lua @@ -0,0 +1,19 @@ +-- nvim-treesitter/nvim-treesitter + +local ts_config = require "nvim-treesitter.configs" + +ts_config.setup { + ensure_installed = { + "bash", + "c", + "cpp", + "css", + "html", + "java", + "markdown", + "latex", + "python", + }, + + autotag = { enable = true }, +} From c28479a0907761035d762b690c344cf4a6167113 Mon Sep 17 00:00:00 2001 From: tiyn Date: Wed, 5 Apr 2023 01:45:27 +0200 Subject: [PATCH 3/4] sxhkd: new hotkeys for media players --- .config/sxhkd/sxhkdrc | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/.config/sxhkd/sxhkdrc b/.config/sxhkd/sxhkdrc index 1a32cce..a198687 100644 --- a/.config/sxhkd/sxhkdrc +++ b/.config/sxhkd/sxhkdrc @@ -1,23 +1,37 @@ -super + Return - $TERMINAL -super + b - $BROWSER -super + f - $TERMINAL -e $FILE +super + u + record_start super + i record_stop -super + m - thunderbird super + o record_replay_start super + p record_replay_save -super + u - record_start -super + shift + x - pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config' + +super + a + playerctl previous +super + s + playerctl play-pause +super + d + playerctl next +super + f + $TERMINAL -e $FILE + +super + b + $BROWSER +super + m + thunderbird + super + shift + r dmenu_run -c -l 20 + +super + shift + x + pkill -usr1 -x sxhkd; notify-send 'sxhkd' 'Reloaded config' + +super + Return + $TERMINAL +super + Print + maimpick + super + F5 togglemonitor super + F6 @@ -34,8 +48,6 @@ super + F11 prompt "Shutdown computer?" "sudo -A shutdown -h now" super + F12 prompt "Reboot computer?" "sudo -A reboot now" -super + Print - maimpick XF86AudioMute lmc m && pkill -RTMIN+4 $STATUSBAR From 9e5da42a0e5ef69b5d38643efbad47171194462c Mon Sep 17 00:00:00 2001 From: tiyn Date: Wed, 5 Apr 2023 01:48:55 +0200 Subject: [PATCH 4/4] nvim: changed file structure more intuitively --- .config/easyeffects/input/voice.json | 4 ++-- .config/nvim/init.lua | 21 ++++++++++++------- .../nvim/lua/{filetype.lua => autocmd.lua} | 18 ++++++---------- .local/bin/tools/record_replay_start | 2 +- 4 files changed, 23 insertions(+), 22 deletions(-) rename .config/nvim/lua/{filetype.lua => autocmd.lua} (87%) diff --git a/.config/easyeffects/input/voice.json b/.config/easyeffects/input/voice.json index 6426793..022754a 100644 --- a/.config/easyeffects/input/voice.json +++ b/.config/easyeffects/input/voice.json @@ -110,7 +110,7 @@ "clipping-range": 6.0, "fft": "4096", "input-gain": 0.0, - "output-gain": -20.0, + "output-gain": 15.0, "std": "ISO226-2003", "volume": -6.499999999999993 }, @@ -119,7 +119,7 @@ "deesser#0", "filter#0", "gate#0", - "rnnoise", + "rnnoise#0", "limiter#0", "loudness#0" ], diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 3a249f8..499d695 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -51,24 +51,31 @@ vim.o.signcolumn = "yes" 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' +-- read files correctly +vim.filetype.add({ +extension = { + h = 'c', + html = 'html', + java = 'java', + md = 'markdown', + nim = 'nim', + py = 'python', + tex = 'tex', +}}) + -- load plugins (autoload all files in plugin folder) require('loadplugins') -- load filetype specific mappings and commands -require('filetype') +require('autocmd') -- load general mapped keys require('keymap') -- load general colorscheme require('colorscheme') + diff --git a/.config/nvim/lua/filetype.lua b/.config/nvim/lua/autocmd.lua similarity index 87% rename from .config/nvim/lua/filetype.lua rename to .config/nvim/lua/autocmd.lua index 19110fe..954e3ba 100644 --- a/.config/nvim/lua/filetype.lua +++ b/.config/nvim/lua/autocmd.lua @@ -1,16 +1,10 @@ --- filetype +-- autocmd --- read files correctly -vim.filetype.add({ -extension = { - h = 'c', - html = 'html', - java = 'java', - md = 'markdown', - nim = 'nim', - py = 'python', - tex = 'tex', -}}) +-- delete trailing whitespaces on save +vim.api.nvim_create_autocmd({'BufWritePre'}, +{pattern = {'*'}, +command = [[%s/\s\+$//e]], +}) -- formatting options vim.api.nvim_create_autocmd({'FileType'}, diff --git a/.local/bin/tools/record_replay_start b/.local/bin/tools/record_replay_start index 00d825a..02f9d29 100755 --- a/.local/bin/tools/record_replay_start +++ b/.local/bin/tools/record_replay_start @@ -1,7 +1,7 @@ #!/bin/sh window=$(xdotool getwindowfocus) -fps=30 +fps=60 audio="$(pactl get-default-sink).monitor" format="mp4" lenght=20