dot_profile: added
this means we can disable expensive features on weak devices
This commit is contained in:
parent
58cad94a41
commit
8fa79a5029
20
src/.config/dot_profile.example
Normal file
20
src/.config/dot_profile.example
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Profile that enables/disables certain features based on the device
|
||||||
|
# Everything might need to be restarted for this to take effect.
|
||||||
|
|
||||||
|
## ----------
|
||||||
|
## IMPORTANT!
|
||||||
|
## ----------
|
||||||
|
## Copy this to '~/.config/dot_profile'.
|
||||||
|
|
||||||
|
# Profiles
|
||||||
|
# --------
|
||||||
|
# DEFAULT:
|
||||||
|
# Everything's enabled. Nvim auto-installs plugins on launch.
|
||||||
|
# SLIM:
|
||||||
|
# Try to reduce bloat; turn off expensive plugins and eye-candy.
|
||||||
|
# Run :PlugInstall in Nvim to install plugins.
|
||||||
|
# MINIMAL:
|
||||||
|
# Nothing is launched automatically, and no plugins are installed.
|
||||||
|
|
||||||
|
export SYSTEM_PROFILE="DEFAULT"
|
@ -112,54 +112,65 @@ nnoremap <C-k> <C-w>W
|
|||||||
" exit all (akin to ZZ, ZQ)
|
" exit all (akin to ZZ, ZQ)
|
||||||
nnoremap <silent> ZF :qa<cr>
|
nnoremap <silent> ZF :qa<cr>
|
||||||
|
|
||||||
|
" copy URL under cursor to clipboard bind
|
||||||
|
:nnoremap <silent><leader>uu :let @+ = expand('<cfile>')<CR>
|
||||||
|
|
||||||
" Plugins
|
" Plugins
|
||||||
|
|
||||||
" Run PlugInstall if there are missing plugins
|
" Run PlugInstall if there are missing plugins
|
||||||
" (disabled because it's kind of intense for weak devices)
|
if $SYSTEM_PROFILE == "DEFAULT"
|
||||||
"autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
||||||
"\| PlugInstall --sync | source $MYVIMRC
|
\| PlugInstall --sync | source $MYVIMRC
|
||||||
"\| endif
|
\| endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
" The rest will not be sourced if the system is on minimal settings.
|
||||||
|
if $SYSTEM_PROFILE == "MINIMAL"
|
||||||
|
finish
|
||||||
|
endif
|
||||||
|
|
||||||
call plug#begin()
|
call plug#begin()
|
||||||
|
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
|
|
||||||
Plug 'lervag/vimtex'
|
if $SYSTEM_PROFILE == "DEFAULT"
|
||||||
let g:vimtex_view_method = 'zathura'
|
Plug 'lervag/vimtex'
|
||||||
let g:vimtex_compiler_method = 'latexmk'
|
let g:vimtex_view_method = 'zathura'
|
||||||
set conceallevel=0
|
let g:vimtex_compiler_method = 'latexmk'
|
||||||
let g:tex_conceal='abdmg'
|
set conceallevel=0
|
||||||
let g:vimtex_view_forward_search_on_start=1
|
let g:tex_conceal='abdmg'
|
||||||
let g:vimtex_compiler_latexmk = {
|
let g:vimtex_view_forward_search_on_start=1
|
||||||
\ 'build_dir' : $HOME.'/.cache/latexmk/',
|
let g:vimtex_compiler_latexmk = {
|
||||||
\ 'callback' : 1,
|
\ 'build_dir' : $HOME.'/.cache/latexmk/',
|
||||||
\ 'continuous' : 1,
|
\ 'callback' : 1,
|
||||||
\ 'executable' : 'latexmk',
|
\ 'continuous' : 1,
|
||||||
\ 'hooks' : [],
|
\ 'executable' : 'latexmk',
|
||||||
\ 'options' : [
|
\ 'hooks' : [],
|
||||||
\ '-verbose',
|
\ 'options' : [
|
||||||
\ '-file-line-error',
|
\ '-verbose',
|
||||||
\ '-synctex=1',
|
\ '-file-line-error',
|
||||||
\ '-interaction=nonstopmode',
|
\ '-synctex=1',
|
||||||
\ ],
|
\ '-interaction=nonstopmode',
|
||||||
\}
|
\ ],
|
||||||
|
\}
|
||||||
|
|
||||||
" spellcheck
|
" spellcheck
|
||||||
au BufEnter *.tex set spell spelllang=en_ca
|
au BufEnter *.tex set spell spelllang=en_ca
|
||||||
|
|
||||||
" Autowrite in tex files
|
" Autowrite in tex files
|
||||||
" au TextChanged,TextChangedI *.tex silent write
|
" au TextChanged,TextChangedI *.tex silent write
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
if has('python3')
|
if has('python3') && ($SYSTEM_PROFILE == "DEFAULT" || $SYSTEM_PROFILE == "SLIM")
|
||||||
Plug 'SirVer/ultisnips'
|
Plug 'SirVer/ultisnips'
|
||||||
let g:UltiSnipsExpandTrigger="<c-m>"
|
let g:UltiSnipsExpandTrigger="<c-m>"
|
||||||
let g:UltiSnipsJumpForwardTrigger="<c-m>"
|
let g:UltiSnipsJumpForwardTrigger="<c-m>"
|
||||||
let g:UltiSnipsJumpBackwardTrigger="<c-b>"
|
let g:UltiSnipsJumpBackwardTrigger="<c-b>"
|
||||||
let g:UltiSnipsSnippetDirectories=[$HOME.'/.config/nvim/ultisnips/']
|
let g:UltiSnipsSnippetDirectories=[$HOME.'/.config/nvim/ultisnips/']
|
||||||
|
endif
|
||||||
|
|
||||||
" my devices without python3 probably don't need these
|
if $SYSTEM_PROFILE == "DEFAULT"
|
||||||
Plug 'neovim/nvim-lspconfig'
|
Plug 'neovim/nvim-lspconfig'
|
||||||
Plug 'nvim-lua/lsp-status.nvim'
|
Plug 'nvim-lua/lsp-status.nvim'
|
||||||
|
|
||||||
@ -167,9 +178,13 @@ if has('python3')
|
|||||||
Plug 'hrsh7th/cmp-nvim-lsp'
|
Plug 'hrsh7th/cmp-nvim-lsp'
|
||||||
|
|
||||||
Plug 'stevearc/dressing.nvim'
|
Plug 'stevearc/dressing.nvim'
|
||||||
endif
|
|
||||||
|
|
||||||
Plug 'nvim-treesitter/nvim-treesitter'
|
Plug 'nvim-treesitter/nvim-treesitter'
|
||||||
|
" Code folding
|
||||||
|
set foldmethod=expr
|
||||||
|
set foldexpr=nvim_treesitter#foldexpr()
|
||||||
|
"autocmd BufEnter * normal zR
|
||||||
|
endif
|
||||||
|
|
||||||
Plug 'axieax/urlview.nvim'
|
Plug 'axieax/urlview.nvim'
|
||||||
|
|
||||||
@ -177,13 +192,7 @@ Plug 'ggandor/leap.nvim'
|
|||||||
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
" copy URL under cursor to clipboard bind
|
if $SYSTEM_PROFILE == "DEFAULT"
|
||||||
:nnoremap <silent><leader>uu :let @+ = expand('<cfile>')<CR>
|
" see .config/nvim/lua/init.lua
|
||||||
|
lua require('init')
|
||||||
" see .config/nvim/lua/init.lua
|
endif
|
||||||
lua require('init')
|
|
||||||
|
|
||||||
" Code folding
|
|
||||||
set foldmethod=expr
|
|
||||||
set foldexpr=nvim_treesitter#foldexpr()
|
|
||||||
"autocmd BufEnter * normal zR
|
|
||||||
|
@ -24,28 +24,26 @@ require("urlview").setup({
|
|||||||
},
|
},
|
||||||
})
|
})
|
||||||
|
|
||||||
local nvim_lsp = require('lspconfig')
|
|
||||||
|
|
||||||
local on_attach = function(client, bufnr)
|
local on_attach = function(client, bufnr)
|
||||||
local function buf_set_keymap(...) vim.api.nvim_buf_set_keymap(bufnr, ...) end
|
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 function buf_set_option(...) vim.api.nvim_buf_set_option(bufnr, ...) end
|
||||||
-- Enable completion triggered by <c-x><c-o>
|
-- Enable completion triggered by <c-x><c-o>
|
||||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||||
|
|
||||||
local opts = { noremap=true, silent=true }
|
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.declaration()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
buf_set_keymap('n', 'gd', '<cmd>lua vim.lsp.buf.definition()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gK', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
buf_set_keymap('n', 'gK', '<cmd>lua vim.lsp.buf.hover()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
buf_set_keymap('n', 'gi', '<cmd>lua vim.lsp.buf.implementation()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
buf_set_keymap('n', 'gs', '<cmd>lua vim.lsp.buf.signature_help()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gt', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
buf_set_keymap('n', 'gt', '<cmd>lua vim.lsp.buf.type_definition()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
buf_set_keymap('n', '<space>rn', '<cmd>lua vim.lsp.buf.rename()<CR>', opts)
|
||||||
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
buf_set_keymap('n', 'gr', '<cmd>lua vim.lsp.buf.references()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
buf_set_keymap('n', '<space>e', '<cmd>lua vim.lsp.diagnostic.show_line_diagnostics()<CR>', opts)
|
||||||
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
buf_set_keymap('n', '[d', '<cmd>lua vim.lsp.diagnostic.goto_prev()<CR>', opts)
|
||||||
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
buf_set_keymap('n', ']d', '<cmd>lua vim.lsp.diagnostic.goto_next()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
buf_set_keymap('n', '<space>ca', '<cmd>lua vim.lsp.buf.code_action()<CR>', opts)
|
||||||
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.format()<CR>', opts)
|
buf_set_keymap('n', '<space>f', '<cmd>lua vim.lsp.buf.format()<CR>', opts)
|
||||||
end
|
end
|
||||||
|
|
||||||
-- settings per server (overrides defaults)
|
-- settings per server (overrides defaults)
|
||||||
@ -68,6 +66,8 @@ local servers = {
|
|||||||
},
|
},
|
||||||
clangd = {}
|
clangd = {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
local nvim_lsp = require('lspconfig')
|
||||||
for lsp, sv_settings in pairs(servers) do
|
for lsp, sv_settings in pairs(servers) do
|
||||||
-- defaults
|
-- defaults
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -61,4 +61,11 @@ if [ -r "$XDG_CONFIG_HOME"/identity ]; then
|
|||||||
source "$XDG_CONFIG_HOME"/identity
|
source "$XDG_CONFIG_HOME"/identity
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Profile to enable/disable features on certain devices
|
||||||
|
if [ ! -f "$XDG_CONFIG_HOME"/dot_profile ]; then
|
||||||
|
export SYSTEM_PROFILE="DEFAULT"
|
||||||
|
else
|
||||||
|
source "$XDG_CONFIG_HOME"/dot_profile
|
||||||
|
fi
|
||||||
|
|
||||||
source .config/bashrc
|
source .config/bashrc
|
||||||
|
Loading…
Reference in New Issue
Block a user