diff --git a/.chezmoi.toml.tmpl b/.chezmoi.toml.tmpl new file mode 100644 index 0000000..c5d0bb9 --- /dev/null +++ b/.chezmoi.toml.tmpl @@ -0,0 +1,2 @@ +[diff] +reverse = true diff --git a/.chezmoiexternal.toml b/.chezmoiexternal.toml new file mode 100644 index 0000000..6df5d05 --- /dev/null +++ b/.chezmoiexternal.toml @@ -0,0 +1,4 @@ +[".tmux/plugins/tpm"] + type = "git-repo" + url = "https://github.com/tmux-plugins/tpm" + refreshPeriod = "168h" diff --git a/.config/nvim b/.config/nvim deleted file mode 120000 index 815cbcc..0000000 --- a/.config/nvim +++ /dev/null @@ -1 +0,0 @@ -../.vim \ No newline at end of file diff --git a/.config/systemd/user/default.target.wants/ssh-agent.service b/.config/systemd/user/default.target.wants/ssh-agent.service deleted file mode 120000 index 8c9a931..0000000 --- a/.config/systemd/user/default.target.wants/ssh-agent.service +++ /dev/null @@ -1 +0,0 @@ -/home/barak/.config/systemd/user/ssh-agent.service \ No newline at end of file diff --git a/.fonts.conf b/.fonts.conf deleted file mode 120000 index 20d11f6..0000000 --- a/.fonts.conf +++ /dev/null @@ -1 +0,0 @@ -/home/barak/.config/fontconfig/fonts.conf \ No newline at end of file diff --git a/.local/share/fonts b/.local/share/fonts deleted file mode 120000 index fe8ce3a..0000000 --- a/.local/share/fonts +++ /dev/null @@ -1 +0,0 @@ -/home/barak/.fonts \ No newline at end of file diff --git a/.nvim b/.nvim deleted file mode 120000 index 8355b52..0000000 --- a/.nvim +++ /dev/null @@ -1 +0,0 @@ -.vim \ No newline at end of file diff --git a/.nvimrc b/.nvimrc deleted file mode 120000 index 1490f7a..0000000 --- a/.nvimrc +++ /dev/null @@ -1 +0,0 @@ -.vimrc \ No newline at end of file diff --git a/.vim/lua/lualine_setup.lua b/.vim/lua/lualine_setup.lua deleted file mode 100644 index b99cd3e..0000000 --- a/.vim/lua/lualine_setup.lua +++ /dev/null @@ -1,28 +0,0 @@ -require('lsp-progress').setup({ - -}) - -local config = { - sections = { - lualine_c = { - 'filename', - function() - return require('lsp-progress').progress() - end, - }, - lualine_x = { - 'filetype', - } - } -} - ---local function ins_left(component) ---table.insert(config.sections.lualine_c, component) ---end - ---ins_left({ ---'lsp_progress', ---display_components = { 'lsp_client_name', { 'percentage' } } ---}) - -require('lualine').setup(config) diff --git a/.vimrc b/.vimrc deleted file mode 100644 index 3ba9369..0000000 --- a/.vimrc +++ /dev/null @@ -1,1116 +0,0 @@ -" ___ _ _ _ -" | _ ) __ _ _ _ __ _| |_( )___ __ _(_)_ __ _ _ __ -" | _ \/ _` | '_/ _` | / //(_-< \ V / | ' \| '_/ _| -" |___/\__,_|_| \__,_|_\_\ /__/ (_)_/|_|_|_|_|_| \__| -" -" -" ** BASIC EDITOR SETTINGS ** -" -" First, we are vim, not vi, so start as many others do with -set nocompatible - -" Allow background buffers. Super important for various tab modes. -set hidden - -" Set default spacing. -" Hard tabs should show as 8. -set ts=8 -" Soft tabs should be 2 wide, and we should use spaces. -" (This is the Googler in me. I've converted to spaces over -" the years because it really is more consistent.) -set softtabstop=2 -set shiftwidth=2 -set expandtab -" I like comma instead of slash, but that probably comes from playing -" Nethack and Angband -let mapleader = "," -let maplocalleader = "\\" - -" Set 'smart' things in Vim -" Search case insensitive, unless it contains Uppercase letters -set smartcase -" Use all the indent features -set autoindent -set smartindent -set cindent -" Make backspace remove indents and line breaks, like a normal editor -set backspace=indent,eol,start - -" Keep a bigger history -set history=1000 -" Allow tab completion for files in command mode. -set wildmenu -set wildmode=list:longest -" Show where you are in the file in the statusbar. -set ruler - -" I hate split above, so make it split below. Likewise, to the right. -set splitbelow -" For autocomplete, follow requirements for nvim-compe -set completeopt=menuone,noselect -set signcolumn=yes -set shortmess+=c - -set diffopt+=vertical -" Some stuff for 256-Color consoles that I've forgotten. -set t_Co=256 -set t_Sf=ESC[3%dm -set t_Sb=ESC[4%dm -set t_ut= -"set t_SH= -"set t_kb= - -" This is like HiglightTooLongLines below, but for modern vim. The problem is -" that it highlights the column, even if your short. Good for measuring, bad for -" my eyes. -"if v:version >= 703 - "set relativenumber - "set colorcolumn=81 -"endif -" ** PATH SETTINGS ** - -let g:loaded_python_provider = 0 -let $RUST_SRC_PATH="/usr/src/rust/src/" - -"let g:ft_ignore_pat = '.org' -" - -if exists('veonim') - let g:vscode_extensions = [ - \'ms-python.python', - \'ms-vscode.go', - \] - set guifont=Droid\ Sans\ Mono\ Dotted:h20 -" set linespace=10 -endif - -if exists('g:neovide') - let g:neovide_floating_blur_amount_x = 2.0 - let g:neovide_floating_blur_amount_y = 2.0 - let g:neovide_transparency = 0.95 - let g:neovide_scroll_animation_length = 0.1 - let g:neovide_cursor_animation_length = 0.05 - let g:neovide_cursor_trail_size = 0.5 -endif - - -" * Polyglot - -let g:tex_flavor = 'latex' -let g:polyglot_disabled = ['latex'] -let g:powerline_loaded = 1 - - -" Required: -set runtimepath+=$HOME/.vim/bundle/repos/github.com/Shougo/dein.vim - -" Required: -call plug#begin($HOME . '/.vim/bundle') - -" Plugins that must be first -Plug $HOME . '/.vim/bundle/repos/github.com/Shougo/dein.vim' -Plug 'let-def/vimbufsync' -Plug 'lambdalisue/suda.vim' -Plug 'skywind3000/asyncrun.vim' -Plug 'barakmich/vim-code-dark' - -" Plugins that I almost never use -"Plug 'vim-scripts/DrawIt' -"Plug 'vim-scripts/EasyGrep' -Plug 'chrisbra/NrrwRgn' -"Plug 'mattn/calendar-vim' -"Plug 'rstacruz/sparkup' -"Plug 'tristen/vim-sparkup' -"Plug 'tpope/vim-fireplace', {'for': 'clojure'} -""Plug 'terryma/vim-multiple-cursors' -"Plug 'ambv/black' -Plug 'kana/vim-textobj-user' - - -" Plugins I wish I used more -"Plug 'hsitz/VimOrganizer' -Plug 'jceb/vim-orgmode' -Plug 'tpope/vim-speeddating' - -Plug 'tpope/vim-fugitive' -Plug 'tpope/vim-unimpaired' -Plug 'b4winckler/vim-angry' -Plug 'tpope/vim-surround' -Plug 'junegunn/vim-easy-align' -Plug 'bps/vim-textobj-python' - -" Plugins I NEED -Plug 'scrooloose/nerdcommenter' -Plug 'sjbach/lusty' -"Plug 'w0rp/ale' -"Plug 'airblade/vim-gitgutter' -Plug 'mhinz/vim-signify' -"Plug 'vim-airline/vim-airline' -"Plug 'vim-airline/vim-airline-themes' -Plug 'nvim-lualine/lualine.nvim' -Plug 'linrongbin16/lsp-progress.nvim' -"Plug 'junegunn/fzf', { 'do': { -> fzf#install() } } -"Plug 'junegunn/fzf.vim' -Plug 'airblade/vim-rooter' -"Plug 'bling/vim-bufferline' -Plug 'majutsushi/tagbar' -"Plug 'SirVer/ultisnips' -Plug 'dcampos/nvim-snippy' -Plug 'rafamadriz/friendly-snippets' - -Plug 'honza/vim-snippets' -"Plug 'fatih/vim-go' -Plug 'tpope/vim-abolish' -"Plug 'sheerun/vim-polyglot' -Plug 'Shougo/denite.nvim' -"Plug 'plytophogy/vim-virtualenv' -"Plug 'ervandew/supertab' -"Plug 'ncm2/ncm2' -"Plug 'roxma/nvim-yarp' - - -" Plugins I NEEDED -"Plug 'scrooloose/nerdtree' -"Plug 'scrooloose/syntastic' -"Plug 'Valloric/YouCompleteMe' -"Plug 'vim-scripts/fish-syntax' -"Plug 'kchmck/vim-coffee-script' -"Plug 'rodjek/vim-puppet' -"Plug 'JuliaLang/julia-vim' -"Plug 'rust-lang/rust.vim' -"Plug 'hashivim/vim-terraform' -"Plug 'HerringtonDarkholme/yats.vim' -"Plug 'kien/ctrlp.vim' -"Plug 'farseer90718/vim-taskwarrior' -"Plug 't-yuki/vim-go-coverlay' - -" Plugins for syntax -Plug 'lunaru/vim-less' -Plug 'hylang/vim-hy', {'for': 'hy'} -Plug 'jneen/ragel.vim' -Plug 'NoahTheDuke/vim-just' -"Plug 'mhartington/nvim-typescript' -"Plug 'leafgarland/typescript-vim' -Plug 'leafOfTree/vim-svelte-plugin' -"Plug 'posva/vim-vue' -Plug 'Shougo/context_filetype.vim' -"Plug 'idris-hackers/idris-vim', {'for': 'idris'} -Plug 'fedorenchik/AnsiEsc' -Plug 'hwayne/tla.vim' -Plug 'zchee/vim-goasm' -Plug 'cappyzawa/starlark.vim' - -" Plugins that autocomplete -"Plug 'Shougo/deoplete.nvim' -"Plug 'zchee/deoplete-clang' -"Plug 'zchee/deoplete-go', {'build': {'unix': 'make'}} -"Plug 'zchee/deoplete-jedi' -"Plug 'davidhalter/jedi-vim' -"Plug 'eagletmt/neco-ghc', {'for': 'haskell'} -"Plug 'eagletmt/ghcmod-vim', {'for': 'haskell'} -"Plug 'racer-rust/vim-racer', {'for': 'rust'} -"Plug 'autozimu/LanguageClient-neovim', { - "\ 'branch': 'next', - "\ 'do': 'bash install.sh', - "\ } -"Plug 'ensime/ensime-vim', { 'do': ':UpdateRemotePlugins' } -"Plug 'neoclide/coc.nvim', {'branch': 'release'} -"Plug 'romainl/vim-qf' -Plug 'neovim/nvim-lspconfig' -Plug 'nvim-lua/lsp_extensions.nvim' -Plug 'hrsh7th/nvim-compe' -"Plug 'nvim-lua/completion-nvim' -Plug 'onsails/lspkind-nvim' - -Plug 'nvim-lua/popup.nvim' -Plug 'nvim-lua/plenary.nvim' -Plug 'nvim-telescope/telescope.nvim' -Plug 'sindrets/diffview.nvim' - -Plug 'kyazdani42/nvim-web-devicons' " for file icons -"Plug 'kyazdani42/nvim-tree.lua' - -Plug 'ray-x/lsp_signature.nvim' -Plug 'ray-x/go.nvim' - -Plug 'RishabhRD/popfix' -Plug 'RishabhRD/nvim-lsputils' -Plug 'stevanmilic/nvim-lspimport' -Plug 'folke/trouble.nvim' -Plug 'creativenull/efmls-configs-nvim', { 'tag': 'v1.*' } - -" Plugins that do specific things -"Plug 'Shougo/vimproc.vim' -"Plug 'Shougo/vimfiler.vim' - -Plug 'tamago324/lir.nvim' - -Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} -Plug 'nvim-treesitter/playground' -Plug 'nvim-treesitter/nvim-treesitter-textobjects' - - -"Plug 'ggandor/lightspeed.nvim' -"Plug 'justinmk/vim-sneak' -Plug 'ggandor/leap.nvim' -Plug 'ggandor/flit.nvim' -Plug 'simrat39/rust-tools.nvim' - -Plug 'Shougo/unite.vim' -" TODO: Look into Coqtail, same author -Plug 'whonore/coquille', {'branch': 'pathogen-bundle', 'for': 'coq'} -"Plug 'dhruvasagar/vim-zoom' -Plug 'gabrielelana/vim-markdown' -Plug 'lervag/vimtex' -Plug 'Shougo/echodoc.vim' -"Plug 'python-rope/ropevim' -Plug 'windwp/nvim-autopairs' -Plug 'danymat/neogen' - -" Unclear -"Plug 'ncm2/float-preview.nvim' -Plug 'lambdalisue/gina.vim' -Plug 'edolphin-ydf/goimpl.nvim' - -call plug#end() - -filetype plugin indent on -syntax enable - -" enable ncm2 for all buffers -"autocmd BufEnter * call ncm2#enable_for_buffer() - - -" **** Configure LSP - -luafile $HOME/.vim/nvim.lua - - -" Code navigation shortcuts -nnoremap gd lua vim.lsp.buf.definition() -nnoremap gi lua vim.lsp.buf.implementation() -nnoremap gy lua vim.lsp.buf.type_definition() -nnoremap K lua vim.lsp.buf.hover() -nnoremap gs lua vim.lsp.buf.signature_help() -nnoremap gR lua vim.lsp.buf.rename() -"nnoremap gr lua vim.lsp.buf.references() -nnoremap gr lua require('telescope.builtin').lsp_references({initial_mode = "normal"}) -nnoremap g0 lua vim.lsp.buf.document_symbol() -nnoremap gW lua vim.lsp.buf.workspace_symbol() -"nnoremap gd lua vim.lsp.buf.declaration() -nnoremap ga lua vim.lsp.buf.code_action() -"nnoremap ga lua require('telescope.builtin').lsp_code_actions({initial_mode = "normal"}) -vnoremap ga lua vim.lsp.buf.code_action() -"vnoremap ga :lua require('telescope.builtin').lsp_range_code_actions({initial_mode = "normal"}) -"nnoremap ge lua vim.lsp.diagnostic.show_line_diagnostics({show_header = false, focusable = false}) -"nnoremap ge lua vim.diagnostic.open_float({focusable = false}) - -nnoremap xx TroubleToggle -nnoremap xq lua vim.diagnostic.setqflist() -"nnoremap nc lua neogen_dwim() -nnoremap nc lua require('neogen').generate({ type = 'any' }) -nnoremap gm lua require('lspimport').import() - - -" Set updatetime for CursorHold -" 300ms of no cursor movement to trigger CursorHold -set updatetime=500 -" Show diagnostic popup on cursor hold -autocmd CursorHold * lua vim.diagnostic.open_float({focusable = false}) - -" Autoformat on save -autocmd BufWritePre *.lua lua vim.lsp.buf.format({ async = false }) -autocmd BufWritePre *.py lua vim.lsp.buf.format({ async = false }) -autocmd BufWritePre *.rs lua vim.lsp.buf.format({ async = false }) -autocmd BufWritePre *.go lua vim.lsp.buf.format({ async = false }) -autocmd BufWritePre *.go silent! lua org_imports(3000) -autocmd BufWritePre *.ts lua vim.lsp.buf.format({ async = false }) - -" Goto previous/next diagnostic warning/error -nnoremap g[ lua vim.diagnostic.goto_prev() -nnoremap g] lua vim.diagnostic.goto_next() - -let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy'] -let g:completion_matching_smart_case = 1 -let g:completion_sorting = 'length' - -inoremap compe#confirm('') -inoremap compe#close('') -inoremap compe#scroll({ 'delta': +4 }) -inoremap compe#scroll({ 'delta': -4 }) - - -" **** End LSP - - - -"let g:qf_auto_open_quickfix = 1 -"let g:qf_auto_open_loclist = 0 - -"nmap (qf_qf_previous) -"nmap (qf_qf_next) -"nmap ge (qf_qf_toggle) - -"" Sources -"source ~/.vim/supertab.vim -"source ~/.vim/charm.vim -"source ~/.vim/plugin/AppleT.vim -runtime macros/matchit.vim - -" Completion features (TODO: Add to filetype.vim) -autocmd FileType ruby,eruby set omnifunc=rubycomplete#Complete -autocmd FileType python set tags+=$HOME/.vim/tags/python.ctags -"autocmd FileType python set omnifunc=pythoncomplete#Complete -"autocmd FileType python call SuperTabSetCompletionType("") - -" Set filetype for VimOrganizer -"au! BufRead,BufWrite,BufWritePost,BufNewFile *.org -"au BufEnter *.org call org#SetOrgFileType() - -command! OrgCapture :call org#CaptureBuffer() -command! OrgCaptureFile :call org#OpenCaptureFile() - -" Cull trailing whitespace for all files. -autocmd BufWritePre * :call AutoTrimWhitespace() - -" Set syntax and highlighting -syntax on -" baraknew is my own colorscheme. I used to use slate or dante. -"colorscheme baraknew -"let g:codedark_conservative = 1 -let g:codedark_null_background=1 -let g:codedark_italics=1 -colorscheme codedark -"colorscheme slate -"colorscheme dante - - -" Turn on the cursorline (highlight on line under cursor) but only for the -" window and buffer you're currently in. A handy trick, I'm trying out as of -" 2013-04-12 but the jury is still out. -" -" 2022-07-24 -- It's essential and I got a laugh reading this 9 years later. -autocmd BufEnter * setlocal cursorline -autocmd WinEnter * setlocal cursorline -autocmd WinLeave * setlocal nocursorline -setlocal cursorline - - -" ** PLUGIN CONFIGURATION ** - -" * SuperTab -let g:SuperTabDefaultCompletionType = "" - -" Change the source rank -"call deoplete#custom#option('sources', { - "\ 'python': ['LanguageClient'], - "\ 'cpp': ['LanguageClient'], - "\}) -"call deoplete#custom#source('buffer', 'rank', 1) -"let g:deoplete#sources#clang#libclang_path = '/usr/lib/llvm-6.0/lib/libclang.so' -"let g:deoplete#sources#clang#clang_header = '/usr/lib/llvm-6.0/lib/clang' -let g:deoplete#enable_at_startup = 1 -"let g:deoplete#sources = {} -"let g:deoplete#sources.scala = ['buffer', 'tags', 'omni'] -"let g:deoplete#omni#input_patterns = {} -"let g:deoplete#omni#input_patterns.scala = ['[^. *\t0-9]\.\w*',': [A-Z]\w', '[\[\t\( ][A-Za-z]\w*'] -" * Vim general/Unknown -let python_highlight_all = 1 -let g:Tb_MaxSize=0 -let g:Tb_MapCTabSwitchBufs = 1 -let g:UseGooglePythonSettings = 0 - -" * sneak.vim -"let g:sneak#label = 1 -"map f Sneak_f -"map F Sneak_F -"map t Sneak_t -"map T Sneak_T - -" * Jedi -let g:jedi#goto_command = "gd" -"let g:jedi#completions_enabled = 0 - -" * Eclim -let g:EclimCompletionMethod = 'omnifunc' - -" * Syntastic -let g:syntastic_python_checkers = ['python', 'pylint'] -let g:syntastic_go_checkers=['go', 'govet', 'govetshadow', 'golintc'] -let g:syntastic_always_populate_loc_list = 1 -let g:syntastic_auto_loc_list = 2 -let g:syntastic_loc_list_height = 10 -" E111 = Spaces should be multiples of 4. I use 2. -" -" * Polyglot -let g:polyglot_disabled = ['latex'] - -" * ALE -let g:airline#extensions#ale#enabled = 1 -let g:ale_set_highlights = 0 - -" * LanguageServer -let g:LanguageClient_serverCommands = { - \ 'python': ['pyls'], - \ 'cpp': ['ccls'], - \ 'go': ['gopls'], - \ } -let g:LanguageClient_diagnosticsDisplay = { - \1: {'name': 'Error', 'texthl': 'ALEError', 'signText': 'E>', 'signTexthl': 'ALEErrorSign',}, - \2: {"name": "Warning", "texthl": "ALEWarning", "signText": "W>", "signTexthl": "ALEWarningSign",}, - \3: {"name": "Information", "texthl": "ALEInfo", "signText": "i-", "signTexthl": "ALEInfoSign",}, - \4: {"name": "Hint", "texthl": "ALEInfo", "signText": "--", "signTexthl": "ALEInfoSign",}, -\} -"nmap gd (lcn-definition) -"nmap K (lcn-hover) -"nmap m (lcn-menu) - -" * Configure browser for haskell_doc.vim -let g:haddock_browser = "open" -let g:haddock_browser_callformat = "%s %s" - -" * Lusty plugins -let g:LustyExplorerSuppressRubyWarning = 1 -let g:LustyJugglerSuppressRubyWarning = 1 -let g:LustyJugglerShowKeys = 'a' - -" * Buftabs -let g:buftabs_only_basename = 1 -"let g:buftabs_in_statusline=1 - -" Bufferline -let g:bufferline_echo = 0 -let g:bufferline_modified = '+' -let g:bufferline_show_bufnr = 1 -let g:bufferline_rotate = 1 - -" * NERDTree -"let g:NERDChristmasTree = 1 -"let g:NERDChristmasTree = 1 -let g:NERDTreeQuitOnOpen = 1 -let g:NERDTreeWinPos = "right" -let g:NERDTreeWinSize = 40 -let g:NERDTreeDirArrows=0 - -let g:NERDTreeMarkBookmarks = 0 -let g:NERDTreeMinimalUI = 1 - -" * Signify -let g:signify_realtime = 1 -let g:signify_vcs_list = ['git'] -let g:signify_sign_change = '~' -let g:signify_sign_changedelete = g:signify_sign_change -let g:signify_sign_show_count = 0 -let g:signify_priority = 5 - -" * Nvim Tree -let g:nvim_tree_add_trailing = 1 -let g:nvim_tree_side = 'right' -let g:nvim_tree_width = 40 -let g:nvim_tree_quit_on_open = 1 -let g:nvim_tree_disable_window_picker = 1 -let g:nvim_tree_root_folder_modifier = ':p:.' - -" * Tagbar plugin settings -let g:tagbar_width = 40 -let g:tagbar_autofocus = 1 -let g:tagbar_autoclose = 1 -let g:tagbar_compact = 1 - -" * Taglist plugin settings (deprecated) -let Tlist_GainFocus_On_ToggleOpen = 1 -let Tlist_Use_Right_Window = 1 -let Tlist_Inc_Winwidth = 0 -let Tlist_File_Fold_Auto_Close = 1 -let Tlist_WinWidth = 40 -let Tlist_Show_One_File = 0 - -" * ConqueTerm -let g:ConqueTerm_CWInsert = 1 -let g:ConqueTerm_InsertOnEnter = 0 -let g:ConqueTerm_SendVisKey = 'ss' - -" * YouCompleteMe -let g:ycm_global_ycm_extra_conf = '~/.ycm_extra_conf.py' -let g:ycm_confirm_extra_conf = 0 -let g:ycm_key_invoke_completion = "" -let g:ycm_use_ultisnips_completer = 1 -"let g:ycm_add_preview_to_completeopt = 1 -"let g:ycm_autoclose_preview_window_after_completion = 1 - -" * UltiSnips -let g:UltiSnipsSnippetDirectories=["UltiSnips", "usnips"] -let g:UltiSnipsExpandTrigger="," -"let g:UltiSnipsJumpForwardTrigger="," -let g:UltiSnipsJumpBackwardTrigger="" - -" * MinBufExplorer -"let g:miniBufExplMapWindowNavVim = 1 -"let g:miniBufExplMapWindowNavArrows = 1 -"let g:miniBufExplMapCTabSwitchBufs = 1 -"let g:miniBufExplModSelTarget = 1 -"let g:miniBufExplForceSyntaxEnable = 1 - -" Markdown -"let g:markdown_enable_folding = 1 -let g:markdown_enable_mappings = 1 -let g:markdown_enable_spell_checking = 0 -let g:markdown_enable_input_abbreviations = 0 - -" * CommandT -let g:CommandTMaxFiles = 1000 -let g:CommandTMaxDepth = 7 - -" * vim-rooter -let g:rooter_cd_cmd="lcd" -let g:rooter_manual_only = 1 -set autochdir - -" " * FZF -let g:rg_command = ' - \ rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --color "always" - \ -g "!{.git,node_modules,vendor}/*" ' - -"\ -g "*.{js,json,php,md,styl,jade,html,config,py,cpp,c,go,hs,rb,conf}" - -"command! -bang -nargs=* RipGrep call fzf#vim#grep(g:rg_command .shellescape(), 1, 0) -"command! -bang -nargs=* RipGrepCword call fzf#vim#grep(g:rg_command . "-q " . expand(''), 1, 0) - -"command! -bang -nargs=* RgRoot call fzf#vim#grep("rg --column --line-number --no-heading --color=always --smart-case " . shellescape(), 1, {"dir": FindRootDirectory()}) - -"let g:fzf_buffers_jump = 1 -" Empty value to disable preview window altogether -"let g:fzf_preview_window = '' - -" * VimOrganizer -" default Tag list. Will be changed in near future so -" that these are defined by config lines in each .org -" file itself, but now these are where you can change things: -" let g:org_todo_setup='TODO | DONE' -" while g:org_tag_setup is itself a string -"let g:org_tag_setup='{@home(h) @work(w) @tennisclub(t)} \n {easy(e) hard(d)} \n {computer(c) phone(p)}' -"au! BufRead,BufWrite,BufWritePost,BufNewFile *.org -"au BufEnter *.org call org#SetOrgFileType() - -" * Airline -set noshowmode -let g:airline_section_c = '%{StatuslineGit()}' -let g:airline#extensions#branch#enabled = 1 -let g:airline#extensions#syntastic#enabled = 1 -let g:airline#extensions#tagbar#enabled = 1 -let g:airline_theme="murmur" -let g:airline_left_sep = '' -let g:airline_right_sep = '' -let g:airline#extensions#syntastic#enabled = 1 -let g:airline#extensions#hunks#non_zero_only = 1 -let g:airline#extensions#whitespace#enabled = 0 -let g:airline_mode_map = { - \ '__' : '-', - \ 'n' : 'N', - \ 'i' : 'I', - \ 'R' : 'R', - \ 'c' : 'C', - \ 'v' : 'V', - \ 'V' : 'V', - \ '' : 'V', - \ 's' : 'S', - \ 'S' : 'S', - \ '' : 'S', - \ } - - -" * CtrlP -let g:ctrlp_map = ',t' -let g:ctrlp_cmd = 'CtrlP' -let g:ctrlp_working_path_mode = 'ra' -let g:ctrlp_match_window = 'bottom,order:ttb,min:1,max:15' - -" * Echodoc -let g:echodoc_enable_at_startup = 1 -"let g:echodoc#type = 'floating' -"let g:echodoc#type = 'floating' -"highlight link EchoDocFloat Pmenu - -" * Vim-Go -let g:go_fmt_command = "goimports" -"let g:go_auto_type_info = 1 -let g:go_updatetime = 300 -let g:go_bin_path = $HOME . "/.go/bin" -"let g:go_def_mode = 'gopls' -"let g:go_info_mode = 'gopls' - -let g:go_highlight_functions = 1 -let g:go_highlight_function_calls = 1 -"let g:go_highlight_variable_declarations = 1 -"let g:go_highlight_variable_assignments = 1 - -" ** STATUSLINE ** -set laststatus=2 -set statusline=%t "tail of the filename -"set statusline+=[%{&ff}] "file format -"set statusline+=%h "help file flag -set statusline+=\ %w "help file flag -set statusline+=%r "read only flag -set statusline+=%y "filetype -set statusline+=\ %m "modified flag -set statusline+=%= "left/right separator -set statusline+=%{fugitive#statusline()}\ \ -set statusline+=%c, "cursor column -set statusline+=%l/%L "cursor line/total lines -set statusline+=\ %P "percent through file - -" ** SMALL FUNCTIONS THAT DON'T FIT AS PLUGINS *** - -" Add capital W and Q so I can be lazy about my shift key -if !exists(":W") - command W :w -endif - -if !exists(":Q") - command Q :q -endif - -" CD to the path of the file I'm editing. -command Cdf :cd %:p:h - -" Print path of file -command Filepath :echo expand('%:p') - -" Save a vim session! Useful if you want to save buffer states and so on -command SaveSession :mksession! ~/.vim_last_session -command LoadSession :source ~/.vim_last_session - -" This is a quick way to edit a persistent scratch buffer for me... -command ScratchOpen :e scp://barak@barakmich.com//home/barak/notes/scratch - -" Sudo-make-me-a-sandwich write. For when I forget to be root. -"command Wdammit :w !sudo tee > /dev/null % -command Wdammit :w suda://% - - -" I can never remember markdown fully. Open me a cheatsheet -command MarkdownCheatsheet :rightb vsplit ~/.vim/markdown_cheatsheet.md - - -" Doesn't quite work right but can be a real savior if needed. -" Oh-shit-what-was-this-like-before-I-changed-it? -function! s:DiffWithSaved() - let filetype=&ft - diffthis - vnew | r # | normal! 1Gdd - diffthis - exe "setlocal bt=nofile bh=wipe nobl noswf ro ft=" . filetype -endfunction -com! DiffSaved call s:DiffWithSaved() - -" Highlight lines that are longer than textwidth for the filetype, commonly 80 -" characters. -function! HighlightTooLongLines() - highlight def link RightMargin Error - if &textwidth != 0 - exec 'match RightMargin /\%<' . (&textwidth + 3) . 'v.\%>' . (&textwidth + 1) . 'v/' - endif -endfunction - -" Toggles the quickfix window split. -command -bang -nargs=? QFix call QFixToggle(0) -function! QFixToggle(forced) - if exists("g:qfix_win") && a:forced == 0 - cclose - else - execute "copen " . 15 - endif -endfunction - -" Toggle LocationList -command -bang -nargs=? LFix call LFixToggle(0) -function! LFixToggle(forced) - if exists("g:lfix_win") && a:forced == 0 - unlet! g:lfix_win - lclose - else - execute "lopen " . 10 - let g:lfix_win = "t" - endif -endfunction - -"au FileType go nmap C (go-clearlay) -"clear overlay -command -bang -nargs=? GoCoverlayT call GoCoverlayToggle(0) -function! GoCoverlayToggle(forced) - if exists("g:go_coverlay_t") && a:forced == 0 - unlet! g:go_coverlay_t - GoClearlay - "call (go-clearlay) - else - "call (go-coverlay) - GoCoverlay - let g:go_coverlay_t = "t" - endif -endfunction - - -" Toggle GoCoverlay -au FileType go nmap c :GoCoverlayT - -" Coquille -au FileType coq nmap a :CoqToCursor -au FileType coq imap a :CoqToCursor - -" Make the Quickfix window respond well to commands (for instance, q to close, -" Enter to select, etc). In tandem with the above. -augroup QFixToggle - autocmd! - autocmd BufWinEnter quickfix let g:qfix_win = bufnr("$") - autocmd BufWinEnter quickfix exec "nnoremap q :QFix" - autocmd BufWinLeave * if exists("g:qfix_win") && expand("") == g:qfix_win | unlet! g:qfix_win | endif -augroup END - - -" Execute a command that pipes output to window. Captures output into a new, -" appropriately titled, buffer. -function! s:ExecuteInShellOutput(command) - let command = join(map(split(a:command), 'expand(v:val)')) - let winnr = bufwinnr('^' . command . '$') - silent! execute winnr < 0 ? 'botright new ' . fnameescape(command) : winnr . 'wincmd w' - setlocal buftype=nowrite bufhidden=wipe nobuflisted noswapfile wrap number - echo 'Executing ' . command . '...' - silent! execute 'silent %!'. command -" uncomment this if you want the new buffer to try to grow to accommodate the output - "silent! execute 'resize ' . line('$') - silent! redraw - silent! execute 'au BufUnload execute bufwinnr(' . bufnr('#') . ') . ''wincmd w''' - silent! execute 'nnoremap r :call ExecuteInShell(''' . command . ''')' - echo 'Execution of ' . command . ' complete.' -endfunction - -" Same as above, doesn't capture output -function! s:ExecuteInShell(command) - let command = join(map(split(a:command), 'expand(v:val)')) - silent! execute 'silent !'. command - redraw! - echo 'Execution of ' . command . ' complete.' -endfunction - -command! -complete=shellcmd -nargs=+ Shell call s:ExecuteInShellOutput() -command! -complete=shellcmd -nargs=+ Exec call s:ExecuteInShell() -command! -nargs=* Make call s:ExecuteInShellOutput('make '.) -command! -nargs=* PTW call s:ExecuteInShell('ptw post --client=vim "'..'"') -command! -nargs=* CaptureNote :AsyncRun -silent capture --viewing %:p 2>&1 > /dev/null - -" Highlight all instances of word under cursor, when idle. -" Useful when studying strange source code. -" Type z/ to toggle highlighting on/off. -nnoremap z/ :if AutoHighlightToggle()set hlselseset nohlsendif -function! AutoHighlightToggle() - let @/ = '' - if exists('#auto_highlight') - au! auto_highlight - augroup! auto_highlight - setl updatetime=4000 - echo 'Highlight current word: off' - return 0 - else - augroup auto_highlight - au! - au CursorHold * let @/ = '\V\<'.escape(expand(''), '\').'\>' - augroup end - setl updatetime=500 - echo 'Highlight current word: ON' - return 1 - endif -endfunction - -" Removes trailing spaces -function AutoTrimWhitespace() - if exists("b:auto_trim_whitespace") - if b:auto_trim_whitespace == 1 - let l:winview = winsaveview() - silent! %s/\s\+$// - call winrestview(l:winview) - endif - endif -endfunction - - -function! StatuslineGit() - let l:root = finddir('.git/..', expand('%:p:h').';') - return expand('%:p:s!'. l:root . '!/!') -endfunction - -function InstallEverything() - GoUpdateBinaries - BlackUpgrade -endfunction - -command CocReinstall :CocInstall coc-json coc-pyright coc-rust-analyzer coc-snippets coc-svelte coc-tsserver coc-ultisnips - - -autocmd FileType defx call s:defx_my_settings() -function! s:defx_my_settings() abort - " Define mappings - nnoremap - \ line('.') == 1 ? defx#do_action('cd', ['..']) : defx#do_action('open') - nnoremap c - \ defx#do_action('copy') - nnoremap m - \ defx#do_action('move') - nnoremap p - \ defx#do_action('paste') - nnoremap l - \ defx#do_action('open') - nnoremap E - \ defx#do_action('open', 'vsplit') - nnoremap P - \ defx#do_action('preview') - nnoremap o - \ defx#do_action('open_tree', 'toggle') - nnoremap K - \ defx#do_action('new_directory') - nnoremap N - \ defx#do_action('new_file') - nnoremap M - \ defx#do_action('new_multiple_files') - nnoremap C - \ defx#do_action('toggle_columns', - \ 'mark:indent:icon:filename:type:size:time') - nnoremap S - \ defx#do_action('toggle_sort', 'time') - nnoremap d - \ defx#do_action('remove') - nnoremap r - \ defx#do_action('rename') - nnoremap ! - \ defx#do_action('execute_command') - nnoremap x - \ defx#do_action('execute_system') - nnoremap yy - \ defx#do_action('yank_path') - nnoremap . - \ defx#do_action('toggle_ignored_files') - nnoremap ; - \ defx#do_action('repeat') - nnoremap h - \ defx#do_action('cd', ['..']) - nnoremap ~ - \ defx#do_action('cd') - nnoremap q - \ defx#do_action('quit') - nnoremap - \ defx#do_action('toggle_select') . 'j' - nnoremap * - \ defx#do_action('toggle_select_all') - nnoremap j - \ line('.') == line('$') ? 'gg' : 'j' - nnoremap k - \ line('.') == 1 ? 'G' : 'k' - nnoremap - \ defx#do_action('redraw') - nnoremap - \ defx#do_action('print') - nnoremap cd - \ defx#do_action('change_vim_cwd') -endfunction - - -" ** KEY REMAPPINGS ** -" -" I used to use tabs, but then I took an arrow to the knee. -" Tabs in vim suck because they aren't what you want. Use tabbar. -"nnoremap gc :tabnew -"nnoremap gK :tabclose -"nnoremap gn gt -"nnoremap gp gT - -" I don't know how I came up with gt for opening the tree, but it stuck. -"nmap gt :NERDTreeToggle -"nmap gt :VimFilerExplorer -winwidth=40 -toggle -direction=rightbelow -parent -status -force-hide -"nmap gt :VimFiler -status -auto-cd -parent -force-quit -"nmap gt :Defx `escape(expand('%:p:h'), ' :')` -search=`expand('%:p')` -columns=icons:indent:filename:type -nmap gt :edit . -""nnoremap gt :NvimTreeToggle -" The same for the TagList, useful for large C files. -"nmap gb :TlistToggle -nmap gb :TagbarToggle -"nnoremap gx :Kwbd -" :Kwbd (defined below) really kills a buffer dead, and closes the window. -" gK is similar. -nnoremap gc :Kwbd -"nnoremap gc :bdelete -"nnoremap gK :bdelete! - -" I use gn/gp to cycle through open tabs/buffers -nnoremap gn :bn -nnoremap gp :bp -nnoremap gz :pclose -" The single most handy way to get around a file. Cursor over a word, and then -" type g* -- you'll go to the next instance of that word in the file. Make it -" easier to reach by calling it gw (go-word) instead of hidden away. -nnoremap gw g* -" Make shift-p like p except, put the line above instead of below. -nmap P op -" Line-based movement is cute, but it's tricky for files with lines that wrap. -" Attune more to what you see on the screen instead of where the lines actually -" are. -nnoremap j gj -nnoremap k gk -xnoremap j gj -xnoremap k gk -nnoremap gj -nnoremap gk -xnoremap gj -xnoremap gk -inoremap gj -inoremap gk -"nnoremap -" Years of using bash and zsh have caused my fingers to expect these Emacs-like -" mappings to exist. Make them exist in vim as well. But eye them with -" suspicion, as they come from Emacs. -nnoremap ^ -nnoremap $ -xnoremap ^ -xnoremap $ -inoremap ^ -inoremap $ - -" Dealing with split windows is a pain. Make it less of a pain, by making -" Ctrl-direction appropriate. -"nnoremap j -"nnoremap k -"nnoremap l -"nnoremap h -""nnoremap w -""nnoremap W -"inoremap j -"inoremap k -"inoremap l -"inoremap h - -"if has('nvim') - "tnoremap - "tnoremap j - "tnoremap k - "tnoremap l - "tnoremap h -"endif - -" Make it easier to clear highlighting, with no functionality penalty -nnoremap :noh - -" Better fold mappings -nnoremap @=(foldlevel('.')?'za':'l') -vnoremap zf -" Just to be handy, Ctrl-C acts like escape. So does jj, which never really -" comes up in practice. If you really need to type jj do so slowly. -imap -inoremap jj - -" Leader key functions -" See quickfix. -"nnoremap ff :LFix -" See quickfix. -nnoremap ss :SyntasticSetLoclist -" Next quickfix. -nnoremap fn :lnext -" Prev quickfix. -nnoremap fp :lprev -"nnoremap aa :Denite -mode=normal -buffer-name=search-buffer grep -nnoremap ac :Denite -resume -buffer-name=search-buffer grep -"nnoremap aw :DeniteCursorWord -buffer-name=search-buffer grep -" -nnoremap nn :CaptureNote -call denite#custom#map('insert', '', '') -"call denite#custom#var('grep', 'command', ['rg']) -"call denite#custom#var('grep', 'default_opts', - "\ ['--no-heading', '--color', 'never', '--smart-case']) -"call denite#custom#var('grep', 'recursive_opts', []) -"call denite#custom#var('grep', 'pattern_opt', []) -"call denite#custom#var('grep', 'separator', ['--']) -"call denite#custom#var('grep', 'final_opts', []) -"call denite#custom#option('search-buffer', 'highlight_matched_char', 'deniteMatchedChar') -call denite#custom#var('grep', { - \ 'command': ['rg'], - \ 'default_opts': ['-i', '--vimgrep', '--no-heading'], - \ 'recursive_opts': [], - \ 'pattern_opt': ['--regexp'], - \ 'separator': ['--'], - \ 'final_opts': [], - \ }) -"nnoremap g :Denite -buffer-name=search-buffer grep -"nnoremap aa :RipGrep! -nnoremap aa :RgRoot! -"nnoremap aw :RgRoot! -"nnoremap :Files! `git rev-parse --show-toplevel` -"nnoremap :GFiles -nnoremap lua require('telescope.builtin').git_files{} -nnoremap ag lua require('telescope.builtin').live_grep{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1], search = ''} -nnoremap aw lua require('telescope.builtin').grep_string{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1]} -nnoremap q lua require('telescope.builtin').quickfix{} -nnoremap ff lua require('telescope.builtin').quickfix{} - -" For C++ -- A is a great plugin which allows you to jump from the c file to the -" header and vice-versa. Mneumonic here is headerheader. -nnoremap hh :A -" CommandT is useful, but if I'm juggling lots of buffers, limit it to another -" one I have open (instead of standard t). -"nnoremap o :Buffers -nnoremap o lua require('telescope.builtin').buffers{initial_mode = "insert"} -nnoremap lua require('telescope.builtin').buffers{prompt_prefix = " "} -"nnoremap j -"nnoremap p :PTW -nnoremap p :LustyJugglePrevious -nnoremap jd :YcmCompleter GoToDefinitionElseDeclaration -nnoremap mm :w:make! - -" ** EXTRA INCLUDES ** -" -let s:extrarc = expand($HOME . '/.vimrc_google') -if filereadable(s:extrarc) - exec ':so ' . s:extrarc -endif - -" ** SEE ALSO ** -" filetype.vim - -"call remote#host#RegisterPlugin('python3', '/home/barak/.vim/bundle/deoplete.nvim/rplugin/python3/deoplete', [ - "\ {'sync': v:true, 'name': '_deoplete', 'type': 'function', 'opts': {}}, - "\ ]) -" -if !empty($VIRTUAL_ENV) -" let g:python_host_prog = $VIRTUAL_ENV . '/bin/python' -" let g:python3_host_prog = $VIRUTAL_ENV . '3/bin/python' -endif - -autocmd FileType denite call s:denite_my_settings() -function! s:denite_my_settings() abort - nnoremap - \ denite#do_map('do_action') - "nnoremap d - "\ denite#do_map('do_action', 'delete') - "nnoremap p - "\ denite#do_map('do_action', 'preview') - nnoremap q - \ denite#do_map('quit') - nnoremap i - \ denite#do_map('open_filter_buffer') - nnoremap - \ denite#do_map('toggle_select').'j' -endfunction - -map :echo "hi<" . synIDattr(synID(line("."),col("."),1),"name") . '> trans<' . synIDattr(synID(line("."),col("."),0),"name") . "> lo<" . synIDattr(synIDtrans(synID(line("."),col("."),1)),"name") . ">" - -function! Syn() - for id in synstack(line("."), col(".")) - echo synIDattr(id, "name") - endfor -endfunction -map command! -nargs=0 Syn call Syn() - -" Final hi links for TreeSitter - -hi link @type.rust TSCSecondaryTypeParam - -let s:gptool_temp = expand($HOME . '/src/gptool/bindings.vim') -if filereadable(s:gptool_temp) - exec ':so ' . s:gptool_temp -endif diff --git a/.xsession b/.xsession deleted file mode 120000 index 03280df..0000000 --- a/.xsession +++ /dev/null @@ -1 +0,0 @@ -.xinitrc \ No newline at end of file diff --git a/.zsh_profile b/.zsh_profile deleted file mode 120000 index 12f501c..0000000 --- a/.zsh_profile +++ /dev/null @@ -1 +0,0 @@ -./.zprofile \ No newline at end of file diff --git a/bin/ack b/bin/executable_ack old mode 100755 new mode 100644 similarity index 100% rename from bin/ack rename to bin/executable_ack diff --git a/bin/average b/bin/executable_average old mode 100755 new mode 100644 similarity index 100% rename from bin/average rename to bin/executable_average diff --git a/bin/battery b/bin/executable_battery old mode 100755 new mode 100644 similarity index 100% rename from bin/battery rename to bin/executable_battery diff --git a/bin/callout b/bin/executable_callout old mode 100755 new mode 100644 similarity index 100% rename from bin/callout rename to bin/executable_callout diff --git a/bin/contract b/bin/executable_contract old mode 100755 new mode 100644 similarity index 100% rename from bin/contract rename to bin/executable_contract diff --git a/bin/cronic b/bin/executable_cronic old mode 100755 new mode 100644 similarity index 100% rename from bin/cronic rename to bin/executable_cronic diff --git a/bin/gblame b/bin/executable_gblame old mode 100755 new mode 100644 similarity index 100% rename from bin/gblame rename to bin/executable_gblame diff --git a/bin/executable_gocov.sh b/bin/executable_gocov.sh new file mode 100644 index 0000000..53c3cef --- /dev/null +++ b/bin/executable_gocov.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -euo pipefail + +POSITIONAL=() +while [[ $# -gt 0 ]] +do +key="$1" + +case $key in + *) # unknown option + POSITIONAL+=("$1") # save it in an array for later + shift # past argument + ;; +esac +done +set -- "${POSITIONAL[@]}" # restore positional parameters + +FILENAME="${POSITIONAL[0]}" + +go tool cover -html="$FILENAME" -o "$FILENAME.html" +elinks "$FILENAME.html" +rm "$FILENAME.html" diff --git a/bin/golintc b/bin/executable_golintc old mode 100755 new mode 100644 similarity index 100% rename from bin/golintc rename to bin/executable_golintc diff --git a/bin/orly b/bin/executable_orly old mode 100755 new mode 100644 similarity index 100% rename from bin/orly rename to bin/executable_orly diff --git a/bin/pk b/bin/executable_pk old mode 100755 new mode 100644 similarity index 100% rename from bin/pk rename to bin/executable_pk diff --git a/bin/theyfightcrime b/bin/executable_theyfightcrime old mode 100755 new mode 100644 similarity index 100% rename from bin/theyfightcrime rename to bin/executable_theyfightcrime diff --git a/bin/vi b/bin/executable_vi old mode 100755 new mode 100644 similarity index 100% rename from bin/vi rename to bin/executable_vi diff --git a/bin/xinput-toggle b/bin/executable_xinput-toggle old mode 100755 new mode 100644 similarity index 100% rename from bin/xinput-toggle rename to bin/executable_xinput-toggle diff --git a/bin/gettermsize b/bin/gettermsize deleted file mode 100755 index fdd6482..0000000 Binary files a/bin/gettermsize and /dev/null differ diff --git a/bin/obsidian b/bin/obsidian deleted file mode 120000 index 6151d58..0000000 --- a/bin/obsidian +++ /dev/null @@ -1 +0,0 @@ -./appimage/obsidian.appimage \ No newline at end of file diff --git a/bin/rename_git_branch.sh b/bin/rename_git_branch.sh new file mode 100644 index 0000000..9eec62f --- /dev/null +++ b/bin/rename_git_branch.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +git checkout $1 +git branch -m $1 $2 +git fetch +git branch --unset-upstream +git branch -u origin/$2 diff --git a/bin/run_browser b/bin/run_browser deleted file mode 100755 index 15440ea..0000000 --- a/bin/run_browser +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -if [ -n "`which firefox`" ]; then - firefox -elif [ -n "`which iceweasel`" ]; then - iceweasel -elif [ -n "`which google-chrome`" ]; then - google-chrome -else - exit 1 -fi diff --git a/bin/run_jupyter.sh b/bin/run_jupyter.sh deleted file mode 100755 index d2adca5..0000000 --- a/bin/run_jupyter.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -docker run --rm -p 10000:8888 -e JUPYTER_ENABLE_LAB=yes -v "$PWD":/home/jovyan jupyter/datascience-notebook diff --git a/bin/run_terminal b/bin/run_terminal deleted file mode 100755 index 94570a1..0000000 --- a/bin/run_terminal +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -if [ -n "`which alacritty`" ]; then - alacritty $@ -elif [ -n "`which terminator`" ]; then - terminator $@ -elif [ -n "`which gnome-terminal`" ]; then - gnome-terminal $@ -elif [ -n "`which xfce4-terminal`" ]; then - xfce4-terminal $@ -elif [ -n "`which urxvt`" ]; then - urxvt $@ -else - xterm $@ -fi diff --git a/bin/run_zotero b/bin/run_zotero deleted file mode 100755 index 55c0630..0000000 --- a/bin/run_zotero +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -tunnelwrap -i "$HOME/.ssh/id_ed25519" -p 2222 8082:docdav.dav.svc.k8s.barakmich.com:80 barak@barakmich.com "$HOME/local/Zotero_linux-x86_64/zotero" diff --git a/.Xmodmap b/dot_Xmodmap similarity index 100% rename from .Xmodmap rename to dot_Xmodmap diff --git a/.barak-theme.el b/dot_barak-theme.el similarity index 100% rename from .barak-theme.el rename to dot_barak-theme.el diff --git a/.bash_aliases b/dot_bash_aliases similarity index 100% rename from .bash_aliases rename to dot_bash_aliases diff --git a/.bash_k8s_aliases b/dot_bash_k8s_aliases similarity index 100% rename from .bash_k8s_aliases rename to dot_bash_k8s_aliases diff --git a/.bash_logout b/dot_bash_logout similarity index 100% rename from .bash_logout rename to dot_bash_logout diff --git a/.bash_profile b/dot_bash_profile similarity index 100% rename from .bash_profile rename to dot_bash_profile diff --git a/.bashrc b/dot_bashrc similarity index 100% rename from .bashrc rename to dot_bashrc diff --git a/.cargo/config.toml b/dot_cargo/config.toml similarity index 100% rename from .cargo/config.toml rename to dot_cargo/config.toml diff --git a/.compton.conf b/dot_compton.conf similarity index 100% rename from .compton.conf rename to dot_compton.conf diff --git a/.config/alacritty/alacritty.toml b/dot_config/alacritty/alacritty.toml.tmpl similarity index 79% rename from .config/alacritty/alacritty.toml rename to dot_config/alacritty/alacritty.toml.tmpl index e11bc79..2d92f29 100644 --- a/.config/alacritty/alacritty.toml +++ b/dot_config/alacritty/alacritty.toml.tmpl @@ -33,7 +33,19 @@ foreground = "#fffbf6" TERM = "xterm-256color" [font] +{{if eq .chezmoi.hostname "lysander" -}} +size = 15.5 +{{ else if eq .chezmoi.hostname "mercutio" -}} size = 19.0 +{{ else if eq .chezmoi.hostname "rosencrantz" -}} +size = 15.0 +{{ else if eq .chezmoi.hostname "altair" -}} +size = 22 +{{ else if eq .chezmoi.hostname "hermia" -}} +size = 20.5 +{{ else -}} +size = 19.0 +{{ end }} [font.bold] style = "Semi-Condensed" @@ -72,9 +84,13 @@ key = "U" mods = "Control|Shift" [[hints.enabled]] -command = "xdg-open" post_processing = true regex = "(magnet:|mailto:|https:|http:|news:|file:|git:|ssh:|ftp:)[^\u0000-\u001F\u007F-Ÿ<>\"\\s{-}\\^⟨⟩`]+" +{{if eq .chezmoi.os "darwin" -}} +command = "open" +{{ else -}} +command = "xdg-open" +{{ end }} [hints.enabled.binding] key = "L" @@ -95,12 +111,16 @@ key = "P" mode = "Vi|~Search" [[keyboard.bindings]] +{{if eq .chezmoi.hostname "rosencrantz" -}} action = "ToggleFullscreen" +{{ else -}} +action = "ToggleMaximized" +{{ end }} key = "Return" mods = "Alt" [[keyboard.bindings]] -action = "ToggleFullscreen" +action = "ToggleSimpleFullscreen" key = "Return" mods = "Command" @@ -116,6 +136,7 @@ multiplier = 3 [window] opacity = 0.88 startup_mode = "Windowed" +option_as_alt = "Both" #decorations = "None" [window.dimensions] diff --git a/.config/awesome/btheme/README b/dot_config/awesome/btheme/README similarity index 100% rename from .config/awesome/btheme/README rename to dot_config/awesome/btheme/README diff --git a/.config/awesome/btheme/background.png b/dot_config/awesome/btheme/background.png similarity index 100% rename from .config/awesome/btheme/background.png rename to dot_config/awesome/btheme/background.png diff --git a/.config/awesome/btheme/background_white.png b/dot_config/awesome/btheme/background_white.png similarity index 100% rename from .config/awesome/btheme/background_white.png rename to dot_config/awesome/btheme/background_white.png diff --git a/.config/awesome/btheme/layouts/dwindle.png b/dot_config/awesome/btheme/layouts/dwindle.png similarity index 100% rename from .config/awesome/btheme/layouts/dwindle.png rename to dot_config/awesome/btheme/layouts/dwindle.png diff --git a/.config/awesome/btheme/layouts/dwindlew.png b/dot_config/awesome/btheme/layouts/dwindlew.png similarity index 100% rename from .config/awesome/btheme/layouts/dwindlew.png rename to dot_config/awesome/btheme/layouts/dwindlew.png diff --git a/.config/awesome/btheme/layouts/fairh.png b/dot_config/awesome/btheme/layouts/fairh.png similarity index 100% rename from .config/awesome/btheme/layouts/fairh.png rename to dot_config/awesome/btheme/layouts/fairh.png diff --git a/.config/awesome/btheme/layouts/fairhw.png b/dot_config/awesome/btheme/layouts/fairhw.png similarity index 100% rename from .config/awesome/btheme/layouts/fairhw.png rename to dot_config/awesome/btheme/layouts/fairhw.png diff --git a/.config/awesome/btheme/layouts/fairv.png b/dot_config/awesome/btheme/layouts/fairv.png similarity index 100% rename from .config/awesome/btheme/layouts/fairv.png rename to dot_config/awesome/btheme/layouts/fairv.png diff --git a/.config/awesome/btheme/layouts/fairvw.png b/dot_config/awesome/btheme/layouts/fairvw.png similarity index 100% rename from .config/awesome/btheme/layouts/fairvw.png rename to dot_config/awesome/btheme/layouts/fairvw.png diff --git a/.config/awesome/btheme/layouts/floating.png b/dot_config/awesome/btheme/layouts/floating.png similarity index 100% rename from .config/awesome/btheme/layouts/floating.png rename to dot_config/awesome/btheme/layouts/floating.png diff --git a/.config/awesome/btheme/layouts/floatingw.png b/dot_config/awesome/btheme/layouts/floatingw.png similarity index 100% rename from .config/awesome/btheme/layouts/floatingw.png rename to dot_config/awesome/btheme/layouts/floatingw.png diff --git a/.config/awesome/btheme/layouts/fullscreen.png b/dot_config/awesome/btheme/layouts/fullscreen.png similarity index 100% rename from .config/awesome/btheme/layouts/fullscreen.png rename to dot_config/awesome/btheme/layouts/fullscreen.png diff --git a/.config/awesome/btheme/layouts/fullscreenw.png b/dot_config/awesome/btheme/layouts/fullscreenw.png similarity index 100% rename from .config/awesome/btheme/layouts/fullscreenw.png rename to dot_config/awesome/btheme/layouts/fullscreenw.png diff --git a/.config/awesome/btheme/layouts/magnifier.png b/dot_config/awesome/btheme/layouts/magnifier.png similarity index 100% rename from .config/awesome/btheme/layouts/magnifier.png rename to dot_config/awesome/btheme/layouts/magnifier.png diff --git a/.config/awesome/btheme/layouts/magnifierw.png b/dot_config/awesome/btheme/layouts/magnifierw.png similarity index 100% rename from .config/awesome/btheme/layouts/magnifierw.png rename to dot_config/awesome/btheme/layouts/magnifierw.png diff --git a/.config/awesome/btheme/layouts/max.png b/dot_config/awesome/btheme/layouts/max.png similarity index 100% rename from .config/awesome/btheme/layouts/max.png rename to dot_config/awesome/btheme/layouts/max.png diff --git a/.config/awesome/btheme/layouts/maxw.png b/dot_config/awesome/btheme/layouts/maxw.png similarity index 100% rename from .config/awesome/btheme/layouts/maxw.png rename to dot_config/awesome/btheme/layouts/maxw.png diff --git a/.config/awesome/btheme/layouts/spiral.png b/dot_config/awesome/btheme/layouts/spiral.png similarity index 100% rename from .config/awesome/btheme/layouts/spiral.png rename to dot_config/awesome/btheme/layouts/spiral.png diff --git a/.config/awesome/btheme/layouts/spiralw.png b/dot_config/awesome/btheme/layouts/spiralw.png similarity index 100% rename from .config/awesome/btheme/layouts/spiralw.png rename to dot_config/awesome/btheme/layouts/spiralw.png diff --git a/.config/awesome/btheme/layouts/tile.png b/dot_config/awesome/btheme/layouts/tile.png similarity index 100% rename from .config/awesome/btheme/layouts/tile.png rename to dot_config/awesome/btheme/layouts/tile.png diff --git a/.config/awesome/btheme/layouts/tilebottom.png b/dot_config/awesome/btheme/layouts/tilebottom.png similarity index 100% rename from .config/awesome/btheme/layouts/tilebottom.png rename to dot_config/awesome/btheme/layouts/tilebottom.png diff --git a/.config/awesome/btheme/layouts/tilebottomw.png b/dot_config/awesome/btheme/layouts/tilebottomw.png similarity index 100% rename from .config/awesome/btheme/layouts/tilebottomw.png rename to dot_config/awesome/btheme/layouts/tilebottomw.png diff --git a/.config/awesome/btheme/layouts/tileleft.png b/dot_config/awesome/btheme/layouts/tileleft.png similarity index 100% rename from .config/awesome/btheme/layouts/tileleft.png rename to dot_config/awesome/btheme/layouts/tileleft.png diff --git a/.config/awesome/btheme/layouts/tileleftw.png b/dot_config/awesome/btheme/layouts/tileleftw.png similarity index 100% rename from .config/awesome/btheme/layouts/tileleftw.png rename to dot_config/awesome/btheme/layouts/tileleftw.png diff --git a/.config/awesome/btheme/layouts/tiletop.png b/dot_config/awesome/btheme/layouts/tiletop.png similarity index 100% rename from .config/awesome/btheme/layouts/tiletop.png rename to dot_config/awesome/btheme/layouts/tiletop.png diff --git a/.config/awesome/btheme/layouts/tiletopw.png b/dot_config/awesome/btheme/layouts/tiletopw.png similarity index 100% rename from .config/awesome/btheme/layouts/tiletopw.png rename to dot_config/awesome/btheme/layouts/tiletopw.png diff --git a/.config/awesome/btheme/layouts/tilew.png b/dot_config/awesome/btheme/layouts/tilew.png similarity index 100% rename from .config/awesome/btheme/layouts/tilew.png rename to dot_config/awesome/btheme/layouts/tilew.png diff --git a/.config/awesome/btheme/submenu.png b/dot_config/awesome/btheme/submenu.png similarity index 100% rename from .config/awesome/btheme/submenu.png rename to dot_config/awesome/btheme/submenu.png diff --git a/.config/awesome/btheme/taglist/squarefw.png b/dot_config/awesome/btheme/taglist/squarefw.png similarity index 100% rename from .config/awesome/btheme/taglist/squarefw.png rename to dot_config/awesome/btheme/taglist/squarefw.png diff --git a/.config/awesome/btheme/taglist/squarew.png b/dot_config/awesome/btheme/taglist/squarew.png similarity index 100% rename from .config/awesome/btheme/taglist/squarew.png rename to dot_config/awesome/btheme/taglist/squarew.png diff --git a/.config/awesome/btheme/tasklist/floating.png b/dot_config/awesome/btheme/tasklist/floating.png similarity index 100% rename from .config/awesome/btheme/tasklist/floating.png rename to dot_config/awesome/btheme/tasklist/floating.png diff --git a/.config/awesome/btheme/tasklist/floatingw.png b/dot_config/awesome/btheme/tasklist/floatingw.png similarity index 100% rename from .config/awesome/btheme/tasklist/floatingw.png rename to dot_config/awesome/btheme/tasklist/floatingw.png diff --git a/.config/awesome/btheme/theme.lua b/dot_config/awesome/btheme/theme.lua similarity index 100% rename from .config/awesome/btheme/theme.lua rename to dot_config/awesome/btheme/theme.lua diff --git a/.config/awesome/btheme/titlebar/close_focus.png b/dot_config/awesome/btheme/titlebar/close_focus.png similarity index 100% rename from .config/awesome/btheme/titlebar/close_focus.png rename to dot_config/awesome/btheme/titlebar/close_focus.png diff --git a/.config/awesome/btheme/titlebar/close_normal.png b/dot_config/awesome/btheme/titlebar/close_normal.png similarity index 100% rename from .config/awesome/btheme/titlebar/close_normal.png rename to dot_config/awesome/btheme/titlebar/close_normal.png diff --git a/.config/awesome/btheme/titlebar/floating_focus_active.png b/dot_config/awesome/btheme/titlebar/floating_focus_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/floating_focus_active.png rename to dot_config/awesome/btheme/titlebar/floating_focus_active.png diff --git a/.config/awesome/btheme/titlebar/floating_focus_inactive.png b/dot_config/awesome/btheme/titlebar/floating_focus_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/floating_focus_inactive.png rename to dot_config/awesome/btheme/titlebar/floating_focus_inactive.png diff --git a/.config/awesome/btheme/titlebar/floating_normal_active.png b/dot_config/awesome/btheme/titlebar/floating_normal_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/floating_normal_active.png rename to dot_config/awesome/btheme/titlebar/floating_normal_active.png diff --git a/.config/awesome/btheme/titlebar/floating_normal_inactive.png b/dot_config/awesome/btheme/titlebar/floating_normal_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/floating_normal_inactive.png rename to dot_config/awesome/btheme/titlebar/floating_normal_inactive.png diff --git a/.config/awesome/btheme/titlebar/maximized_focus_active.png b/dot_config/awesome/btheme/titlebar/maximized_focus_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/maximized_focus_active.png rename to dot_config/awesome/btheme/titlebar/maximized_focus_active.png diff --git a/.config/awesome/btheme/titlebar/maximized_focus_inactive.png b/dot_config/awesome/btheme/titlebar/maximized_focus_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/maximized_focus_inactive.png rename to dot_config/awesome/btheme/titlebar/maximized_focus_inactive.png diff --git a/.config/awesome/btheme/titlebar/maximized_normal_active.png b/dot_config/awesome/btheme/titlebar/maximized_normal_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/maximized_normal_active.png rename to dot_config/awesome/btheme/titlebar/maximized_normal_active.png diff --git a/.config/awesome/btheme/titlebar/maximized_normal_inactive.png b/dot_config/awesome/btheme/titlebar/maximized_normal_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/maximized_normal_inactive.png rename to dot_config/awesome/btheme/titlebar/maximized_normal_inactive.png diff --git a/.config/awesome/btheme/titlebar/ontop_focus_active.png b/dot_config/awesome/btheme/titlebar/ontop_focus_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/ontop_focus_active.png rename to dot_config/awesome/btheme/titlebar/ontop_focus_active.png diff --git a/.config/awesome/btheme/titlebar/ontop_focus_inactive.png b/dot_config/awesome/btheme/titlebar/ontop_focus_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/ontop_focus_inactive.png rename to dot_config/awesome/btheme/titlebar/ontop_focus_inactive.png diff --git a/.config/awesome/btheme/titlebar/ontop_normal_active.png b/dot_config/awesome/btheme/titlebar/ontop_normal_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/ontop_normal_active.png rename to dot_config/awesome/btheme/titlebar/ontop_normal_active.png diff --git a/.config/awesome/btheme/titlebar/ontop_normal_inactive.png b/dot_config/awesome/btheme/titlebar/ontop_normal_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/ontop_normal_inactive.png rename to dot_config/awesome/btheme/titlebar/ontop_normal_inactive.png diff --git a/.config/awesome/btheme/titlebar/sticky_focus_active.png b/dot_config/awesome/btheme/titlebar/sticky_focus_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/sticky_focus_active.png rename to dot_config/awesome/btheme/titlebar/sticky_focus_active.png diff --git a/.config/awesome/btheme/titlebar/sticky_focus_inactive.png b/dot_config/awesome/btheme/titlebar/sticky_focus_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/sticky_focus_inactive.png rename to dot_config/awesome/btheme/titlebar/sticky_focus_inactive.png diff --git a/.config/awesome/btheme/titlebar/sticky_normal_active.png b/dot_config/awesome/btheme/titlebar/sticky_normal_active.png similarity index 100% rename from .config/awesome/btheme/titlebar/sticky_normal_active.png rename to dot_config/awesome/btheme/titlebar/sticky_normal_active.png diff --git a/.config/awesome/btheme/titlebar/sticky_normal_inactive.png b/dot_config/awesome/btheme/titlebar/sticky_normal_inactive.png similarity index 100% rename from .config/awesome/btheme/titlebar/sticky_normal_inactive.png rename to dot_config/awesome/btheme/titlebar/sticky_normal_inactive.png diff --git a/.config/awesome/rc.lua b/dot_config/awesome/rc.lua similarity index 100% rename from .config/awesome/rc.lua rename to dot_config/awesome/rc.lua diff --git a/.config/coc/extensions/package.json b/dot_config/coc/extensions/package.json similarity index 100% rename from .config/coc/extensions/package.json rename to dot_config/coc/extensions/package.json diff --git a/dot_config/elinks/elinks.conf b/dot_config/elinks/elinks.conf new file mode 100644 index 0000000..eb38a51 --- /dev/null +++ b/dot_config/elinks/elinks.conf @@ -0,0 +1,50 @@ +## ELinks 0.17.0 configuration file + +## This is ELinks configuration file. You can edit it manually, +## if you wish so; this file is edited by ELinks when you save +## options through UI, however only option values will be altered +## and missing options will be added at the end of file; if option +## is not written in this file, but in some file included from it, +## it is NOT counted as missing. Note that all your formatting, +## own comments and so on will be kept as-is. +## +## Obviously, if you don't like what ELinks is going to do with +## this file, you can change it by altering the config.saving_style +## option. Come on, aren't we friendly guys after all? + + + +############################## +# Automatically saved options +# + +## config +# Configuration handling options. + + ## config.saving_style_w [0|1] + # This is internal option used when displaying a warning about obsolete + # config.saving_style. You shouldn't touch it. + set config.saving_style_w = 1 + + +## terminal +# Terminal options. + + ## terminal.tmux-256color + # Options specific to this terminal type (according to $TERM value). + + ## terminal.tmux-256color.colors + set terminal.tmux-256color.colors = 3 + ## terminal.tmux-256color.type + set terminal.tmux-256color.type = 0 + + +## ui +# User interface options. + + ## ui.language + # Language of user interface. 'System' means that the language will be + # extracted from the environment dynamically. + set ui.language = "System" + + diff --git a/.config/fish/.gitignore b/dot_config/fish/.gitignore similarity index 100% rename from .config/fish/.gitignore rename to dot_config/fish/.gitignore diff --git a/.config/fish/completions/cargo.fish b/dot_config/fish/completions/cargo.fish similarity index 100% rename from .config/fish/completions/cargo.fish rename to dot_config/fish/completions/cargo.fish diff --git a/.config/fish/completions/git.fish b/dot_config/fish/completions/git.fish similarity index 100% rename from .config/fish/completions/git.fish rename to dot_config/fish/completions/git.fish diff --git a/.config/fish/completions/go.fish b/dot_config/fish/completions/go.fish similarity index 100% rename from .config/fish/completions/go.fish rename to dot_config/fish/completions/go.fish diff --git a/.config/fish/completions/kubectl.fish b/dot_config/fish/completions/kubectl.fish similarity index 100% rename from .config/fish/completions/kubectl.fish rename to dot_config/fish/completions/kubectl.fish diff --git a/.config/fish/completions/nc.fish b/dot_config/fish/completions/nc.fish similarity index 100% rename from .config/fish/completions/nc.fish rename to dot_config/fish/completions/nc.fish diff --git a/.config/fish/completions/nc.openbsd.fish b/dot_config/fish/completions/nc.openbsd.fish similarity index 100% rename from .config/fish/completions/nc.openbsd.fish rename to dot_config/fish/completions/nc.openbsd.fish diff --git a/.config/fish/completions/nc.traditional.fish b/dot_config/fish/completions/nc.traditional.fish similarity index 100% rename from .config/fish/completions/nc.traditional.fish rename to dot_config/fish/completions/nc.traditional.fish diff --git a/.config/fish/completions/ncat.fish b/dot_config/fish/completions/ncat.fish similarity index 100% rename from .config/fish/completions/ncat.fish rename to dot_config/fish/completions/ncat.fish diff --git a/.config/fish/completions/netcat.fish b/dot_config/fish/completions/netcat.fish similarity index 100% rename from .config/fish/completions/netcat.fish rename to dot_config/fish/completions/netcat.fish diff --git a/.config/fish/conf.d/key-bindings.fish b/dot_config/fish/conf.d/key-bindings.fish similarity index 100% rename from .config/fish/conf.d/key-bindings.fish rename to dot_config/fish/conf.d/key-bindings.fish diff --git a/.config/fish/config.fish b/dot_config/fish/config.fish similarity index 72% rename from .config/fish/config.fish rename to dot_config/fish/config.fish index 85928c5..ef88a2f 100644 --- a/.config/fish/config.fish +++ b/dot_config/fish/config.fish @@ -1,4 +1,4 @@ -set PATH ~/bin ~/.local/bin ~/.go/bin ~/.cargo/bin /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin ~/.cabal/bin ~/.ghcup/bin /usr/lib/go/bin ~/.gem/ruby/1.9.1/bin ~/.rye/shims $PATH +set PATH ~/bin ~/.local/bin ~/.go/bin ~/.cargo/bin /opt/homebrew/bin /bin /sbin /usr/local/bin /usr/local/sbin /usr/bin /usr/sbin ~/.cabal/bin ~/.ghcup/bin /usr/lib/go/bin ~/.gem/ruby/1.9.1/bin ~/.rye/shims ~/.local/share/uv/tools $PATH if command -vq flatpak set -ga fish_user_paths ~/.local/share/flatpak/exports/bin /var/lib/flatpak/exports/bin @@ -11,6 +11,8 @@ end set fish_greeting "" set EDITOR vi set -x GOPATH ~/.go +set -x BROWSER xdg-open +set -gx LANG en_US.UTF-8 if test -e $HOME/.asdf/asdf.fish . ~/.asdf/asdf.fish @@ -25,4 +27,3 @@ end # The next line updates PATH for the Google Cloud SDK. if [ -f '/home/barak/local/google-cloud-sdk/path.fish.inc' ]; . '/home/barak/local/google-cloud-sdk/path.fish.inc'; end -set GOOGLE_APPLICATION_CREDENTIALS "/home/barak/.memtoken.json" diff --git a/.config/fish/fish_aliases.fish b/dot_config/fish/fish_aliases.fish similarity index 100% rename from .config/fish/fish_aliases.fish rename to dot_config/fish/fish_aliases.fish diff --git a/.config/fish/fish_variables b/dot_config/fish/fish_variables similarity index 100% rename from .config/fish/fish_variables rename to dot_config/fish/fish_variables diff --git a/.config/fish/functions/fish_prompt.fish b/dot_config/fish/functions/fish_prompt.fish similarity index 100% rename from .config/fish/functions/fish_prompt.fish rename to dot_config/fish/functions/fish_prompt.fish diff --git a/.config/fish/functions/fish_right_prompt.fish b/dot_config/fish/functions/fish_right_prompt.fish similarity index 100% rename from .config/fish/functions/fish_right_prompt.fish rename to dot_config/fish/functions/fish_right_prompt.fish diff --git a/.config/fish/functions/fish_user_key_bindings.fish b/dot_config/fish/functions/fish_user_key_bindings.fish similarity index 100% rename from .config/fish/functions/fish_user_key_bindings.fish rename to dot_config/fish/functions/fish_user_key_bindings.fish diff --git a/dot_config/fuzzel/fuzzel.ini b/dot_config/fuzzel/fuzzel.ini new file mode 100644 index 0000000..3848b0b --- /dev/null +++ b/dot_config/fuzzel/fuzzel.ini @@ -0,0 +1,14 @@ +[main] +font=Iosevka Berkeley:size=20 +icon-theme="Mint-Y-Teal" +terminal=run_terminal +lines=20 +width=50 +layer=overlay + +[colors] +background="242424e6" +text="dededeff" +selection="0860f2e6" +selection-text="ffffffff" +selection-match="cb6b36ff" diff --git a/.config/hexchat/addons/mymsg.py b/dot_config/hexchat/addons/mymsg.py similarity index 100% rename from .config/hexchat/addons/mymsg.py rename to dot_config/hexchat/addons/mymsg.py diff --git a/.config/hexchat/addons/notify.py b/dot_config/hexchat/addons/notify.py similarity index 100% rename from .config/hexchat/addons/notify.py rename to dot_config/hexchat/addons/notify.py diff --git a/.config/iosevka-build/.gitignore b/dot_config/iosevka-build/.gitignore similarity index 100% rename from .config/iosevka-build/.gitignore rename to dot_config/iosevka-build/.gitignore diff --git a/.config/iosevka-build/private-build-plans.toml b/dot_config/iosevka-build/private-build-plans.toml similarity index 100% rename from .config/iosevka-build/private-build-plans.toml rename to dot_config/iosevka-build/private-build-plans.toml diff --git a/dot_config/jj/config.toml b/dot_config/jj/config.toml new file mode 100644 index 0000000..11fecbb --- /dev/null +++ b/dot_config/jj/config.toml @@ -0,0 +1,41 @@ +[user] +name = "Barak Michener" +email = "me@barakmich.com" + +[ui] +editor = "nvim" +#default-command = ["log", "--reversed"] +default-command = ["util", "exec", "--", "bash", "-c", "jj log --reversed --no-pager && jj diff -s"] +diff-formatter = ["difft", "--display=inline", "--color=always", "$left", "$right"] +#diff-formatter = ":git" + +[revset-aliases] +'nearby(x)' = 'descendants(ancestors(@, x))::' +'closest_bookmark(to)' = "heads(::to & bookmarks())" + +[revsets] +log = "nearby(8) | @..main@origin | main@origin::@ | @:: | (visible_heads() & mine())" + + +[colors] +"diff token" = { underline = false } + +[templates] +git_push_bookmark = '"barakmich/" ++ change_id.short()' + +[git] +push-new-bookmarks = true +# Prevent pushing work in progress or anything explicitly labeled "private" +private-commits = "description(glob:'wip:*') | description(glob:'private:*') | description(glob:'XXX*')" + +[aliases] +bm = ["bookmark", "move", "--to"] +"bm." = ["bookmark", "move", "--to", "@"] +tug = ["bookmark", "move", "--from", "closest_bookmark(@-)", "--to", "@-"] +"tug." = ["bookmark", "move", "--from", "closest_bookmark(@-)", "--to", "@"] +pull = ["git", "fetch"] +fetch = ["git", "fetch"] +push = ["git", "push"] +p = ["git", "push", "-r", "closest_bookmark(@-)"] +d = ["describe", "-m"] +drop = ["abandon"] diff --git a/.config/k9s/config.yml b/dot_config/k9s/config.yml similarity index 100% rename from .config/k9s/config.yml rename to dot_config/k9s/config.yml diff --git a/.config/k9s/.k9s/config.yml b/dot_config/k9s/dot_k9s/config.yml similarity index 100% rename from .config/k9s/.k9s/config.yml rename to dot_config/k9s/dot_k9s/config.yml diff --git a/.config/k9s/hotkey.yml b/dot_config/k9s/hotkey.yml similarity index 100% rename from .config/k9s/hotkey.yml rename to dot_config/k9s/hotkey.yml diff --git a/.config/ncspot/config.toml b/dot_config/ncspot/config.toml similarity index 100% rename from .config/ncspot/config.toml rename to dot_config/ncspot/config.toml diff --git a/dot_config/opencode/opencode.jsonc b/dot_config/opencode/opencode.jsonc new file mode 100644 index 0000000..e0c6066 --- /dev/null +++ b/dot_config/opencode/opencode.jsonc @@ -0,0 +1,56 @@ +{ + "$schema": "https://opencode.ai/config.json", + // Theme configuration + "theme": "opencode", + "model": "daystrom/gpt-oss:120b-64k", + "autoupdate": true, + "share": "disabled", + "agent": { + "explorer": { + "mode": "primary", + "description": "Explores a codebase", + "prompt": "You are a senior engineer tasked with analyzing the codebase at hand and answering difficult questions about it in succinct, friendly, and accurate terms. You may search the web for more information. Don't blindly guess; list the files in the codebase. Find the key files and read them to make sure that you understand the implementation as well, like a good engineer.", + "tools": { + "write": false, + "read": true, + "grep": true, + "glob": true, + "list": true, + "todowrite": true, + "todoread": true, + "edit": false, + "bash": true, + "webfetch": true, + }, + }, + }, + "provider": { + "daystrom": { + "npm": "@ai-sdk/openai-compatible", + "name": "Ollama (daystrom)", + "options": { + "baseURL": "http://daystrom:11434/v1" + }, + "models": { + "gpt-oss:120b-64k": { + "name": "GPT-OSS 120b" + }, + "qwen3-coder:30b-a3b-q8_0-256k": { + "name": "Qwen3-Coder" + } + } + }, + "ollama": { + "npm": "@ai-sdk/openai-compatible", + "name": "Ollama (local)", + "options": { + "baseURL": "http://localhost:11434/v1" + }, + "models": { + "gpt-oss:20b-128k": { + "name": "GPT-OSS 20b" + } + } + } + } +} diff --git a/.config/karabiner/assets/complex_modifications/1701202333.json b/dot_config/private_karabiner/assets/private_complex_modifications/1701202333.json similarity index 100% rename from .config/karabiner/assets/complex_modifications/1701202333.json rename to dot_config/private_karabiner/assets/private_complex_modifications/1701202333.json diff --git a/.config/karabiner/automatic_backups/karabiner_20231128.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20231128.json similarity index 100% rename from .config/karabiner/automatic_backups/karabiner_20231128.json rename to dot_config/private_karabiner/private_automatic_backups/karabiner_20231128.json diff --git a/.config/karabiner/automatic_backups/karabiner_20231129.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20231129.json similarity index 100% rename from .config/karabiner/automatic_backups/karabiner_20231129.json rename to dot_config/private_karabiner/private_automatic_backups/karabiner_20231129.json diff --git a/.config/karabiner/automatic_backups/karabiner_20231130.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20231130.json similarity index 100% rename from .config/karabiner/automatic_backups/karabiner_20231130.json rename to dot_config/private_karabiner/private_automatic_backups/karabiner_20231130.json diff --git a/.config/karabiner/automatic_backups/karabiner_20240108.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20240108.json similarity index 100% rename from .config/karabiner/automatic_backups/karabiner_20240108.json rename to dot_config/private_karabiner/private_automatic_backups/karabiner_20240108.json diff --git a/.config/karabiner/automatic_backups/karabiner_20240109.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20240109.json similarity index 100% rename from .config/karabiner/automatic_backups/karabiner_20240109.json rename to dot_config/private_karabiner/private_automatic_backups/karabiner_20240109.json diff --git a/.config/karabiner/karabiner.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250127.json similarity index 100% rename from .config/karabiner/karabiner.json rename to dot_config/private_karabiner/private_automatic_backups/karabiner_20250127.json diff --git a/dot_config/private_karabiner/private_automatic_backups/karabiner_20250428.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250428.json new file mode 100644 index 0000000..468f05b --- /dev/null +++ b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250428.json @@ -0,0 +1,2649 @@ +{ + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "L (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "New Alacritty", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["shift", "command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -n /Applications/Alacritty.app" }], + "type": "basic" + } + ] + }, + { + "description": "G (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "g", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "3 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "3", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "2 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Backspace (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_or_backspace", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_or_backspace", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Delete (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_forward", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_forward", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "A (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "B (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "b", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["left_control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Switch Channels [Slack]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.tinyspeck\\.slackmacgap$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Spotlight [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "I (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "N (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "n", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "O (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "o", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "P (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "p", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "p", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "R (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "r", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "S (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "T (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "t", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "U (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "u", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "W (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "w", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "X (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "x", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Y (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "y", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Z (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "z", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Cmd) [Open Finder]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b com.apple.finder" }], + "type": "basic" + } + ] + }, + { + "description": "3 (Cmd) [Open second pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:1:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "4 (Cmd) [Open third pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:2:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "5 (Cmd) [Open fourth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:3:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "6 (Cmd) [Open fifth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:4:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "7 (Cmd) [Open sixth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:5:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "8 (Cmd) [Open eighth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:6:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "9 (Cmd) [Open ninth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:7:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "/ (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Space (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F1", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f1", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F3", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f3", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Alt) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "identifiers": { "is_pointing_device": true }, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 50475, + "vendor_id": 1133 + }, + "ignore": true + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 32774, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 29699, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + } + ], + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { + "country_code": 0, + "keyboard_type_v2": "ansi" + } + } + ] +} \ No newline at end of file diff --git a/dot_config/private_karabiner/private_automatic_backups/karabiner_20250715.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250715.json new file mode 100644 index 0000000..468f05b --- /dev/null +++ b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250715.json @@ -0,0 +1,2649 @@ +{ + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "L (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "New Alacritty", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["shift", "command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -n /Applications/Alacritty.app" }], + "type": "basic" + } + ] + }, + { + "description": "G (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "g", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "3 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "3", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "2 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Backspace (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_or_backspace", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_or_backspace", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Delete (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_forward", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_forward", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "A (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "B (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "b", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["left_control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Switch Channels [Slack]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.tinyspeck\\.slackmacgap$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Spotlight [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "I (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "N (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "n", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "O (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "o", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "P (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "p", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "p", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "R (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "r", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "S (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "T (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "t", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "U (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "u", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "W (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "w", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "X (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "x", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Y (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "y", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Z (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "z", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Cmd) [Open Finder]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b com.apple.finder" }], + "type": "basic" + } + ] + }, + { + "description": "3 (Cmd) [Open second pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:1:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "4 (Cmd) [Open third pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:2:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "5 (Cmd) [Open fourth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:3:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "6 (Cmd) [Open fifth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:4:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "7 (Cmd) [Open sixth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:5:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "8 (Cmd) [Open eighth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:6:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "9 (Cmd) [Open ninth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:7:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "/ (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Space (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F1", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f1", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F3", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f3", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Alt) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "identifiers": { "is_pointing_device": true }, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 50475, + "vendor_id": 1133 + }, + "ignore": true + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 32774, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 29699, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + } + ], + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { + "country_code": 0, + "keyboard_type_v2": "ansi" + } + } + ] +} \ No newline at end of file diff --git a/dot_config/private_karabiner/private_automatic_backups/karabiner_20250903.json b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250903.json new file mode 100644 index 0000000..7b4ce17 --- /dev/null +++ b/dot_config/private_karabiner/private_automatic_backups/karabiner_20250903.json @@ -0,0 +1,2650 @@ +{ + "global": { "show_in_menu_bar": false }, + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "L (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "New Alacritty", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["shift", "command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -n /Applications/Alacritty.app" }], + "type": "basic" + } + ] + }, + { + "description": "G (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "g", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "3 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "3", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "2 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Backspace (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_or_backspace", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_or_backspace", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Delete (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_forward", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_forward", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "A (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "B (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "b", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["left_control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Switch Channels [Slack]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.tinyspeck\\.slackmacgap$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Spotlight [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "I (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "N (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "n", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "O (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "o", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "P (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "p", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "p", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "R (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "r", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "S (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "T (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "t", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "U (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "u", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "W (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "w", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "X (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "x", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Y (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "y", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Z (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "z", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Cmd) [Open Finder]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b com.apple.finder" }], + "type": "basic" + } + ] + }, + { + "description": "3 (Cmd) [Open second pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:1:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "4 (Cmd) [Open third pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:2:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "5 (Cmd) [Open fourth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:3:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "6 (Cmd) [Open fifth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:4:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "7 (Cmd) [Open sixth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:5:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "8 (Cmd) [Open eighth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:6:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "9 (Cmd) [Open ninth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:7:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "/ (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Space (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F1", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f1", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F3", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f3", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Alt) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "identifiers": { "is_pointing_device": true }, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 50475, + "vendor_id": 1133 + }, + "ignore": true + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 32774, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 29699, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + } + ], + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { + "country_code": 0, + "keyboard_type_v2": "ansi" + } + } + ] +} \ No newline at end of file diff --git a/dot_config/private_karabiner/private_karabiner.json b/dot_config/private_karabiner/private_karabiner.json new file mode 100644 index 0000000..88189fd --- /dev/null +++ b/dot_config/private_karabiner/private_karabiner.json @@ -0,0 +1,2782 @@ +{ + "global": { "show_in_menu_bar": false }, + "profiles": [ + { + "complex_modifications": { + "rules": [ + { + "description": "K Command as K Option [Terminal]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "J Command as J Option [Terminal]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "j", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "j", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L Command as L Option [Terminal]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "H Command as H Option [Terminal]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "h", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "h", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "l", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "New Alacritty", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["shift", "command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -n /Applications/Alacritty.app" }], + "type": "basic" + } + ] + }, + { + "description": "G (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "g", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "f", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "4", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "3 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "3", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "2 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "2", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "2", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.mozilla\\.firefox$", + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "1", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Insert (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "insert", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Home (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "home", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "up_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "End (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "end", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "down_arrow", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Left Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "left_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "left_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Right Arrow (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "right_arrow", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "right_arrow", + "modifiers": ["option", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Backspace (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_or_backspace", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_or_backspace", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Delete (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "delete_forward", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "delete_forward", + "modifiers": ["option"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Enter (Ctrl+Shift)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "return_or_enter", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "return_or_enter", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "A (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "a", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "a", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "B (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "b", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "b", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["left_control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "C (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "c", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "c", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Switch Channels [Slack]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.tinyspeck\\.slackmacgap$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "k", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "k", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Spotlight [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "I (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "i", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "i", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Win) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Login Window]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "/System/Library/CoreServices/Menu\\ Extras/User.menu/Contents/Resources/CGSession -suspend" }], + "type": "basic" + } + ] + }, + { + "description": "L (Alt+Ctrl) [Lock Screen]", + "manipulators": [ + { + "from": { + "key_code": "l", + "modifiers": { + "mandatory": ["control", "option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "power", + "modifiers": ["control", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "N (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "n", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "n", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "O (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "o", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "o", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "P (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "p", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "p", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "R (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "r", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "r", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "S (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "s", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "s", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "T (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "t", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "t", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "U (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "u", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "u", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "V (Ctrl+Shift) [Only Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "v", + "modifiers": { + "mandatory": ["control", "shift"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "v", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "W (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "w", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "X (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "x", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "x", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Y (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "y", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "y", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Z (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "z", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "z", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "1 (Cmd) [Open Finder]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "1", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b com.apple.finder" }], + "type": "basic" + } + ] + }, + { + "description": "3 (Cmd) [Open second pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "3", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:1:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "4 (Cmd) [Open third pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "4", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:2:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "5 (Cmd) [Open fourth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "5", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:3:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "6 (Cmd) [Open fifth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "6", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:4:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "7 (Cmd) [Open sixth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "7", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:5:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "8 (Cmd) [Open eighth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "8", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:6:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "9 (Cmd) [Open ninth pinned Dock app]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "9", + "modifiers": { + "mandatory": ["command"], + "optional": ["any"] + } + }, + "to": [{ "shell_command": "open -b $(/usr/libexec/PlistBuddy -c 'print :persistent-apps:7:tile-data:bundle-identifier' ~/Library/Preferences/com.apple.dock.plist)" }], + "type": "basic" + } + ] + }, + { + "description": "/ (Ctrl) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "slash", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "Space (Ctrl)", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "spacebar", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "spacebar", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F1", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f1", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "slash", + "modifiers": ["command", "shift"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F3", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$", + "^org\\.alacritty$", + "^co\\.zeit\\.hyper$", + "^com\\.googlecode\\.iterm2$", + "^com\\.apple\\.Terminal$", + "^com\\.github\\.wez\\.wezterm$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f3", + "modifiers": { "optional": ["any"] } + }, + "to": [ + { + "key_code": "g", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Alt) [+Terminal Emulators]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^org\\.virtualbox\\.app\\.VirtualBoxVM$", + "^com\\.parallels\\.desktop\\.console$", + "^org\\.vmware\\.fusion$", + "^org\\.gnu\\.emacs$", + "^com\\.jetbrains", + "^com\\.microsoft\\.VSCode$", + "^com\\.sublimetext\\.3$", + "^net\\.kovidgoyal\\.kitty$", + "^com\\.citrix\\.XenAppViewer$", + "^com\\.microsoft\\.rdc\\.macos$" + ], + "file_paths": ["Chrome Remote Desktop\\.app"], + "type": "frontmost_application_unless" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["option"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "q", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + }, + { + "description": "F4 (Ctrl) [Only Chrome]", + "manipulators": [ + { + "conditions": [ + { + "bundle_identifiers": [ + "^com\\.google\\.Chrome$" + ], + "type": "frontmost_application_if" + } + ], + "from": { + "key_code": "f4", + "modifiers": { + "mandatory": ["control"], + "optional": ["any"] + } + }, + "to": [ + { + "key_code": "w", + "modifiers": ["command"] + } + ], + "type": "basic" + } + ] + } + ] + }, + "devices": [ + { + "identifiers": { "is_pointing_device": true }, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 50475, + "vendor_id": 1133 + }, + "ignore": true + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 32774, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + }, + { + "identifiers": { + "is_keyboard": true, + "product_id": 29699, + "vendor_id": 3141 + }, + "simple_modifications": [ + { + "from": { "key_code": "left_command" }, + "to": [{ "key_code": "left_option" }] + }, + { + "from": { "key_code": "left_option" }, + "to": [{ "key_code": "left_command" }] + } + ] + } + ], + "name": "Default profile", + "selected": true, + "simple_modifications": [ + { + "from": { "key_code": "caps_lock" }, + "to": [{ "key_code": "left_control" }] + } + ], + "virtual_hid_keyboard": { + "country_code": 0, + "keyboard_type_v2": "ansi" + } + } + ] +} \ No newline at end of file diff --git a/.config/rofi/config.rasi b/dot_config/rofi/config.rasi similarity index 100% rename from .config/rofi/config.rasi rename to dot_config/rofi/config.rasi diff --git a/dot_config/symlink_nvim b/dot_config/symlink_nvim new file mode 100644 index 0000000..b68ce03 --- /dev/null +++ b/dot_config/symlink_nvim @@ -0,0 +1 @@ +../.vim diff --git a/dot_config/systemd/user/default.target.wants/symlink_ssh-agent.service.tmpl b/dot_config/systemd/user/default.target.wants/symlink_ssh-agent.service.tmpl new file mode 100644 index 0000000..50da24d --- /dev/null +++ b/dot_config/systemd/user/default.target.wants/symlink_ssh-agent.service.tmpl @@ -0,0 +1 @@ +{{- .chezmoi.homeDir}}/.config/systemd/user/ssh-agent.service diff --git a/.config/systemd/user/ssh-agent.service b/dot_config/systemd/user/ssh-agent.service similarity index 100% rename from .config/systemd/user/ssh-agent.service rename to dot_config/systemd/user/ssh-agent.service diff --git a/.config/terminator/config b/dot_config/terminator/config similarity index 100% rename from .config/terminator/config rename to dot_config/terminator/config diff --git a/.config/tig/config b/dot_config/tig/config similarity index 100% rename from .config/tig/config rename to dot_config/tig/config diff --git a/.config/xfce4/desktop/icons.screen0-2544x1399.rc b/dot_config/xfce4/desktop/icons.screen0-2544x1399.rc similarity index 100% rename from .config/xfce4/desktop/icons.screen0-2544x1399.rc rename to dot_config/xfce4/desktop/icons.screen0-2544x1399.rc diff --git a/.config/xfce4/panel/genmon-13.rc b/dot_config/xfce4/panel/genmon-13.rc similarity index 100% rename from .config/xfce4/panel/genmon-13.rc rename to dot_config/xfce4/panel/genmon-13.rc diff --git a/.config/xfce4/panel/whiskermenu-1.rc b/dot_config/xfce4/panel/whiskermenu-1.rc similarity index 100% rename from .config/xfce4/panel/whiskermenu-1.rc rename to dot_config/xfce4/panel/whiskermenu-1.rc diff --git a/.config/xfce4/terminal/accels.scm b/dot_config/xfce4/terminal/accels.scm similarity index 100% rename from .config/xfce4/terminal/accels.scm rename to dot_config/xfce4/terminal/accels.scm diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/displays.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/displays.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/displays.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/displays.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/keyboards.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/thunar.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-desktop.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-notifyd.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-power-manager.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-session.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfce4-settings-manager.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xfwm4.xml diff --git a/.config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml b/dot_config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml similarity index 100% rename from .config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml rename to dot_config/xfce4/xfconf/xfce-perchannel-xml/xsettings.xml diff --git a/.conkyrc b/dot_conkyrc similarity index 100% rename from .conkyrc rename to dot_conkyrc diff --git a/.emacs.local/barak-theme.el b/dot_emacs.local/barak-theme.el similarity index 100% rename from .emacs.local/barak-theme.el rename to dot_emacs.local/barak-theme.el diff --git a/.fehbg.example b/dot_fehbg.example similarity index 100% rename from .fehbg.example rename to dot_fehbg.example diff --git a/.fonts/Droid Sans Mono Dotted.ttf b/dot_fonts/Droid Sans Mono Dotted.ttf similarity index 100% rename from .fonts/Droid Sans Mono Dotted.ttf rename to dot_fonts/Droid Sans Mono Dotted.ttf diff --git a/.gitconfig b/dot_gitconfig similarity index 95% rename from .gitconfig rename to dot_gitconfig index 5c45626..5e7cf17 100644 --- a/.gitconfig +++ b/dot_gitconfig @@ -58,3 +58,7 @@ smudge = git-lfs smudge -- %f process = git-lfs filter-process required = true +[status] + submodulesummary = 1 +[submodule] + recurse = true diff --git a/.gitignore b/dot_gitignore similarity index 100% rename from .gitignore rename to dot_gitignore diff --git a/.gnome.dconf b/dot_gnome.dconf similarity index 100% rename from .gnome.dconf rename to dot_gnome.dconf diff --git a/.gvimrc b/dot_gvimrc similarity index 100% rename from .gvimrc rename to dot_gvimrc diff --git a/.hgrc b/dot_hgrc similarity index 100% rename from .hgrc rename to dot_hgrc diff --git a/.i3/config b/dot_i3/config similarity index 100% rename from .i3/config rename to dot_i3/config diff --git a/.i3/i3-barak-tool.py b/dot_i3/i3-barak-tool.py similarity index 100% rename from .i3/i3-barak-tool.py rename to dot_i3/i3-barak-tool.py diff --git a/.i3/i3-focus-next b/dot_i3/i3-focus-next similarity index 100% rename from .i3/i3-focus-next rename to dot_i3/i3-focus-next diff --git a/.i3status.conf b/dot_i3status.conf similarity index 100% rename from .i3status.conf rename to dot_i3status.conf diff --git a/.latex/basehtml.cfg b/dot_latex/basehtml.cfg similarity index 100% rename from .latex/basehtml.cfg rename to dot_latex/basehtml.cfg diff --git a/.local/share/applications/com.spotify.Client.desktop b/dot_local/share/applications/com.spotify.Client.desktop similarity index 100% rename from .local/share/applications/com.spotify.Client.desktop rename to dot_local/share/applications/com.spotify.Client.desktop diff --git a/.local/share/rofi/themes/rounded-blue-dark.rasi b/dot_local/share/rofi/themes/rounded-blue-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-blue-dark.rasi rename to dot_local/share/rofi/themes/rounded-blue-dark.rasi diff --git a/.local/share/rofi/themes/rounded-common.rasi b/dot_local/share/rofi/themes/rounded-common.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-common.rasi rename to dot_local/share/rofi/themes/rounded-common.rasi diff --git a/.local/share/rofi/themes/rounded-gray-dark.rasi b/dot_local/share/rofi/themes/rounded-gray-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-gray-dark.rasi rename to dot_local/share/rofi/themes/rounded-gray-dark.rasi diff --git a/.local/share/rofi/themes/rounded-green-dark.rasi b/dot_local/share/rofi/themes/rounded-green-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-green-dark.rasi rename to dot_local/share/rofi/themes/rounded-green-dark.rasi diff --git a/.local/share/rofi/themes/rounded-nord-dark.rasi b/dot_local/share/rofi/themes/rounded-nord-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-nord-dark.rasi rename to dot_local/share/rofi/themes/rounded-nord-dark.rasi diff --git a/.local/share/rofi/themes/rounded-orange-dark.rasi b/dot_local/share/rofi/themes/rounded-orange-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-orange-dark.rasi rename to dot_local/share/rofi/themes/rounded-orange-dark.rasi diff --git a/.local/share/rofi/themes/rounded-pink-dark.rasi b/dot_local/share/rofi/themes/rounded-pink-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-pink-dark.rasi rename to dot_local/share/rofi/themes/rounded-pink-dark.rasi diff --git a/.local/share/rofi/themes/rounded-purple-dark.rasi b/dot_local/share/rofi/themes/rounded-purple-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-purple-dark.rasi rename to dot_local/share/rofi/themes/rounded-purple-dark.rasi diff --git a/.local/share/rofi/themes/rounded-red-dark.rasi b/dot_local/share/rofi/themes/rounded-red-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-red-dark.rasi rename to dot_local/share/rofi/themes/rounded-red-dark.rasi diff --git a/.local/share/rofi/themes/rounded-yellow-dark.rasi b/dot_local/share/rofi/themes/rounded-yellow-dark.rasi similarity index 100% rename from .local/share/rofi/themes/rounded-yellow-dark.rasi rename to dot_local/share/rofi/themes/rounded-yellow-dark.rasi diff --git a/.local/share/rofi/themes/spotlight-dark.rasi b/dot_local/share/rofi/themes/spotlight-dark.rasi similarity index 100% rename from .local/share/rofi/themes/spotlight-dark.rasi rename to dot_local/share/rofi/themes/spotlight-dark.rasi diff --git a/.local/share/rofi/themes/spotlight.rasi b/dot_local/share/rofi/themes/spotlight.rasi similarity index 100% rename from .local/share/rofi/themes/spotlight.rasi rename to dot_local/share/rofi/themes/spotlight.rasi diff --git a/dot_local/share/symlink_fonts.tmpl b/dot_local/share/symlink_fonts.tmpl new file mode 100644 index 0000000..60362ac --- /dev/null +++ b/dot_local/share/symlink_fonts.tmpl @@ -0,0 +1 @@ +{{- .chezmoi.homeDir }}/.fonts diff --git a/.mailcap b/dot_mailcap similarity index 100% rename from .mailcap rename to dot_mailcap diff --git a/.muttrc b/dot_muttrc similarity index 100% rename from .muttrc rename to dot_muttrc diff --git a/.nethackrc b/dot_nethackrc similarity index 87% rename from .nethackrc rename to dot_nethackrc index f352d95..79817f0 100644 --- a/.nethackrc +++ b/dot_nethackrc @@ -1,7 +1,8 @@ # # System-wide NetHack configuration file for console-only NetHack. # -OPTIONS=windowtype:tty,toptenwin,hilite_pet,!number_pad,!cmdassist +#OPTIONS=windowtype:tty,toptenwin,hilite_pet,!number_pad,!cmdassist +OPTIONS=!number_pad,!cmdassist OPTIONS=fixinv,safe_pet,sortpack,tombstone,color OPTIONS=verbose,news,fruit:potato OPTIONS=dogname:Darty diff --git a/.npmrc b/dot_npmrc similarity index 100% rename from .npmrc rename to dot_npmrc diff --git a/.puppet/console.pp b/dot_puppet/console.pp similarity index 100% rename from .puppet/console.pp rename to dot_puppet/console.pp diff --git a/.puppet/cpp.pp b/dot_puppet/cpp.pp similarity index 100% rename from .puppet/cpp.pp rename to dot_puppet/cpp.pp diff --git a/.puppet/editor.pp b/dot_puppet/editor.pp similarity index 100% rename from .puppet/editor.pp rename to dot_puppet/editor.pp diff --git a/.puppet/go.pp b/dot_puppet/go.pp similarity index 100% rename from .puppet/go.pp rename to dot_puppet/go.pp diff --git a/.puppet/install-dev.pp b/dot_puppet/install-dev.pp similarity index 100% rename from .puppet/install-dev.pp rename to dot_puppet/install-dev.pp diff --git a/.puppet/install-linux.pp b/dot_puppet/install-linux.pp similarity index 100% rename from .puppet/install-linux.pp rename to dot_puppet/install-linux.pp diff --git a/.puppet/python.pp b/dot_puppet/python.pp similarity index 100% rename from .puppet/python.pp rename to dot_puppet/python.pp diff --git a/.puppet/x11.pp b/dot_puppet/x11.pp similarity index 100% rename from .puppet/x11.pp rename to dot_puppet/x11.pp diff --git a/.pylintrc b/dot_pylintrc similarity index 100% rename from .pylintrc rename to dot_pylintrc diff --git a/.screenrc b/dot_screenrc similarity index 100% rename from .screenrc rename to dot_screenrc diff --git a/.setup_new_env.sh b/dot_setup_new_env.sh similarity index 100% rename from .setup_new_env.sh rename to dot_setup_new_env.sh diff --git a/.spacemacs b/dot_spacemacs similarity index 100% rename from .spacemacs rename to dot_spacemacs diff --git a/.taskrc b/dot_taskrc similarity index 100% rename from .taskrc rename to dot_taskrc diff --git a/.tmux.conf b/dot_tmux.conf similarity index 53% rename from .tmux.conf rename to dot_tmux.conf index b3542e5..c2aeef0 100644 --- a/.tmux.conf +++ b/dot_tmux.conf @@ -8,13 +8,13 @@ setw -g pane-base-index 1 set -sg escape-time 10 bind-key C-o last-window -bind-key C-a select-pane -t :.+ +# bind-key C-a select-pane -t :.+ bind-key a send-prefix bind r source-file ~/.tmux.conf -bind -n M-j select-pane -D -bind -n M-k select-pane -U -bind -n M-h select-pane -L -bind -n M-l select-pane -R +bind -n M-j select-pane -t :.+ +bind -n M-k select-pane -t :.- +#bind -n M-h select-pane -L +#bind -n M-l select-pane -R bind -n M-n next-window bind -n M-p previous-window bind-key C-n next-window @@ -22,7 +22,7 @@ bind-key C-p previous-window set -g set-titles off set -g mouse on set -g default-terminal tmux-256color -set-option -g default-shell /bin/fish +#set-option -g default-shell /bin/fish setw -g mode-keys vi new -d @@ -45,11 +45,13 @@ bind-key l select-pane -R bind-key u break-pane #bind-key sdf command-prompt -p "join pane from:" "join-pane -s '%%'" bind-key y command-prompt -p "send pane to:" "join-pane -t :'%%' \; select-layout main-vertical" -bind-key Enter rotate-window +bind-key Space rotate-window bind v split-window -h +bind Enter split-window -h \; select-layout main-vertical bind = select-layout even-horizontal bind | select-layout main-vertical +set -g main-pane-width 68% bind-key C-t new-window "ttyd -R -d -t fontSize=18 tmux attach -t `tmux display -p '#S'`" # Status Bar @@ -59,6 +61,7 @@ set -g status-interval 5 ##set -g status-right '#[fg=green]#(~/src/tpom/tpom) #[fg=cyan,bold]%Y-%m-%d %H:%M:%S#[default]' #set -g status-justify centre # center align window list #set -g status-style fg=white,bg=default +set -g status-position top ## default window title colors #set-window-option -g window-status-style fg=white,bg=default,dim @@ -84,48 +87,49 @@ set -g activity-action none # Highlighting the active window in status bar #setw -g window-status-current-style bg=red,bright -set -g @catppuccin_flavour 'mocha' # or frappe, macchiato, mocha - -set -g @catppuccin_window_status_enable "yes" -set -g @catppuccin_window_number_position "left" -set -g @catppuccin_window_left_separator "" -set -g @catppuccin_window_right_separator " " -set -g @catppuccin_window_middle_separator " " -set -g @catppuccin_window_connect_separator "yes" - -set -g @catppuccin_window_default_color "#{thm_gray}" -set -g @catppuccin_window_default_background "#{thm_green}" -set -g @catppuccin_window_default_fill "all" -set -g @catppuccin_window_default_text "#W" - -set -g @catppuccin_window_current_fill "all" -set -g @catppuccin_window_current_text "#W" -set -g @catppuccin_window_current_color "#{thm_blue}" -set -g @catppuccin_window_current_background "#{thm_bg}" - -set -g @catppuccin_icon_window_last "󰖰" -set -g @catppuccin_icon_window_current "󰫣" -set -g @catppuccin_icon_window_zoom "󰁌" -set -g @catppuccin_icon_window_mark "󰃀" -set -g @catppuccin_icon_window_silent "󰂛" -set -g @catppuccin_icon_window_activity "󱅫" -set -g @catppuccin_icon_window_bell "󰂞" - -set -g @catppuccin_status_modules_right "directory battery host date_time" -set -g @catppuccin_status_left_separator "" -set -g @catppuccin_status_right_separator "" -set -g @catppuccin_status_fill "icon" -set -g @catppuccin_status_connect_separator "yes" -set -g @catppuccin_date_time_text "%Y-%m-%d %H:%M" - -set -g @catppuccin_pane_status_enabled "yes" -set -g @catppuccin_directory_text "#{pane_current_path}" +set -g @catppuccin_window_status "icon" +set -g @catppuccin_flavor 'mocha' # or frappe, macchiato, mocha + +set -g @catppuccin_window_status_style "rounded" + + +set -g @catppuccin_window_current_text_color "#4780d2" +set -g @catppuccin_window_current_number_color "#4780d2" +set -g @catppuccin_window_text_color "#{@thm_surface_1}" +set -g @catppuccin_window_number_color "#{@thm_surface_1}" + +set -g @catppuccin_window_text "#W " +set -g @catppuccin_window_number "#I" +set -g @catppuccin_window_current_text "#W " +set -g @catppuccin_window_current_number "#I" + +set -ogq @catppuccin_window_flags "icon" +set -ogq @catppuccin_window_flags_icon_last "󰖰" +set -ogq @catppuccin_window_flags_icon_current "󰫣" +set -ogq @catppuccin_window_flags_icon_zoom "󰁌" +set -ogq @catppuccin_window_flags_icon_mark "󰃀" +set -ogq @catppuccin_window_flags_icon_silent "󰂛" +set -ogq @catppuccin_window_flags_icon_activity "󱅫" +set -ogq @catppuccin_window_flags_icon_bell "󰂞" + +set -ogq @catppuccin_window_flags_icon_format "##{?window_activity_flag,#{E:@catppuccin_window_flags_icon_activity},}##{?window_bell_flag,#{E:@catppuccin_window_flags_icon_bell},}##{?window_silence_flag,#{E:@catppuccin_window_flags_icon_silent},}##{?window_active,#{E:@catppuccin_window_flags_icon_current},}##{?window_last_flag,#{E:@catppuccin_window_flags_icon_last},}##{?window_marked_flag,#{E:@catppuccin_window_flags_icon_mark},}##{?window_zoomed_flag,#{E:@catppuccin_window_flags_icon_zoom},}" + +run '~/.tmux/plugins/tmux/catppuccin.tmux' + +set -g status-right-length 100 +set -g status-left-length 100 +set -g status-left "" +set -g status-right "#{E:@catppuccin_status_directory}" +set -agF status-right "#{E:@catppuccin_status_battery}" +set -ag status-right "#{E:@catppuccin_status_host}" +set -ag status-right "#{E:@catppuccin_status_date_time}" + +#set -g @catppuccin_directory_text " #{b:pane_current_path}" set -g @plugin 'catppuccin/tmux' set -g @plugin 'tmux-plugins/tmux-battery' set -g @plugin 'tmux-plugins/tpm' run -b '~/.tmux/plugins/tpm/tpm' -# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm diff --git a/.tz_aliases.sh b/dot_tz_aliases.sh similarity index 100% rename from .tz_aliases.sh rename to dot_tz_aliases.sh diff --git a/.vim/after/ftplugin/go.vim b/dot_vim/after/ftplugin/go.vim similarity index 100% rename from .vim/after/ftplugin/go.vim rename to dot_vim/after/ftplugin/go.vim diff --git a/.vim/after/ftplugin/haskell.vim b/dot_vim/after/ftplugin/haskell.vim similarity index 100% rename from .vim/after/ftplugin/haskell.vim rename to dot_vim/after/ftplugin/haskell.vim diff --git a/.vim/after/ftplugin/qf.vim b/dot_vim/after/ftplugin/qf.vim similarity index 69% rename from .vim/after/ftplugin/qf.vim rename to dot_vim/after/ftplugin/qf.vim index 895d7ac..0f10635 100644 --- a/.vim/after/ftplugin/qf.vim +++ b/dot_vim/after/ftplugin/qf.vim @@ -1,3 +1,2 @@ nmap { (qf_previous_file) nmap } (qf_next_file) -nmap dd .Reject diff --git a/.vim/after/syntax/cocoa_keywords.vim b/dot_vim/after/syntax/cocoa_keywords.vim similarity index 100% rename from .vim/after/syntax/cocoa_keywords.vim rename to dot_vim/after/syntax/cocoa_keywords.vim diff --git a/.vim/after/syntax/objc_enhanced.vim b/dot_vim/after/syntax/objc_enhanced.vim similarity index 100% rename from .vim/after/syntax/objc_enhanced.vim rename to dot_vim/after/syntax/objc_enhanced.vim diff --git a/.vim/autoload/airline/themes/barak.vim b/dot_vim/autoload/airline/themes/barak.vim similarity index 100% rename from .vim/autoload/airline/themes/barak.vim rename to dot_vim/autoload/airline/themes/barak.vim diff --git a/.vim/autoload/genutils.vim b/dot_vim/autoload/genutils.vim similarity index 100% rename from .vim/autoload/genutils.vim rename to dot_vim/autoload/genutils.vim diff --git a/.vim/autoload/lookupfile.vim b/dot_vim/autoload/lookupfile.vim similarity index 100% rename from .vim/autoload/lookupfile.vim rename to dot_vim/autoload/lookupfile.vim diff --git a/.vim/autoload/objc/cocoacomplete.vim b/dot_vim/autoload/objc/cocoacomplete.vim similarity index 100% rename from .vim/autoload/objc/cocoacomplete.vim rename to dot_vim/autoload/objc/cocoacomplete.vim diff --git a/.vim/autoload/objc/man.vim b/dot_vim/autoload/objc/man.vim similarity index 100% rename from .vim/autoload/objc/man.vim rename to dot_vim/autoload/objc/man.vim diff --git a/.vim/autoload/objc/method_builder.vim b/dot_vim/autoload/objc/method_builder.vim similarity index 100% rename from .vim/autoload/objc/method_builder.vim rename to dot_vim/autoload/objc/method_builder.vim diff --git a/.vim/autoload/objc/method_list.vim b/dot_vim/autoload/objc/method_list.vim similarity index 100% rename from .vim/autoload/objc/method_list.vim rename to dot_vim/autoload/objc/method_list.vim diff --git a/.vim/autoload/objc/pum_snippet.vim b/dot_vim/autoload/objc/pum_snippet.vim similarity index 100% rename from .vim/autoload/objc/pum_snippet.vim rename to dot_vim/autoload/objc/pum_snippet.vim diff --git a/.vim/autoload/pathogen.vim b/dot_vim/autoload/pathogen.vim similarity index 100% rename from .vim/autoload/pathogen.vim rename to dot_vim/autoload/pathogen.vim diff --git a/.vim/autoload/plug.vim b/dot_vim/autoload/plug.vim similarity index 100% rename from .vim/autoload/plug.vim rename to dot_vim/autoload/plug.vim diff --git a/.vim/autoload/pythoncomplete.vim b/dot_vim/autoload/pythoncomplete.vim similarity index 100% rename from .vim/autoload/pythoncomplete.vim rename to dot_vim/autoload/pythoncomplete.vim diff --git a/.vim/autoload/rubycomplete.vim b/dot_vim/autoload/rubycomplete.vim similarity index 100% rename from .vim/autoload/rubycomplete.vim rename to dot_vim/autoload/rubycomplete.vim diff --git a/.vim/autoload/snipMate.vim b/dot_vim/autoload/snipMate.vim similarity index 100% rename from .vim/autoload/snipMate.vim rename to dot_vim/autoload/snipMate.vim diff --git a/.vim/buftabs.vim b/dot_vim/buftabs.vim similarity index 100% rename from .vim/buftabs.vim rename to dot_vim/buftabs.vim diff --git a/.vim/charm.vim b/dot_vim/charm.vim similarity index 100% rename from .vim/charm.vim rename to dot_vim/charm.vim diff --git a/.vim/closetag.vim b/dot_vim/closetag.vim similarity index 100% rename from .vim/closetag.vim rename to dot_vim/closetag.vim diff --git a/.vim/coc-settings.json b/dot_vim/coc-settings.json similarity index 100% rename from .vim/coc-settings.json rename to dot_vim/coc-settings.json diff --git a/.vim/colors/barak.vim b/dot_vim/colors/barak.vim similarity index 100% rename from .vim/colors/barak.vim rename to dot_vim/colors/barak.vim diff --git a/.vim/colors/baraknew.vim b/dot_vim/colors/baraknew.vim similarity index 100% rename from .vim/colors/baraknew.vim rename to dot_vim/colors/baraknew.vim diff --git a/.vim/colors/dante.vim b/dot_vim/colors/dante.vim similarity index 100% rename from .vim/colors/dante.vim rename to dot_vim/colors/dante.vim diff --git a/.vim/colors/ir_black.vim b/dot_vim/colors/ir_black.vim similarity index 100% rename from .vim/colors/ir_black.vim rename to dot_vim/colors/ir_black.vim diff --git a/.vim/colors/lucius.vim b/dot_vim/colors/lucius.vim similarity index 100% rename from .vim/colors/lucius.vim rename to dot_vim/colors/lucius.vim diff --git a/.vim/colors/ps_color.vim b/dot_vim/colors/ps_color.vim similarity index 100% rename from .vim/colors/ps_color.vim rename to dot_vim/colors/ps_color.vim diff --git a/.vim/colors/zenburn.vim b/dot_vim/colors/zenburn.vim similarity index 100% rename from .vim/colors/zenburn.vim rename to dot_vim/colors/zenburn.vim diff --git a/.vim/doc/NERD_tree.txt b/dot_vim/doc/NERD_tree.txt similarity index 100% rename from .vim/doc/NERD_tree.txt rename to dot_vim/doc/NERD_tree.txt diff --git a/.vim/doc/bufexplorer.txt b/dot_vim/doc/bufexplorer.txt similarity index 100% rename from .vim/doc/bufexplorer.txt rename to dot_vim/doc/bufexplorer.txt diff --git a/.vim/doc/cocoa.txt b/dot_vim/doc/cocoa.txt similarity index 100% rename from .vim/doc/cocoa.txt rename to dot_vim/doc/cocoa.txt diff --git a/.vim/doc/matchit.txt b/dot_vim/doc/matchit.txt similarity index 100% rename from .vim/doc/matchit.txt rename to dot_vim/doc/matchit.txt diff --git a/.vim/doc/project.txt b/dot_vim/doc/project.txt similarity index 100% rename from .vim/doc/project.txt rename to dot_vim/doc/project.txt diff --git a/.vim/doc/ps_color.txt b/dot_vim/doc/ps_color.txt similarity index 100% rename from .vim/doc/ps_color.txt rename to dot_vim/doc/ps_color.txt diff --git a/.vim/doc/snipMate.txt b/dot_vim/doc/snipMate.txt similarity index 100% rename from .vim/doc/snipMate.txt rename to dot_vim/doc/snipMate.txt diff --git a/.vim/doc/tags b/dot_vim/doc/tags similarity index 100% rename from .vim/doc/tags rename to dot_vim/doc/tags diff --git a/.vim/doc/vcscommand.txt b/dot_vim/doc/vcscommand.txt similarity index 100% rename from .vim/doc/vcscommand.txt rename to dot_vim/doc/vcscommand.txt diff --git a/.vim/filetype.vim b/dot_vim/filetype.vim similarity index 100% rename from .vim/filetype.vim rename to dot_vim/filetype.vim diff --git a/.vim/ftdetect/proto.vim b/dot_vim/ftdetect/proto.vim similarity index 100% rename from .vim/ftdetect/proto.vim rename to dot_vim/ftdetect/proto.vim diff --git a/.vim/ftdetect/scala.vim b/dot_vim/ftdetect/scala.vim similarity index 100% rename from .vim/ftdetect/scala.vim rename to dot_vim/ftdetect/scala.vim diff --git a/.vim/ftplugin/html_snip_helper.vim b/dot_vim/ftplugin/html_snip_helper.vim similarity index 100% rename from .vim/ftplugin/html_snip_helper.vim rename to dot_vim/ftplugin/html_snip_helper.vim diff --git a/.vim/ftplugin/objc_cocoa_mappings.vim b/dot_vim/ftplugin/objc_cocoa_mappings.vim similarity index 100% rename from .vim/ftplugin/objc_cocoa_mappings.vim rename to dot_vim/ftplugin/objc_cocoa_mappings.vim diff --git a/.vim/indent/cpp.vim b/dot_vim/indent/cpp.vim similarity index 100% rename from .vim/indent/cpp.vim rename to dot_vim/indent/cpp.vim diff --git a/.vim/indent/gohtmltmpl.vim b/dot_vim/indent/gohtmltmpl.vim similarity index 100% rename from .vim/indent/gohtmltmpl.vim rename to dot_vim/indent/gohtmltmpl.vim diff --git a/.vim/indent/haskell.vim b/dot_vim/indent/haskell.vim similarity index 100% rename from .vim/indent/haskell.vim rename to dot_vim/indent/haskell.vim diff --git a/.vim/indent/javascript.vim b/dot_vim/indent/javascript.vim similarity index 100% rename from .vim/indent/javascript.vim rename to dot_vim/indent/javascript.vim diff --git a/.vim/indent/mako.vim b/dot_vim/indent/mako.vim similarity index 100% rename from .vim/indent/mako.vim rename to dot_vim/indent/mako.vim diff --git a/.vim/indent/python.vim b/dot_vim/indent/python.vim similarity index 100% rename from .vim/indent/python.vim rename to dot_vim/indent/python.vim diff --git a/.vim/indent/scala.vim b/dot_vim/indent/scala.vim similarity index 100% rename from .vim/indent/scala.vim rename to dot_vim/indent/scala.vim diff --git a/.vim/init.vim b/dot_vim/init.vim similarity index 100% rename from .vim/init.vim rename to dot_vim/init.vim diff --git a/dot_vim/lua/avante_setup.lua b/dot_vim/lua/avante_setup.lua new file mode 100644 index 0000000..21a8ec3 --- /dev/null +++ b/dot_vim/lua/avante_setup.lua @@ -0,0 +1,17 @@ +require("avante_lib").load() +require("avante").setup({ + provider = "ollama", + auto_suggestions_provider = "ollama", + cursor_applying_provider = "ollama", + behavior = { + auto_suggestions = false, + enable_cursor_planning_mode = true, + }, + hints = { + enabled = false, + }, + ollama = { + endpoint = "http://127.0.0.1:11434", + model = "phi4:14b", + }, +}) diff --git a/dot_vim/lua/cmp_setup.lua b/dot_vim/lua/cmp_setup.lua new file mode 100644 index 0000000..bbc30f0 --- /dev/null +++ b/dot_vim/lua/cmp_setup.lua @@ -0,0 +1,117 @@ +local cmp = require 'cmp' +local lspkind = require('lspkind') + +--lspkind.init({ +---- disables text annotations +----with_text = false, +----with_text = true, + +---- defines how annotations are shown +---- default: symbol +---- options: 'text', 'text_symbol', 'symbol_text', 'symbol' +--mode = 'symbol', + +---- default symbol map +---- can be either 'default' or 'codicons' +--preset = 'default', + +---- override preset symbols +---- default: {} +----symbol_map = { +----Method = 'm', +----Function = 'f', +----Text = 'txt', +----Constructor = 'new', +----Variable = 'var', +----Class = 'cls', +----Interface = 'iface', +----Module = 'mod', +----Property = 'prop', +----Unit = 'unit', +----Value = 'val', +----Enum = 'enum', +----Keyword = 'kw', +----Snippet = 'sn', +----Color = 'color', +----File = 'file', +----Folder = 'fold', +----EnumMember = 'enum', +----Constant = 'const', +----Struct = 'struct', +----}, +--}) + + +cmp.setup({ + snippet = { + -- REQUIRED - you must specify a snippet engine + expand = function(args) + require('snippy').expand_snippet(args.body) -- For `snippy` users. + -- vim.snippet.expand(args.body) -- For native neovim snippets (Neovim v0.10+) + end, + }, + formatting = { + format = lspkind.cmp_format({ + mode = 'symbol_text', -- show only symbol annotations + maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters) + -- can also be a function to dynamically calculate max width such as + -- maxwidth = function() return math.floor(0.45 * vim.o.columns) end, + ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first) + show_labelDetails = true, -- show labelDetails in menu. Disabled by default + + -- The function below will be called before any actual modifications from lspkind + -- so that you can provide more controls on popup customization. (See [#30](https://github.com/onsails/lspkind-nvim/pull/30)) + before = function(entry, vim_item) + return vim_item + end + }) + }, + window = { + -- completion = cmp.config.window.bordered(), + -- documentation = cmp.config.window.bordered(), + }, + preselect = cmp.PreselectMode.None, + mapping = cmp.mapping.preset.insert { + [''] = cmp.mapping.scroll_docs(-4), + [''] = cmp.mapping.scroll_docs(4), + [''] = cmp.mapping.complete {}, + [""] = cmp.mapping({ + i = function(fallback) + if cmp.visible() and cmp.get_active_entry() then + cmp.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = false }) + else + fallback() + end + end, + s = cmp.mapping.confirm({ select = true }), + c = cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true }), + }), + [''] = 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' }), + [''] = 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' }), + }, + sources = cmp.config.sources({ + { name = 'nvim_lsp' }, + -- { name = 'vsnip' }, -- For vsnip users. + -- { name = 'luasnip' }, -- For luasnip users. + -- { name = 'ultisnips' }, -- For ultisnips users. + { name = 'snippy' }, -- For snippy users. + --}, { + { name = 'buffer' }, + }) +}) diff --git a/.vim/lua/lir_setup.lua b/dot_vim/lua/lir_setup.lua similarity index 100% rename from .vim/lua/lir_setup.lua rename to dot_vim/lua/lir_setup.lua diff --git a/dot_vim/lua/lualine_setup.lua b/dot_vim/lua/lualine_setup.lua new file mode 100644 index 0000000..2856362 --- /dev/null +++ b/dot_vim/lua/lualine_setup.lua @@ -0,0 +1,40 @@ +require('lsp-progress').setup({ + +}) + +-- Define a function to check the status and return the corresponding icon +local function get_ollama_status() + local status = require("ollama").status() + + if status == "IDLE" then + return "" + elseif status == "WORKING" then + return "OLLAMA BUSY" + end +end + +local config = { + sections = { + lualine_c = { + 'filename', + function() + return require('lsp-progress').progress() + end, + }, + lualine_x = { + 'filetype', + get_ollama_status, + } + } +} + +--local function ins_left(component) +--table.insert(config.sections.lualine_c, component) +--end + +--ins_left({ +--'lsp_progress', +--display_components = { 'lsp_client_name', { 'percentage' } } +--}) + +require('lualine').setup(config) diff --git a/dot_vim/lua/ollama_setup.lua b/dot_vim/lua/ollama_setup.lua new file mode 100644 index 0000000..c3ae490 --- /dev/null +++ b/dot_vim/lua/ollama_setup.lua @@ -0,0 +1,10 @@ +require("ollama").setup({ + model = "codellama:34b", + url = "http://daystrom.home.0b100.net:11434", + serve = { + on_start = false, + }, +}) + +vim.keymap.set("n", ",,", ":lua require('ollama').prompt()", { silent = true }) +vim.keymap.set("v", ",,", ":lua require('ollama').prompt()", { silent = true }) diff --git a/dot_vim/lua/symlink_murdock.lua b/dot_vim/lua/symlink_murdock.lua new file mode 100644 index 0000000..b2372b1 --- /dev/null +++ b/dot_vim/lua/symlink_murdock.lua @@ -0,0 +1 @@ +/home/barak/src/gptool/murdock.lua diff --git a/.vim/markdown_cheatsheet.md b/dot_vim/markdown_cheatsheet.md similarity index 100% rename from .vim/markdown_cheatsheet.md rename to dot_vim/markdown_cheatsheet.md diff --git a/.vim/nvim.lua b/dot_vim/nvim.lua similarity index 74% rename from .vim/nvim.lua rename to dot_vim/nvim.lua index 272c22d..ad0742a 100644 --- a/.vim/nvim.lua +++ b/dot_vim/nvim.lua @@ -2,6 +2,7 @@ require('nvim-autopairs').setup {} -- nvim_lsp object local nvim_lsp = require 'lspconfig' +require('cmp_setup') -- function to attach completion when setting up lsp local on_attach = function(client) @@ -14,16 +15,17 @@ local diagnostic_options = { update_in_insert = false, } -local rust_capabilities = vim.lsp.protocol.make_client_capabilities() -rust_capabilities.textDocument.completion.completionItem.snippetSupport = true -rust_capabilities.textDocument.completion.completionItem.resolveSupport = { - properties = { - 'documentation', - 'detail', - 'additionalTextEdits', - } -} +--local rust_capabilities = vim.lsp.protocol.make_client_capabilities() +--rust_capabilities.textDocument.completion.completionItem.snippetSupport = true +--rust_capabilities.textDocument.completion.completionItem.resolveSupport = { +--properties = { +--'documentation', +--'detail', +--'additionalTextEdits', +--} +--} +--local default_capabilities = vim.lsp.protocol.make_client_capabilities() local default_capabilities = vim.lsp.protocol.make_client_capabilities() default_capabilities.textDocument.completion.completionItem.snippetSupport = true default_capabilities.textDocument.completion.completionItem.resolveSupport = { @@ -33,13 +35,14 @@ default_capabilities.textDocument.completion.completionItem.resolveSupport = { 'additionalTextEdits', } } +default_capabilities = require('cmp_nvim_lsp').default_capabilities(default_capabilities) -- Enable rust_analyzer nvim_lsp.rust_analyzer.setup({ on_attach = function(client, bufnr) client.server_capabilities.semanticTokensProvider = nil end, - capabilities = rust_capabilities, + capabilities = default_capabilities, settings = { ['rust-analyzer'] = { checkOnSave = { @@ -59,17 +62,16 @@ nvim_lsp.rust_analyzer.setup({ }) nvim_lsp.gopls.setup({ on_attach = function(client, bufnr) - client.server_capabilities.semanticTokensProvider = { - full = true, - legend = { - --tokenTypes = { 'namespace', 'type', 'class', 'enum', 'interface', 'struct', 'typeParameter', 'parameter', 'variable', 'property', 'enumMember', 'event', 'function', 'method', 'macro', 'keyword', 'modifier', 'comment', 'string', 'number', 'regexp', 'operator', 'decorator', }, - tokenTypes = { 'namespace' }, - tokenModifiers = { 'declaration', 'definition', 'readonly', 'static', 'deprecated', 'abstract', 'async', - 'modification', 'documentation', 'defaultLibrary', - }, - } - } + --client.server_capabilities.semanticTokensProvider = { + --full = true, + --legend = { + ----tokenTypes = { 'namespace', 'type', 'class', 'enum', 'interface', 'struct', 'typeParameter', 'parameter', 'variable', 'property', 'enumMember', 'event', 'function', 'method', 'macro', 'keyword', 'modifier', 'comment', 'string', 'number', 'regexp', 'operator', 'decorator', }, + --tokenTypes = { 'namespace' }, + --tokenModifiers = { 'declaration', 'definition', 'readonly', 'static', 'deprecated', 'abstract', 'async', 'modification', 'documentation', 'defaultLibrary' }, + --} + --} end, + capabilities = default_capabilities, settings = { gopls = { semanticTokens = true, @@ -114,7 +116,8 @@ end nvim_lsp.pyright.setup({ on_attach = function(client, bufnr) vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with(pyright_custom_diagnostic, diagnostic_options) - end + end, + capabilities = default_capabilities, }) --nvim_lsp.pyright.setup({ on_attach = on_attach }) --nvim_lsp.pylsp.setup({ @@ -153,26 +156,30 @@ nvim_lsp.pyright.setup({ --} --}) -nvim_lsp.clangd.setup({ on_attach = on_attach }) -nvim_lsp.tsserver.setup { +nvim_lsp.clangd.setup { on_attach = on_attach, capabilities = default_capabilities } +nvim_lsp.ts_ls.setup { cmd = { "/home/barak/.yarn/bin/typescript-language-server", "--stdio" } } nvim_lsp.vuels.setup { - cmd = { "/home/barak/.yarn/bin/vls" } + cmd = { "/home/barak/.yarn/bin/vls" }, + capabilities = default_capabilities, } nvim_lsp.hls.setup { - cmd = { "haskell-language-server-wrapper", "--lsp" } + cmd = { "haskell-language-server-wrapper", "--lsp" }, + capabilities = default_capabilities, } nvim_lsp.svelte.setup { - cmd = { "/home/barak/.bun/bin/bunx", "svelteserver", "--stdio" } + cmd = { "/home/barak/.bun/bin/bunx", "svelteserver", "--stdio" }, + capabilities = default_capabilities, } local runtime_path = vim.split(package.path, ';') table.insert(runtime_path, "lua/?.lua") table.insert(runtime_path, "lua/?/init.lua") -require 'lspconfig'.lua_ls.setup { +nvim_lsp.lua_ls.setup { + capabilities = default_capabilities, settings = { Lua = { runtime = { @@ -202,7 +209,7 @@ require('go').setup({ iferr_vertical_shift = 2 }) -require('telescope').load_extension('goimpl') +--require('telescope').load_extension('goimpl') function org_imports(wait_ms) local params = vim.lsp.util.make_range_params() @@ -248,7 +255,7 @@ local efmls_config = { }, } -require('lspconfig').efm.setup(vim.tbl_extend('force', efmls_config, { +nvim_lsp.efm.setup(vim.tbl_extend('force', efmls_config, { -- Pass your custom lsp config below like on_attach and capabilities on_attach = on_attach, capabilities = default_capabilities, @@ -260,27 +267,6 @@ vim.lsp.handlers["textDocument/publishDiagnostics"] = vim.lsp.with( diagnostic_options ) --- Compe setup -require 'compe'.setup { - enabled = true, - autocomplete = true, - debug = false, - min_length = 1, - preselect = 'disable', - throttle_time = 80, - source_timeout = 200, - incomplete_delay = 400, - max_abbr_width = 100, - max_kind_width = 100, - max_menu_width = 100, - documentation = true, - - source = { - path = true, - nvim_lsp = true, - }, -} - --signature_cfg = { --hint_enable = true, --hint_prefix = "% ", @@ -316,68 +302,28 @@ end -- Use (s-)tab to: --- move to prev/next item in completion menuone --- jump to prev/next snippet's placeholder -_G.tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - elseif check_back_space() then - return t "" - else - return vim.fn['compe#complete']() - end -end +--_G.tab_complete = function() +--if vim.fn.pumvisible() == 1 then +--return t "" +--elseif check_back_space() then +--return t "" +--else +--return vim.fn['compe#complete']() +--end +--end -_G.s_tab_complete = function() - if vim.fn.pumvisible() == 1 then - return t "" - else - return t "" - end -end +--_G.s_tab_complete = function() +--if vim.fn.pumvisible() == 1 then +--return t "" +--else +--return t "" +--end +--end -vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", { expr = true }) -vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", { expr = true }) -vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", { expr = true }) -vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", { expr = true }) - -require('lspkind').init({ - -- disables text annotations - --with_text = false, - --with_text = true, - - -- defines how annotations are shown - -- default: symbol - -- options: 'text', 'text_symbol', 'symbol_text', 'symbol' - mode = 'symbol', - - -- default symbol map - -- can be either 'default' or 'codicons' - preset = 'default', - - -- override preset symbols - -- default: {} - --symbol_map = { - --Method = 'm', - --Function = 'f', - --Text = 'txt', - --Constructor = 'new', - --Variable = 'var', - --Class = 'cls', - --Interface = 'iface', - --Module = 'mod', - --Property = 'prop', - --Unit = 'unit', - --Value = 'val', - --Enum = 'enum', - --Keyword = 'kw', - --Snippet = 'sn', - --Color = 'color', - --File = 'file', - --Folder = 'fold', - --EnumMember = 'enum', - --Constant = 'const', - --Struct = 'struct', - --}, -}) +--vim.api.nvim_set_keymap("i", "", "v:lua.tab_complete()", { expr = true }) +--vim.api.nvim_set_keymap("s", "", "v:lua.tab_complete()", { expr = true }) +--vim.api.nvim_set_keymap("i", "", "v:lua.s_tab_complete()", { expr = true }) +--vim.api.nvim_set_keymap("s", "", "v:lua.s_tab_complete()", { expr = true }) --require('rust-tools').setup({ --}) @@ -394,21 +340,21 @@ require('trouble').setup { jump = { "o", "" }, -- jump to the diagnostic or open / close folds --open_split = { "" }, -- open buffer in new split --open_vsplit = { "" }, -- open buffer in new vsplit - open_tab = {}, -- open buffer in new tab - jump_close = { "" }, -- jump to the diagnostic and close the list - toggle_mode = "m", -- toggle between "workspace" and "document" diagnostics mode - toggle_preview = "P", -- toggle auto_preview - hover = "K", -- opens a small popup with the full multiline message - preview = "p", -- preview the diagnostic location + open_tab = {}, -- open buffer in new tab + jump_close = { "" }, -- jump to the diagnostic and close the list + toggle_mode = "m", -- toggle between "workspace" and "document" diagnostics mode + toggle_preview = "P", -- toggle auto_preview + hover = "K", -- opens a small popup with the full multiline message + preview = "p", -- preview the diagnostic location close_folds = { "zM", "zm" }, -- close all folds - open_folds = { "zR", "zr" }, -- open all folds + open_folds = { "zR", "zr" }, -- open all folds toggle_fold = { "zA", "za" }, -- toggle fold of current file - previous = "k", -- previous item - next = "j" -- next item + previous = "k", -- previous item + next = "j" -- next item }, } -local trouble_telescope = require("trouble.providers.telescope") +local trouble_telescope = require("trouble.sources.telescope") local builtin = require 'telescope.builtin' local sendtoqf = function(loc) @@ -423,10 +369,10 @@ require('telescope').setup { n = { ["q"] = require('telescope.actions').close, ["ff"] = sendtoqf, - [""] = trouble_telescope.open_with_trouble, + [""] = trouble_telescope.open, }, i = { - [""] = trouble_telescope.open_with_trouble, + [""] = trouble_telescope.open, ["ff"] = require('telescope.actions').send_to_qflist, }, }, @@ -497,15 +443,19 @@ require('telescope').setup { -- Treesitter -- -require 'nvim-treesitter.configs'.setup { +require 'nvim-treesitter.configs'.setup({ -- One of "all", "maintained" (parsers with maintainers), or a list of languages ensure_installed = { "c", "cpp", "css", + "cue", "dockerfile", "fish", "go", + "gomod", + "gosum", + "gotmpl", "haskell", "html", "javascript", @@ -517,6 +467,7 @@ require 'nvim-treesitter.configs'.setup { "python", "query", "rust", + "starlark", "terraform", "toml", "tsx", @@ -556,7 +507,7 @@ require 'nvim-treesitter.configs'.setup { playground = { enable = true, disable = {}, - updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code + updatetime = 25, -- Debounced time for highlighting nodes in the playground from source code persist_queries = false, -- Whether the query persists across vim sessions keybindings = { toggle_query_editor = 'o', @@ -571,7 +522,7 @@ require 'nvim-treesitter.configs'.setup { show_help = '?', }, } -} +}) require "neogen".setup {} @@ -673,6 +624,67 @@ function neogen_dwim() end end -require("murdock") +require("hoversplit").setup({}) + +require("quicker").setup() + +vim.keymap.set("n", "q", function() + require("quicker").toggle() +end, { + desc = "Toggle quickfix", +}) + +--require("murdock") +--require("ollama_setup") +--require("gen_setup") require("lir_setup") require("lualine_setup") +--require("avante_setup") +--require("gen").setup({ +--model = "gemma3:12b-it-qat", +--init = nil, +--}) +--require("smear_cursor").setup({ +--stiffness = 0.8, +--trailing_stiffness = 0.5, +--distance_stop_animating= 0.5, +--}) + +require("parrot").setup({ + providers = { + ollama = {} + }, + chat_user_prefix = "Chat: ", + llm_prefix = "LLM: ", + hooks = { + CompleteFullContext = function(prt, params) + local template = [[ + I have the following code from {{filename}}: + + ```{{filetype}} + {{filecontent}} + ``` + + Please look at the following section specifically: + ```{{filetype}} + {{selection}} + ``` + + Goal: {{command}} + + Respond just with the snippet of code that should be inserted. + + + ]] + local model_obj = prt.get_model("command") + prt.Prompt(params, prt.ui.Target.append, model_obj, nil, template) + end, + }, +}) + +vim.diagnostic.config({ + virtual_text = false, + signs = true, + update_in_insert = false, + underline = true, +}) diff --git a/.vim/plugin/AppleT.vim b/dot_vim/plugin/AppleT.vim similarity index 100% rename from .vim/plugin/AppleT.vim rename to dot_vim/plugin/AppleT.vim diff --git a/.vim/plugin/a.vim b/dot_vim/plugin/a.vim similarity index 100% rename from .vim/plugin/a.vim rename to dot_vim/plugin/a.vim diff --git a/.vim/plugin/bclose.vim b/dot_vim/plugin/bclose.vim similarity index 100% rename from .vim/plugin/bclose.vim rename to dot_vim/plugin/bclose.vim diff --git a/.vim/plugin/camelcasemotion.vim b/dot_vim/plugin/camelcasemotion.vim similarity index 100% rename from .vim/plugin/camelcasemotion.vim rename to dot_vim/plugin/camelcasemotion.vim diff --git a/.vim/plugin/cocoa.vim b/dot_vim/plugin/cocoa.vim similarity index 100% rename from .vim/plugin/cocoa.vim rename to dot_vim/plugin/cocoa.vim diff --git a/.vim/plugin/cscope_maps.vim b/dot_vim/plugin/cscope_maps.vim similarity index 100% rename from .vim/plugin/cscope_maps.vim rename to dot_vim/plugin/cscope_maps.vim diff --git a/.vim/plugin/cscopemenu.vim b/dot_vim/plugin/cscopemenu.vim similarity index 100% rename from .vim/plugin/cscopemenu.vim rename to dot_vim/plugin/cscopemenu.vim diff --git a/.vim/plugin/genutils.vim b/dot_vim/plugin/genutils.vim similarity index 100% rename from .vim/plugin/genutils.vim rename to dot_vim/plugin/genutils.vim diff --git a/.vim/plugin/gotags.vim b/dot_vim/plugin/gotags.vim similarity index 100% rename from .vim/plugin/gotags.vim rename to dot_vim/plugin/gotags.vim diff --git a/.vim/plugin/matchit.vim b/dot_vim/plugin/matchit.vim similarity index 100% rename from .vim/plugin/matchit.vim rename to dot_vim/plugin/matchit.vim diff --git a/.vim/plugin/vcsbzr.vim b/dot_vim/plugin/vcsbzr.vim similarity index 100% rename from .vim/plugin/vcsbzr.vim rename to dot_vim/plugin/vcsbzr.vim diff --git a/.vim/plugin/vcscommand.vim b/dot_vim/plugin/vcscommand.vim similarity index 100% rename from .vim/plugin/vcscommand.vim rename to dot_vim/plugin/vcscommand.vim diff --git a/.vim/plugin/vcscvs.vim b/dot_vim/plugin/vcscvs.vim similarity index 100% rename from .vim/plugin/vcscvs.vim rename to dot_vim/plugin/vcscvs.vim diff --git a/.vim/plugin/vcsgit.vim b/dot_vim/plugin/vcsgit.vim similarity index 100% rename from .vim/plugin/vcsgit.vim rename to dot_vim/plugin/vcsgit.vim diff --git a/.vim/plugin/vcshg.vim b/dot_vim/plugin/vcshg.vim similarity index 100% rename from .vim/plugin/vcshg.vim rename to dot_vim/plugin/vcshg.vim diff --git a/.vim/plugin/vcssvk.vim b/dot_vim/plugin/vcssvk.vim similarity index 100% rename from .vim/plugin/vcssvk.vim rename to dot_vim/plugin/vcssvk.vim diff --git a/.vim/plugin/vcssvn.vim b/dot_vim/plugin/vcssvn.vim similarity index 100% rename from .vim/plugin/vcssvn.vim rename to dot_vim/plugin/vcssvn.vim diff --git a/.vim/plugin/vim-scmdiff/NEWS b/dot_vim/plugin/vim-scmdiff/NEWS similarity index 100% rename from .vim/plugin/vim-scmdiff/NEWS rename to dot_vim/plugin/vim-scmdiff/NEWS diff --git a/.vim/plugin/vim-scmdiff/README b/dot_vim/plugin/vim-scmdiff/README similarity index 100% rename from .vim/plugin/vim-scmdiff/README rename to dot_vim/plugin/vim-scmdiff/README diff --git a/.vim/plugin/vim-scmdiff/TODO b/dot_vim/plugin/vim-scmdiff/TODO similarity index 100% rename from .vim/plugin/vim-scmdiff/TODO rename to dot_vim/plugin/vim-scmdiff/TODO diff --git a/.vim/plugin/vim-scmdiff/scmdiff.vim b/dot_vim/plugin/vim-scmdiff/scmdiff.vim similarity index 100% rename from .vim/plugin/vim-scmdiff/scmdiff.vim rename to dot_vim/plugin/vim-scmdiff/scmdiff.vim diff --git a/.vim/skeletons/svelte.skel b/dot_vim/skeletons/svelte.skel similarity index 100% rename from .vim/skeletons/svelte.skel rename to dot_vim/skeletons/svelte.skel diff --git a/.vim/skeletons/vue.skel b/dot_vim/skeletons/vue.skel similarity index 100% rename from .vim/skeletons/vue.skel rename to dot_vim/skeletons/vue.skel diff --git a/.vim/syntax/c.vim b/dot_vim/syntax/c.vim similarity index 100% rename from .vim/syntax/c.vim rename to dot_vim/syntax/c.vim diff --git a/.vim/syntax/cvsannotate.vim b/dot_vim/syntax/cvsannotate.vim similarity index 100% rename from .vim/syntax/cvsannotate.vim rename to dot_vim/syntax/cvsannotate.vim diff --git a/.vim/syntax/gitannotate.vim b/dot_vim/syntax/gitannotate.vim similarity index 100% rename from .vim/syntax/gitannotate.vim rename to dot_vim/syntax/gitannotate.vim diff --git a/.vim/syntax/haskell.vim b/dot_vim/syntax/haskell.vim similarity index 100% rename from .vim/syntax/haskell.vim rename to dot_vim/syntax/haskell.vim diff --git a/.vim/syntax/hgannotate.vim b/dot_vim/syntax/hgannotate.vim similarity index 100% rename from .vim/syntax/hgannotate.vim rename to dot_vim/syntax/hgannotate.vim diff --git a/.vim/syntax/java.vim b/dot_vim/syntax/java.vim similarity index 100% rename from .vim/syntax/java.vim rename to dot_vim/syntax/java.vim diff --git a/.vim/syntax/javascript.vim b/dot_vim/syntax/javascript.vim similarity index 100% rename from .vim/syntax/javascript.vim rename to dot_vim/syntax/javascript.vim diff --git a/.vim/syntax/lilypond-words b/dot_vim/syntax/lilypond-words similarity index 100% rename from .vim/syntax/lilypond-words rename to dot_vim/syntax/lilypond-words diff --git a/.vim/syntax/lilypond-words.vim b/dot_vim/syntax/lilypond-words.vim similarity index 100% rename from .vim/syntax/lilypond-words.vim rename to dot_vim/syntax/lilypond-words.vim diff --git a/.vim/syntax/lilypond.vim b/dot_vim/syntax/lilypond.vim similarity index 100% rename from .vim/syntax/lilypond.vim rename to dot_vim/syntax/lilypond.vim diff --git a/.vim/syntax/mako.vim b/dot_vim/syntax/mako.vim similarity index 100% rename from .vim/syntax/mako.vim rename to dot_vim/syntax/mako.vim diff --git a/.vim/syntax/mediawiki.vim b/dot_vim/syntax/mediawiki.vim similarity index 100% rename from .vim/syntax/mediawiki.vim rename to dot_vim/syntax/mediawiki.vim diff --git a/.vim/syntax/mkd.vim b/dot_vim/syntax/mkd.vim similarity index 100% rename from .vim/syntax/mkd.vim rename to dot_vim/syntax/mkd.vim diff --git a/.vim/syntax/motd.vim b/dot_vim/syntax/motd.vim similarity index 100% rename from .vim/syntax/motd.vim rename to dot_vim/syntax/motd.vim diff --git a/.vim/syntax/nvpscript.vim b/dot_vim/syntax/nvpscript.vim similarity index 100% rename from .vim/syntax/nvpscript.vim rename to dot_vim/syntax/nvpscript.vim diff --git a/.vim/syntax/proto.vim b/dot_vim/syntax/proto.vim similarity index 100% rename from .vim/syntax/proto.vim rename to dot_vim/syntax/proto.vim diff --git a/.vim/syntax/scala.vim b/dot_vim/syntax/scala.vim similarity index 100% rename from .vim/syntax/scala.vim rename to dot_vim/syntax/scala.vim diff --git a/.vim/syntax/snippet.vim b/dot_vim/syntax/snippet.vim similarity index 100% rename from .vim/syntax/snippet.vim rename to dot_vim/syntax/snippet.vim diff --git a/.vim/syntax/svkannotate.vim b/dot_vim/syntax/svkannotate.vim similarity index 100% rename from .vim/syntax/svkannotate.vim rename to dot_vim/syntax/svkannotate.vim diff --git a/.vim/syntax/svnannotate.vim b/dot_vim/syntax/svnannotate.vim similarity index 100% rename from .vim/syntax/svnannotate.vim rename to dot_vim/syntax/svnannotate.vim diff --git a/.vim/syntax/vcscommit.vim b/dot_vim/syntax/vcscommit.vim similarity index 100% rename from .vim/syntax/vcscommit.vim rename to dot_vim/syntax/vcscommit.vim diff --git a/.vim/syntax_checkers/go/golintc.vim b/dot_vim/syntax_checkers/go/golintc.vim similarity index 100% rename from .vim/syntax_checkers/go/golintc.vim rename to dot_vim/syntax_checkers/go/golintc.vim diff --git a/.vim/syntax_checkers/go/gonyet.vim b/dot_vim/syntax_checkers/go/gonyet.vim similarity index 100% rename from .vim/syntax_checkers/go/gonyet.vim rename to dot_vim/syntax_checkers/go/gonyet.vim diff --git a/.vim/syntax_checkers/go/govetshadow.vim b/dot_vim/syntax_checkers/go/govetshadow.vim similarity index 100% rename from .vim/syntax_checkers/go/govetshadow.vim rename to dot_vim/syntax_checkers/go/govetshadow.vim diff --git a/.vim/tabbar.vim b/dot_vim/tabbar.vim similarity index 100% rename from .vim/tabbar.vim rename to dot_vim/tabbar.vim diff --git a/.vim/usnips/c.snippets b/dot_vim/usnips/c.snippets similarity index 100% rename from .vim/usnips/c.snippets rename to dot_vim/usnips/c.snippets diff --git a/.vim/usnips/cpp.snippets b/dot_vim/usnips/cpp.snippets similarity index 100% rename from .vim/usnips/cpp.snippets rename to dot_vim/usnips/cpp.snippets diff --git a/.vim/usnips/go.snippets b/dot_vim/usnips/go.snippets similarity index 100% rename from .vim/usnips/go.snippets rename to dot_vim/usnips/go.snippets diff --git a/dot_vimrc b/dot_vimrc new file mode 100644 index 0000000..e9a7e36 --- /dev/null +++ b/dot_vimrc @@ -0,0 +1,555 @@ +" ___ _ _ _ +" | _ ) __ _ _ _ __ _| |_( )___ __ _(_)_ __ _ _ __ +" | _ \/ _` | '_/ _` | / //(_-< \ V / | ' \| '_/ _| +" |___/\__,_|_| \__,_|_\_\ /__/ (_)_/|_|_|_|_|_| \__| +" +" +" ** BASIC EDITOR SETTINGS ** +" +" First, we are vim, not vi, so start as many others do with +set nocompatible + +" Allow background buffers. Super important for various tab modes. +set hidden + +" Set default spacing. +" Hard tabs should show as 8. +set ts=8 +" Soft tabs should be 2 wide, and we should use spaces. +" (This is the Googler in me. I've converted to spaces over +" the years because it really is more consistent.) +set softtabstop=2 +set shiftwidth=2 +set expandtab +" I like comma instead of slash, but that probably comes from playing +" Nethack and Angband +let mapleader = "," +let maplocalleader = "\\" + +" Set 'smart' things in Vim +" Search case insensitive, unless it contains Uppercase letters +set smartcase +" Use all the indent features +set autoindent +set smartindent +set cindent +" Make backspace remove indents and line breaks, like a normal editor +set backspace=indent,eol,start + +" Keep a bigger history +set history=1000 +" Allow tab completion for files in command mode. +set wildmenu +set wildmode=list:longest +" Show where you are in the file in the statusbar. +set ruler + +" I hate split above, so make it split below. Likewise, to the right. +set splitbelow +set splitright +" For autocomplete, follow requirements for nvim-compe +set completeopt=menuone,noselect +set signcolumn=yes +set shortmess+=c + +set diffopt+=vertical +" Some stuff for 256-Color consoles that I've forgotten. +set t_Co=256 +set t_Sf=ESC[3%dm +set t_Sb=ESC[4%dm +set t_ut= +"set t_SH= +"set t_kb= + +" This is like HiglightTooLongLines below, but for modern vim. The problem is +" that it highlights the column, even if your short. Good for measuring, bad for +" my eyes. +"if v:version >= 703 + "set relativenumber + "set colorcolumn=81 +"endif +" ** PATH SETTINGS ** + +let g:loaded_python_provider = 0 +let $RUST_SRC_PATH="/usr/src/rust/src/" + +" Disable the powerline plugin from standard Vim installs +let g:powerline_loaded = 1 + +" Required: +set runtimepath+=$HOME/.vim/bundle/repos/github.com/Shougo/dein.vim + +" Required: +call plug#begin($HOME . '/.vim/bundle') + +" Plugins that must be first +Plug $HOME . '/.vim/bundle/repos/github.com/Shougo/dein.vim' +Plug 'let-def/vimbufsync' +Plug 'lambdalisue/suda.vim' +Plug 'skywind3000/asyncrun.vim' +Plug 'barakmich/vim-code-dark' + +" Plugins that I almost never use +Plug 'kana/vim-textobj-user' + + +" Plugins I wish I used more +Plug 'jceb/vim-orgmode' +Plug 'tpope/vim-speeddating' + +Plug 'tpope/vim-fugitive' +Plug 'tpope/vim-unimpaired' +Plug 'b4winckler/vim-angry' +Plug 'tpope/vim-surround' +Plug 'junegunn/vim-easy-align' +Plug 'bps/vim-textobj-python' + +" Plugins I NEED +Plug 'scrooloose/nerdcommenter' +"Plug 'sjbach/lusty' +Plug 'mhinz/vim-signify' +Plug 'nvim-lualine/lualine.nvim' +Plug 'linrongbin16/lsp-progress.nvim' +"Plug 'airblade/vim-rooter' +Plug 'majutsushi/tagbar' +Plug 'dcampos/nvim-snippy' +Plug 'dcampos/cmp-snippy' +Plug 'rafamadriz/friendly-snippets' + +Plug 'honza/vim-snippets' +Plug 'tpope/vim-abolish' + +" Plugins for syntax +Plug 'lunaru/vim-less' +Plug 'hylang/vim-hy', {'for': 'hy'} +Plug 'habamax/vim-asciidoctor' +Plug 'jneen/ragel.vim' +Plug 'NoahTheDuke/vim-just' +Plug 'leafOfTree/vim-svelte-plugin' +Plug 'Shougo/context_filetype.vim' +"Plug 'idris-hackers/idris-vim', {'for': 'idris'} +Plug 'fedorenchik/AnsiEsc' +Plug 'hwayne/tla.vim' +Plug 'zchee/vim-goasm' +"Plug 'cappyzawa/starlark.vim' + +" Plugins that autocomplete +Plug 'neovim/nvim-lspconfig' +Plug 'nvim-lua/lsp_extensions.nvim' +Plug 'hrsh7th/cmp-nvim-lsp' +Plug 'hrsh7th/cmp-buffer' +Plug 'hrsh7th/cmp-path' +Plug 'hrsh7th/nvim-cmp' +Plug 'onsails/lspkind-nvim' + +Plug 'nvim-lua/popup.nvim' +Plug 'nvim-lua/plenary.nvim' +Plug 'nvim-telescope/telescope.nvim' +Plug 'sindrets/diffview.nvim' + +Plug 'kyazdani42/nvim-web-devicons' " for file icons + +Plug 'ray-x/lsp_signature.nvim' +Plug 'ray-x/go.nvim' + +Plug 'RishabhRD/popfix' +Plug 'RishabhRD/nvim-lsputils' +Plug 'stevanmilic/nvim-lspimport' +Plug 'folke/trouble.nvim' +Plug 'creativenull/efmls-configs-nvim', { 'tag': 'v1.*' } + +Plug 'roobert/hoversplit.nvim' +Plug 'tamago324/lir.nvim' + +Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} +Plug 'nvim-treesitter/playground' +Plug 'nvim-treesitter/nvim-treesitter-textobjects' + + +Plug 'ggandor/leap.nvim' +Plug 'ggandor/flit.nvim' +Plug 'simrat39/rust-tools.nvim' + +Plug 'Shougo/unite.vim' +" TODO: Look into Coqtail, same author +Plug 'whonore/coquille', {'branch': 'pathogen-bundle', 'for': 'coq'} + +Plug 'gabrielelana/vim-markdown' +Plug 'lervag/vimtex' +Plug 'Shougo/echodoc.vim' +Plug 'windwp/nvim-autopairs' +Plug 'danymat/neogen' +Plug 'stevearc/dressing.nvim' +Plug 'MunifTanjim/nui.nvim' +Plug 'zbirenbaum/copilot.lua' +"Plug 'yetone/avante.nvim', {'branch': 'main', 'do': 'make'} +"Plug 'David-Kunz/gen.nvim' +Plug 'ibhagwan/fzf-lua' +Plug 'frankroeder/parrot.nvim' + +Plug 'edolphin-ydf/goimpl.nvim' +Plug 'stevearc/quicker.nvim' +Plug 'rafikdraoui/jj-diffconflicts' + +call plug#end() + +filetype plugin indent on +syntax enable + +" Configure Plugins in Lua + +luafile $HOME/.vim/nvim.lua + + +" **** Configure LSP + +" Code navigation shortcuts +nnoremap gd lua vim.lsp.buf.definition() +nnoremap gi lua require('telescope.builtin').lsp_implementations({initial_mode = "normal"}) +nnoremap gy lua vim.lsp.buf.type_definition() +nnoremap K lua vim.lsp.buf.hover() +nnoremap gs lua vim.lsp.buf.signature_help() +nnoremap gR lua vim.lsp.buf.rename() +"nnoremap gr lua vim.lsp.buf.references() +nnoremap gr lua require('telescope.builtin').lsp_references({initial_mode = "normal"}) +nnoremap g0 lua vim.lsp.buf.document_symbol() +nnoremap gW lua require('telescope.builtin').lsp_workspace_symbols({initial_mode = "normal"}) +"nnoremap gd lua vim.lsp.buf.declaration() +nnoremap ga lua vim.lsp.buf.code_action() +"nnoremap ga lua require('telescope.builtin').lsp_code_actions({initial_mode = "normal"}) +vnoremap ga lua vim.lsp.buf.code_action() +"vnoremap ga :lua require('telescope.builtin').lsp_range_code_actions({initial_mode = "normal"}) +"nnoremap ge lua vim.lsp.diagnostic.show_line_diagnostics({show_header = false, focusable = false}) +"nnoremap ge lua vim.diagnostic.open_float({focusable = false}) +nnoremap im lua require'telescope'.extensions.goimpl.goimpl{} + + +nnoremap xx TroubleToggle +nnoremap xq lua vim.diagnostic.setqflist() +"nnoremap nc lua neogen_dwim() +nnoremap nc lua require('neogen').generate({ type = 'any' }) +nnoremap gm lua require('lspimport').import() +nnoremap K lua require('hoversplit').vsplit_remain_focused() + + +" Set updatetime for CursorHold +" 300ms of no cursor movement to trigger CursorHold +set updatetime=500 +" Show diagnostic popup on cursor hold +autocmd CursorHold * lua vim.diagnostic.open_float({focusable = false}) + +" Autoformat on save +autocmd BufWritePre *.lua lua vim.lsp.buf.format({ async = false }) +autocmd BufWritePre *.py lua vim.lsp.buf.format({ async = false }) +autocmd BufWritePre *.rs lua vim.lsp.buf.format({ async = false }) +autocmd BufWritePre *.go lua vim.lsp.buf.format({ async = false }) +autocmd BufWritePre *.go silent! lua org_imports(3000) +autocmd BufWritePre *.ts lua vim.lsp.buf.format({ async = false }) + +" Goto previous/next diagnostic warning/error +nnoremap g[ lua vim.diagnostic.goto_prev() +nnoremap g] lua vim.diagnostic.goto_next() + +let g:completion_matching_strategy_list = ['exact', 'substring', 'fuzzy'] +let g:completion_matching_smart_case = 1 +let g:completion_sorting = 'length' + + +" **** End LSP + +" Cull trailing whitespace for all files. +autocmd BufWritePre * :call AutoTrimWhitespace() + +" Set syntax and highlighting +syntax on + +"let g:codedark_conservative = 1 +let g:codedark_transparent=1 +let g:codedark_italics=1 +colorscheme codedark + + +" Turn on the cursorline (highlight on line under cursor) but only for the +" window and buffer you're currently in. +autocmd BufEnter * setlocal cursorline +autocmd WinEnter * setlocal cursorline +autocmd WinLeave * setlocal nocursorline +setlocal cursorline + + +" ** PLUGIN CONFIGURATION ** + +" * Vim general/Unknown +let g:Tb_MaxSize=0 +let g:Tb_MapCTabSwitchBufs = 1 + +" * Signify +let g:signify_realtime = 1 +let g:signify_vcs_list = ['git'] +let g:signify_sign_change = '~' +let g:signify_sign_changedelete = g:signify_sign_change +let g:signify_sign_show_count = 0 +let g:signify_priority = 5 + +" * Tagbar plugin settings +let g:tagbar_width = 40 +let g:tagbar_autofocus = 1 +let g:tagbar_autoclose = 1 +let g:tagbar_compact = 1 + +" * vim-rooter +"let g:rooter_cd_cmd="lcd" +"let g:rooter_manual_only = 1 +"set autochdir + +" " * FZF +let g:rg_command = ' + \ rg --column --line-number --no-heading --fixed-strings --ignore-case --no-ignore --hidden --follow --color "always" + \ -g "!{.git,node_modules,vendor}/*" ' + + +" ** STATUSLINE ** +set laststatus=2 +set statusline=%t "tail of the filename +"set statusline+=[%{&ff}] "file format +"set statusline+=%h "help file flag +set statusline+=\ %w "help file flag +set statusline+=%r "read only flag +set statusline+=%y "filetype +set statusline+=\ %m "modified flag +set statusline+=%= "left/right separator +set statusline+=%{fugitive#statusline()}\ \ +set statusline+=%c, "cursor column +set statusline+=%l/%L "cursor line/total lines +set statusline+=\ %P "percent through file + +" ** SMALL FUNCTIONS THAT DON'T FIT AS PLUGINS *** + +" Add capital W and Q so I can be lazy about my shift key +if !exists(":W") + command W :w +endif + +if !exists(":Q") + command Q :q +endif + +" CD to the path of the file I'm editing. +command Cdf :cd %:p:h + +" Print path of file +command Filepath :echo expand('%:p') + +" Save a vim session! Useful if you want to save buffer states and so on +command SaveSession :mksession! ~/.vim_last_session +command LoadSession :source ~/.vim_last_session + +" Sudo-make-me-a-sandwich write. For when I forget to be root. +"command Wdammit :w !sudo tee > /dev/null % +command Wdammit :w suda://% + + +" I can never remember markdown fully. Open me a cheatsheet +command MarkdownCheatsheet :rightb vsplit ~/.vim/markdown_cheatsheet.md + + +" Doesn't quite work right but can be a real savior if needed. +" Oh-shit-what-was-this-like-before-I-changed-it? +function! s:DiffWithSaved() + let filetype=&ft + diffthis + vnew | r # | normal! 1Gdd + diffthis + exe "setlocal bt=nofile bh=wipe nobl noswf ro ft=" . filetype +endfunction +com! DiffSaved call s:DiffWithSaved() + +" Highlight lines that are longer than textwidth for the filetype, commonly 80 +" characters. +function! HighlightTooLongLines() + highlight def link RightMargin Error + if &textwidth != 0 + exec 'match RightMargin /\%<' . (&textwidth + 3) . 'v.\%>' . (&textwidth + 1) . 'v/' + endif +endfunction + +" Toggles the quickfix window split. +command -bang -nargs=? QFix call QFixToggle(0) +function! QFixToggle(forced) + if exists("g:qfix_win") && a:forced == 0 + cclose + else + execute "copen " . 15 + endif +endfunction + +" Toggle LocationList +command -bang -nargs=? LFix call LFixToggle(0) +function! LFixToggle(forced) + if exists("g:lfix_win") && a:forced == 0 + unlet! g:lfix_win + lclose + else + execute "lopen " . 10 + let g:lfix_win = "t" + endif +endfunction + +"au FileType go nmap C (go-clearlay) +"clear overlay +command -bang -nargs=? GoCoverlayT call GoCoverlayToggle(0) +function! GoCoverlayToggle(forced) + if exists("g:go_coverlay_t") && a:forced == 0 + unlet! g:go_coverlay_t + GoClearlay + "call (go-clearlay) + else + "call (go-coverlay) + GoCoverlay + let g:go_coverlay_t = "t" + endif +endfunction + + +" Make the Quickfix window respond well to commands (for instance, q to close, +" Enter to select, etc). In tandem with the above. +augroup QFixToggle + autocmd! + autocmd BufWinEnter quickfix let g:qfix_win = bufnr("$") + autocmd BufWinEnter quickfix exec "nnoremap q :QFix" + autocmd BufWinLeave * if exists("g:qfix_win") && expand("") == g:qfix_win | unlet! g:qfix_win | endif +augroup END + + +" Highlight all instances of word under cursor, when idle. +" Useful when studying strange source code. +" Type z/ to toggle highlighting on/off. +nnoremap z/ :if AutoHighlightToggle()set hlselseset nohlsendif +function! AutoHighlightToggle() + let @/ = '' + if exists('#auto_highlight') + au! auto_highlight + augroup! auto_highlight + setl updatetime=4000 + echo 'Highlight current word: off' + return 0 + else + augroup auto_highlight + au! + au CursorHold * let @/ = '\V\<'.escape(expand(''), '\').'\>' + augroup end + setl updatetime=500 + echo 'Highlight current word: ON' + return 1 + endif +endfunction + +" Removes trailing spaces +function AutoTrimWhitespace() + if exists("b:auto_trim_whitespace") + if b:auto_trim_whitespace == 1 + let l:winview = winsaveview() + silent! %s/\s\+$// + call winrestview(l:winview) + endif + endif +endfunction + + + +" ** KEY REMAPPINGS ** +" +" +" Toggle GoCoverlay +au FileType go nmap c :GoCoverlayT + +" Coquille +au FileType coq nmap a :CoqToCursor +au FileType coq imap a :CoqToCursor + +" I don't know how I came up with gt for opening the tree, but it stuck. +nmap gt :edit %:h +nmap gb :TagbarToggle +"nnoremap gx :Kwbd +" :Kwbd (defined below) really kills a buffer dead, and closes the window. +" gK is similar. +nnoremap gc :Kwbd + +" I use gn/gp to cycle through open tabs/buffers +nnoremap gn :bn +nnoremap gp :bp +nnoremap gz :pclose + +" The single most handy way to get around a file. Cursor over a word, and then +" type g* -- you'll go to the next instance of that word in the file. Make it +" easier to reach by calling it gw (go-word) instead of hidden away. +nnoremap gw g* +" Make shift-p like p except, put the line above instead of below. +nmap P op + +" Line-based movement is cute, but it's tricky for files with lines that wrap. +" Attune more to what you see on the screen instead of where the lines actually +" are. +nnoremap j gj +nnoremap k gk +xnoremap j gj +xnoremap k gk +nnoremap gj +nnoremap gk +xnoremap gj +xnoremap gk +inoremap gj +inoremap gk +"nnoremap +" Years of using bash and zsh have caused my fingers to expect these Emacs-like +" mappings to exist. Make them exist in vim as well. But eye them with +" suspicion, as they come from Emacs. +nnoremap ^ +nnoremap $ +xnoremap ^ +xnoremap $ +inoremap ^ +inoremap $ + + +" Make it easier to clear highlighting, with no functionality penalty +nnoremap :noh + +" Better fold mappings +nnoremap @=(foldlevel('.')?'za':'l') +vnoremap zf +" Just to be handy, Ctrl-C acts like escape. So does jj, which never really +" comes up in practice. If you really need to type jj do so slowly. +imap +inoremap jj + +" Leader key functions +" Next quickfix. +nnoremap fn :lnext +" Prev quickfix. +nnoremap fp :lprev +" +nnoremap lua require('telescope.builtin').git_files{} +nnoremap ag lua require('telescope.builtin').live_grep{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1], search = ''} +nnoremap aw lua require('telescope.builtin').grep_string{ word_match = "-w", only_sort_text = true, cwd = vim.fn.systemlist("git rev-parse --show-toplevel")[1]} +"nnoremap q lua require('telescope.builtin').quickfix{} +nnoremap ff lua require('telescope.builtin').quickfix{} +nnoremap ar lua require('telescope.builtin').resume{} +nnoremap o lua require('telescope.builtin').buffers{initial_mode = "insert"} +nnoremap lua require('telescope.builtin').buffers{prompt_prefix = " "} + +" For C++ -- A is a great plugin which allows you to jump from the c file to the +" header and vice-versa. Mneumonic here is headerheader. +nnoremap hh :A +nnoremap mm :w:make! + +" ** EXTRA INCLUDES ** +" +let s:extrarc = expand($HOME . '/.vimrc_work') +if filereadable(s:extrarc) + exec ':so ' . s:extrarc +endif + + +" Final hi links for TreeSitter +hi link @type.rust TSCSecondaryTypeParam diff --git a/.weechat/weechat.conf b/dot_weechat/weechat.conf similarity index 100% rename from .weechat/weechat.conf rename to dot_weechat/weechat.conf diff --git a/.xinitrc.bak b/dot_xinitrc.bak similarity index 100% rename from .xinitrc.bak rename to dot_xinitrc.bak diff --git a/.xmonad/xmonad.hs b/dot_xmonad/xmonad.hs similarity index 100% rename from .xmonad/xmonad.hs rename to dot_xmonad/xmonad.hs diff --git a/.yarnrc b/dot_yarnrc similarity index 79% rename from .yarnrc rename to dot_yarnrc index ff3638e..79d0f61 100644 --- a/.yarnrc +++ b/dot_yarnrc @@ -2,5 +2,5 @@ # yarn lockfile v1 -lastUpdateCheck 1711242871592 +lastUpdateCheck 1723662140748 prefix "/home/barak/.yarn" diff --git a/.ycm_extra_conf.py b/dot_ycm_extra_conf.py similarity index 100% rename from .ycm_extra_conf.py rename to dot_ycm_extra_conf.py diff --git a/.zprofile b/dot_zprofile similarity index 100% rename from .zprofile rename to dot_zprofile diff --git a/.zshenv b/dot_zshenv similarity index 96% rename from .zshenv rename to dot_zshenv index 3c26470..59b71eb 100644 --- a/.zshenv +++ b/dot_zshenv @@ -14,3 +14,4 @@ bindkey '\e[5~' insert-last-word # Page up key if [ -z "$GOPATH" ]; then export GOPATH="$HOME/.go/" fi +. "$HOME/.cargo/env" diff --git a/.zshrc b/dot_zshrc similarity index 100% rename from .zshrc rename to dot_zshrc diff --git a/symlink_dot_fonts.conf b/symlink_dot_fonts.conf new file mode 100644 index 0000000..34e7b31 --- /dev/null +++ b/symlink_dot_fonts.conf @@ -0,0 +1 @@ +/home/barak/.config/fontconfig/fonts.conf diff --git a/symlink_dot_nvim b/symlink_dot_nvim new file mode 100644 index 0000000..55d00c5 --- /dev/null +++ b/symlink_dot_nvim @@ -0,0 +1 @@ +.vim diff --git a/symlink_dot_nvimrc b/symlink_dot_nvimrc new file mode 100644 index 0000000..be2db78 --- /dev/null +++ b/symlink_dot_nvimrc @@ -0,0 +1 @@ +.vimrc diff --git a/symlink_dot_xsession b/symlink_dot_xsession new file mode 100644 index 0000000..c2ebcf9 --- /dev/null +++ b/symlink_dot_xsession @@ -0,0 +1 @@ +.xinitrc diff --git a/symlink_dot_zsh_profile b/symlink_dot_zsh_profile new file mode 100644 index 0000000..c08ab2a --- /dev/null +++ b/symlink_dot_zsh_profile @@ -0,0 +1 @@ +.zprofile