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)
|
||||
nnoremap <silent> ZF :qa<cr>
|
||||
|
||||
" copy URL under cursor to clipboard bind
|
||||
:nnoremap <silent><leader>uu :let @+ = expand('<cfile>')<CR>
|
||||
|
||||
" Plugins
|
||||
|
||||
" Run PlugInstall if there are missing plugins
|
||||
" (disabled because it's kind of intense for weak devices)
|
||||
"autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
||||
"\| PlugInstall --sync | source $MYVIMRC
|
||||
"\| endif
|
||||
if $SYSTEM_PROFILE == "DEFAULT"
|
||||
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
||||
\| PlugInstall --sync | source $MYVIMRC
|
||||
\| endif
|
||||
endif
|
||||
|
||||
" The rest will not be sourced if the system is on minimal settings.
|
||||
if $SYSTEM_PROFILE == "MINIMAL"
|
||||
finish
|
||||
endif
|
||||
|
||||
call plug#begin()
|
||||
|
||||
filetype plugin indent on
|
||||
|
||||
Plug 'lervag/vimtex'
|
||||
let g:vimtex_view_method = 'zathura'
|
||||
let g:vimtex_compiler_method = 'latexmk'
|
||||
set conceallevel=0
|
||||
let g:tex_conceal='abdmg'
|
||||
let g:vimtex_view_forward_search_on_start=1
|
||||
let g:vimtex_compiler_latexmk = {
|
||||
\ 'build_dir' : $HOME.'/.cache/latexmk/',
|
||||
\ 'callback' : 1,
|
||||
\ 'continuous' : 1,
|
||||
\ 'executable' : 'latexmk',
|
||||
\ 'hooks' : [],
|
||||
\ 'options' : [
|
||||
\ '-verbose',
|
||||
\ '-file-line-error',
|
||||
\ '-synctex=1',
|
||||
\ '-interaction=nonstopmode',
|
||||
\ ],
|
||||
\}
|
||||
if $SYSTEM_PROFILE == "DEFAULT"
|
||||
Plug 'lervag/vimtex'
|
||||
let g:vimtex_view_method = 'zathura'
|
||||
let g:vimtex_compiler_method = 'latexmk'
|
||||
set conceallevel=0
|
||||
let g:tex_conceal='abdmg'
|
||||
let g:vimtex_view_forward_search_on_start=1
|
||||
let g:vimtex_compiler_latexmk = {
|
||||
\ 'build_dir' : $HOME.'/.cache/latexmk/',
|
||||
\ 'callback' : 1,
|
||||
\ 'continuous' : 1,
|
||||
\ 'executable' : 'latexmk',
|
||||
\ 'hooks' : [],
|
||||
\ 'options' : [
|
||||
\ '-verbose',
|
||||
\ '-file-line-error',
|
||||
\ '-synctex=1',
|
||||
\ '-interaction=nonstopmode',
|
||||
\ ],
|
||||
\}
|
||||
|
||||
" spellcheck
|
||||
au BufEnter *.tex set spell spelllang=en_ca
|
||||
" spellcheck
|
||||
au BufEnter *.tex set spell spelllang=en_ca
|
||||
|
||||
" Autowrite in tex files
|
||||
" au TextChanged,TextChangedI *.tex silent write
|
||||
" Autowrite in tex files
|
||||
" au TextChanged,TextChangedI *.tex silent write
|
||||
endif
|
||||
|
||||
|
||||
if has('python3')
|
||||
if has('python3') && ($SYSTEM_PROFILE == "DEFAULT" || $SYSTEM_PROFILE == "SLIM")
|
||||
Plug 'SirVer/ultisnips'
|
||||
let g:UltiSnipsExpandTrigger="<c-m>"
|
||||
let g:UltiSnipsJumpForwardTrigger="<c-m>"
|
||||
let g:UltiSnipsJumpBackwardTrigger="<c-b>"
|
||||
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 'nvim-lua/lsp-status.nvim'
|
||||
|
||||
@ -167,9 +178,13 @@ if has('python3')
|
||||
Plug 'hrsh7th/cmp-nvim-lsp'
|
||||
|
||||
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'
|
||||
|
||||
@ -177,13 +192,7 @@ Plug 'ggandor/leap.nvim'
|
||||
|
||||
call plug#end()
|
||||
|
||||
" copy URL under cursor to clipboard bind
|
||||
:nnoremap <silent><leader>uu :let @+ = expand('<cfile>')<CR>
|
||||
|
||||
" see .config/nvim/lua/init.lua
|
||||
lua require('init')
|
||||
|
||||
" Code folding
|
||||
set foldmethod=expr
|
||||
set foldexpr=nvim_treesitter#foldexpr()
|
||||
"autocmd BufEnter * normal zR
|
||||
if $SYSTEM_PROFILE == "DEFAULT"
|
||||
" see .config/nvim/lua/init.lua
|
||||
lua require('init')
|
||||
endif
|
||||
|
@ -24,28 +24,26 @@ require("urlview").setup({
|
||||
},
|
||||
})
|
||||
|
||||
local nvim_lsp = require('lspconfig')
|
||||
|
||||
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
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
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
|
||||
-- Enable completion triggered by <c-x><c-o>
|
||||
buf_set_option('omnifunc', 'v:lua.vim.lsp.omnifunc')
|
||||
|
||||
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', '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', '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', '<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', '<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_next()<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)
|
||||
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', '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', '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', '<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', '<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_next()<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)
|
||||
end
|
||||
|
||||
-- settings per server (overrides defaults)
|
||||
@ -68,6 +66,8 @@ local servers = {
|
||||
},
|
||||
clangd = {}
|
||||
}
|
||||
|
||||
local nvim_lsp = require('lspconfig')
|
||||
for lsp, sv_settings in pairs(servers) do
|
||||
-- defaults
|
||||
settings = {
|
||||
|
@ -61,4 +61,11 @@ if [ -r "$XDG_CONFIG_HOME"/identity ]; then
|
||||
source "$XDG_CONFIG_HOME"/identity
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user