diff --git a/.config/neomutt/bindings b/.config/neomutt/bindings index ee06684..b4493d3 100644 --- a/.config/neomutt/bindings +++ b/.config/neomutt/bindings @@ -38,6 +38,6 @@ bind index p recall-message # finding stuff bind editor complete-query -macro index F "mu find --clearlinks --format=links --linksdir /Users/webgefrickel/.mu/results " "mu find" +macro index F "mu find --clearlinks --format=links --linksdir $HOME/.mu/results " "mu find" macro index \cf "~/.mu/results" "mu find results" diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index 8373b7d..669a7fb 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,6 +1,6 @@ { "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, - "CopilotChat.nvim": { "branch": "canary", "commit": "82923efe22b604cf9c0cad0bb2a74aa9247755ab" }, + "CopilotChat.nvim": { "branch": "canary", "commit": "92bc7b5e564c23b12b2ed41dd7657fdafe39d95f" }, "Navigator.nvim": { "branch": "master", "commit": "91d86506ac2a039504d5205d32a1d4bc7aa57072" }, "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-calc": { "branch": "main", "commit": "5947b412da67306c5b68698a02a846760059be2e" }, @@ -11,35 +11,35 @@ "codeium.nvim": { "branch": "main", "commit": "f6a2ef32a9e923cb0104a19d3e426b0e40e49505" }, "copilot-cmp": { "branch": "master", "commit": "b6e5286b3d74b04256d0a7e3bd2908eabec34b44" }, "copilot.lua": { "branch": "master", "commit": "86537b286f18783f8b67bccd78a4ef4345679625" }, - "flash.nvim": { "branch": "main", "commit": "ec0bf2842189f65f60fd40bf3557cac1029cc932" }, - "friendly-snippets": { "branch": "main", "commit": "45a1b96e46efe5fce8af325d4bed45feb9d29d0f" }, - "gitsigns.nvim": { "branch": "main", "commit": "7178d1a430dcfff8a4c92d78b9e39e0297a779c0" }, - "gruvbox-material": { "branch": "master", "commit": "767b5471b8145ec071426341988c7af563f078d1" }, - "lazy.nvim": { "branch": "main", "commit": "d1de92dffab5a862332fdd1892889d362369c12f" }, - "lualine.nvim": { "branch": "master", "commit": "6a40b530539d2209f7dc0492f3681c8c126647ad" }, + "flash.nvim": { "branch": "main", "commit": "25ba3f4d1e0b080213b39518ebcfbb693a23c957" }, + "friendly-snippets": { "branch": "main", "commit": "00ebcaa159e817150bd83bfe2d51fa3b3377d5c4" }, + "gitsigns.nvim": { "branch": "main", "commit": "f4928ba14eb6c667786ac7d69927f6aee6719f1e" }, + "gruvbox-material": { "branch": "master", "commit": "91f8170a31ae6e31670629cd339df297dbd5fd5f" }, + "lazy.nvim": { "branch": "main", "commit": "5bdb12a038e5a72cc793f38893f1a9c9fb741759" }, + "lualine.nvim": { "branch": "master", "commit": "544dd1583f9bb27b393f598475c89809c4d5e86b" }, + "markdown.nvim": { "branch": "main", "commit": "6aa19e9bf36938049e36cd97aafedfe938de8d79" }, "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, - "mason.nvim": { "branch": "main", "commit": "f96a31855fa8aea55599cea412fe611b85a874ed" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, "nvim-bqf": { "branch": "main", "commit": "1b24dc6050c34e8cd377b6b4cd6abe40509e0187" }, - "nvim-cmp": { "branch": "main", "commit": "a110e12d0b58eefcf5b771f533fc2cf3050680ac" }, + "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" }, "nvim-colorizer.lua": { "branch": "master", "commit": "a065833f35a3a7cc3ef137ac88b5381da2ba302e" }, - "nvim-lspconfig": { "branch": "master", "commit": "cf97d2485fc3f6d4df1b79a3ea183e24c272215e" }, + "nvim-lspconfig": { "branch": "master", "commit": "e26da408cf955afa8e9ddbadd510e84ea8976cd7" }, "nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" }, "nvim-spectre": { "branch": "master", "commit": "9a28f926d3371b7ef02243cbbb653a0478d06e31" }, "nvim-surround": { "branch": "main", "commit": "ec2dc7671067e0086cdf29c2f5df2dd909d5f71f" }, - "nvim-treesitter": { "branch": "master", "commit": "465840f8c14126e5193d777bbff94036eb875bd5" }, + "nvim-treesitter": { "branch": "master", "commit": "0ffe62722307f6755d2c7049837cb2cd6d7d275a" }, "nvim-treesitter-pairs": { "branch": "master", "commit": "f8c195d4d8464cba6971bf8de2d6a5c8c109b37a" }, "nvim-treesitter-refactor": { "branch": "master", "commit": "65ad2eca822dfaec2a3603119ec3cc8826a7859e" }, - "nvim-ts-autotag": { "branch": "main", "commit": "323a3e16ed603e2e17b26b1c836d1e86c279f726" }, + "nvim-ts-autotag": { "branch": "main", "commit": "1624866a1379fc1861797f0ed05899a9c1d2ff61" }, "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, - "obsidian.nvim": { "branch": "main", "commit": "e170641143704068233ba1d301e75684b67fc07c" }, - "oil.nvim": { "branch": "master", "commit": "10fbfdd37b6904c0776c5db1a27ab47eecba335e" }, + "oil.nvim": { "branch": "master", "commit": "9e5eb2fcd1dfee2ff30c89273ffff179e42034b9" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope.nvim": { "branch": "master", "commit": "bfcc7d5c6f12209139f175e6123a7b7de6d9c18a" }, - "todo-comments.nvim": { "branch": "main", "commit": "313b04e5b02d29ab9275c9295ff5e2b73921b0eb" }, - "treesj": { "branch": "main", "commit": "6e8bd008bacd5ad001c3953017c1dca20709e915" }, - "trouble.nvim": { "branch": "main", "commit": "4453fea6bb597830fbd58d2c484612f37b97bd8c" }, + "todo-comments.nvim": { "branch": "main", "commit": "96fee098a90e7c09c9811aa7df71d773ba8b9b53" }, + "treesj": { "branch": "main", "commit": "275f83c81a5a1f5ae23c1eac30c4ac28beebbca2" }, + "trouble.nvim": { "branch": "main", "commit": "bf99ea71a39e322336b7f8be965f86dbf5c65540" }, "vim-vsnip": { "branch": "master", "commit": "02a8e79295c9733434aab4e0e2b8c4b7cea9f3a9" }, - "which-key.nvim": { "branch": "main", "commit": "af4ded85542d40e190014c732fa051bdbf88be3d" }, - "zen-mode.nvim": { "branch": "main", "commit": "21976479c7a0146b05a42707cf91c86b1e510945" } -} \ No newline at end of file + "which-key.nvim": { "branch": "main", "commit": "a72d2482914d0ae3c5d24505c7bb91b834cf67d8" }, + "zen-mode.nvim": { "branch": "main", "commit": "a31cf7113db34646ca320f8c2df22cf1fbfc6f2a" } +} diff --git a/.config/nvim/lua/plugins/bindings.lua b/.config/nvim/lua/plugins/bindings.lua index 8f75dfe..23cfeeb 100644 --- a/.config/nvim/lua/plugins/bindings.lua +++ b/.config/nvim/lua/plugins/bindings.lua @@ -1,101 +1,101 @@ return { { 'folke/flash.nvim', config = true }, { 'kylechui/nvim-surround', config = true }, - { 'numToStr/Comment.nvim', config = true }, { 'numToStr/Navigator.nvim', config = true }, + { 'numToStr/Comment.nvim', config = true }, { 'folke/which-key.nvim', + event = 'VeryLazy', config = function() local wk = require('which-key') + wk.setup({ preset = 'modern' }) + wk.add({ + { '', 'NavigatorLeft', desc = 'move to the lefthand split' }, + { '', 'NavigatorDown', desc = 'move to the rigthand split' }, + { '', 'NavigatorUp', desc = 'move to the upper split' }, + { '', 'NavigatorRight', desc = 'move to the lower split' }, + { '¬', '>>', desc = 'bubbling lines with alt-hjkl', remap = true }, + { '˙', '<<', desc = 'bubbling lines with alt-hjkl', remap = true }, + { '˚', ':move .-2', desc = 'bubbling lines with alt-hjkl', remap = true }, + { '∆', ':move .+1', desc = 'bubbling lines with alt-hjkl', remap = true }, + { '', 'checktimeredraw!', desc = 'redraw/reload with F5' }, + { '', 'blast', desc = 'buffer navigation with arrow keys' }, + { '', 'bprevious', desc = 'buffer navigation with arrow keys' }, + { '', 'bnext', desc = 'buffer navigation with arrow keys' }, + { '', 'bfirst', desc = 'buffer navigation with arrow keys' }, - wk.register({ - ['-'] = { 'Oil', 'Open file browser in parent directory' }, - [';'] = { ':', 'Colon with semicolon' }, - [''] = { 'checktimeredraw!', 'redraw/reload with F5' }, - [''] = { 'blast', 'buffer navigation with arrow keys' }, - [''] = { 'bprevious', 'buffer navigation with arrow keys' }, - [''] = { 'bnext', 'buffer navigation with arrow keys' }, - [''] = { 'bfirst', 'buffer navigation with arrow keys' }, - ['¬'] = { '>>', 'bubbling lines with alt-hjkl', noremap = false }, - ['˙'] = { '<<', 'bubbling lines with alt-hjkl', noremap = false }, - ['˚'] = { ':move .-2', 'bubbling lines with alt-hjkl', noremap = false }, - ['∆'] = { ':move .+1', 'bubbling lines with alt-hjkl', noremap = false }, + { '-', 'Oil', desc = 'Open file browser in parent directory' }, + { ';', ':', desc = 'Colon with semicolon' }, + { 'j', 'gj', desc = 'j and k with wrapped lines' }, + { 'k', 'gk', desc = 'j and k with wrapped lines' }, + { 'n', 'nzzzv', desc = 'kepping it centered with n' }, + { 's', function() require('flash').jump() end, desc = 'flash jump' }, + { 'v', '', desc = 'remapping visual/visual-block mode' }, + { 'N', 'Nzzzv', desc = 'kepping it centered with N' }, + { 'S', function() require('flash').treesitter() end, desc = 'flash treesitter select' }, - g = { - name = 'code-related mappings', - -- for more code-mappings: see treesitter.lua - D = { 'lua vim.lsp.buf.declaration()', 'show/go to declaration' }, - F = { 'lua vim.lsp.buf.format()', 'format file with LSP' }, - I = { 'lua vim.lsp.buf.implementation()', 'show/go to implementation' }, - J = { 'TSJToggle', 'split/join lines of code' }, - L = { 'lua vim.lsp.buf.references()', 'show/go to referennces' }, - a = { 'lua vim.lsp.buf.code_action()', 'run code action' }, - b = { 'Gitsigns blame_line', 'git blame line' }, - e = { 'lua vim.diagnostic.goto_next()', 'go to next error in file' }, - h = { 'lua vim.lsp.buf.hover()', 'show hover info' }, - s = { 'Gitsigns stage_hunk', 'git stage hunk' }, - x = { "execute '/\\v^[<\\|=>]{7}/'", 'find git conflicts in file' }, - z = { 'ZenMode', 'toggle zen mode' }, - }, + { 'g', group = 'code-related mappings' }, + { 'gD', 'lua vim.lsp.buf.declaration()', desc = 'show/go to declaration' }, + { 'gF', 'lua vim.lsp.buf.format()', desc = 'format file with LSP' }, + { 'gI', 'lua vim.lsp.buf.implementation()', desc = 'show/go to implementation' }, + { 'gJ', 'TSJToggle', desc = 'split/join lines of code' }, + { 'gL', 'lua vim.lsp.buf.references()', desc = 'show/go to referennces' }, + { 'ga', 'lua vim.lsp.buf.code_action()', desc = 'run code action' }, + { 'gb', 'Gitsigns blame_line', desc = 'git blame line' }, + { 'ge', 'lua vim.diagnostic.goto_next()', desc = 'go to next error in file' }, + { 'gh', 'lua vim.lsp.buf.hover()', desc = 'show hover info' }, + { 'gs', 'Gitsigns stage_hunk', desc = 'git stage hunk' }, + { 'gx', "execute '/\\v^[<\\|=>]{7}/'", desc = 'find git conflicts in file' }, - K = { '', 'K man-pages mapping removed' }, - N = { 'Nzzzv', 'kepping it centered with N' }, - Q = { '', 'Q ex-mode-mapping removed' }, - S = { function() require('flash').treesitter() end, 'flash treesitter select' }, - j = { 'gj', 'j and k with wrapped lines' }, - k = { 'gk', 'j and k with wrapped lines' }, - n = { 'nzzzv', 'kepping it centered with n' }, - s = { function() require('flash').jump() end, 'flash jump' }, - v = { '', 'remapping visual/visual-block mode' }, - - -- with as modifier - [''] = { 'NavigatorLeft', 'move to the lefthand split' }, - [''] = { 'NavigatorDown', 'move to the rigthand split' }, - [''] = { 'NavigatorUp', 'move to the upper split' }, - [''] = { 'NavigatorRight', 'move to the lower split' }, - }) + { "'", 'Telescope git_files', desc = 'find in git files' }, + { ',', 'Telescope find_files', desc = 'find files' }, + { '-', 'sj', desc = 'Horizontal split' }, + { '.', 'Telescope buffers', desc = 'find buffers' }, + { '/', 'Telescope search_history', desc = 'find in search history' }, + { ';', 'Telescope command_history', desc = 'find in command history' }, + { '', 'e #', desc = 'alternate between last two buffers' }, + { '\\', 'vl', desc = 'Vertical split' }, + { ']', 'Telescope current_buffer_fuzzy_find', desc = 'find line in current buffer' }, + { 'a', 'Telescope live_grep', desc = 'live ripgrep' }, + { 'b', 'Telescope git_branches', desc = 'git branches' }, + { 'c', 'Telescope git_bcommits', desc = 'commits for buffer' }, + { 'f', 'Spectre', desc = 'open spectre for search/replace' }, + { 'v', group = 'vim related' }, + { 've', 'e $MYVIMRC', desc = 'edit vimrc' }, + { 'vr', 'source $MYVIMRC', desc = 'source vimrc' }, + { 'w', 'set wrap! wrap?', desc = 'toggle line-wrapping' }, + { 'z', 'ZenMode', desc = 'toggle zen mode' }, - -- all normal mode leader key mappings in one place - wk.register({ - [''] = { 'e #', 'alternate between last two buffers' }, - [','] = { 'Telescope find_files', 'find files' }, - ['-'] = { 'sj', 'Horizontal split' }, - ['.'] = { 'Telescope buffers', 'find buffers' }, - ['/'] = { 'Telescope search_history', 'find in search history' }, - [';'] = { 'Telescope command_history', 'find in command history' }, - ['\''] = { 'Telescope git_files', 'find in git files' }, - ['\\'] = { 'vl', 'Vertical split' }, - [']'] = { 'Telescope current_buffer_fuzzy_find', 'find line in current buffer' }, - - a = { 'Telescope live_grep', 'live ripgrep' }, - b = { 'Telescope git_branches', 'git branches' }, - c = { 'Telescope git_bcommits', 'commits for buffer' }, - f = { 'Spectre', 'open spectre for search/replace' }, - v = { - name = 'vim related', - e = { 'e $MYVIMRC', 'edit vimrc' }, - r = { 'source $MYVIMRC', 'source vimrc' }, + { + mode = { 'v' }, + { ';', ':', desc = 'Colon with semicolon' }, + { 'v', '', desc = 'remapping visual/visual-block mode' }, + { '¬', '>gv', desc = 'bubbling lines with alt-hjkl', remap = true }, + { '˙', 'gv", desc = 'bubbling lines with alt-hjkl', remap = true }, + { '∆', ":move '>+1gv", desc = 'bubbling lines with alt-hjkl', remap = true }, }, - w = { 'set wrap! wrap?', 'toggle line-wrapping' }, - }, { prefix = '' }) - -- visual-mode mappings - wk.register({ - [';'] = { ':', 'Colon with semicolon' }, - ['¬'] = { '>gv', 'bubbling lines with alt-hjkl', noremap = false }, - ['˙'] = { 'gv", 'bubbling lines with alt-hjkl', noremap = false }, - ['∆'] = { ":move '>+1gv", 'bubbling lines with alt-hjkl', noremap = false }, - v = { '', 'remapping visual/visual-block mode' }, - }, { mode = 'v' }) + { + mode = 'i', + '', + "vsnip#available(1) ? '(vsnip-expand-or-jump)' : ''", + desc = 'snippet expansion', + expr = true, + remap = false, + replace_keycodes = false, + }, - -- insert-substitute-mode mappings for snippets - wk.register({ - [''] = { 'vsnip#available(1) ? "(vsnip-expand-or-jump)" : ""', 'snippet expansion' }, - }, { mode = 'i', expr = true, noremap = true }) - wk.register({ - [''] = { 'vsnip#available(-1) ? "(vsnip-jump-prev)" : ""', 'snippet expansion' }, - }, { mode = 's', expr = true, noremap = true }) + { + mode = 's', + '', + "vsnip#available(-1) ? '(vsnip-jump-prev)' : ''", + desc = 'snippet expansion', + expr = true, + remap = false, + replace_keycodes = false, + }, + }) end, } } diff --git a/.config/nvim/lua/plugins/enrichments.lua b/.config/nvim/lua/plugins/enrichments.lua index e4d7681..2baeae9 100644 --- a/.config/nvim/lua/plugins/enrichments.lua +++ b/.config/nvim/lua/plugins/enrichments.lua @@ -1,4 +1,5 @@ return { + { 'MeanderingProgrammer/markdown.nvim', config = true }, { 'lewis6991/gitsigns.nvim', config = true }, { 'kevinhwang91/nvim-bqf', config = true }, { 'nvim-pack/nvim-spectre', config = true, }, @@ -38,13 +39,4 @@ return { vim.notify = require('notify') end }, - { 'epwalsh/obsidian.nvim', - ft = 'markdown', - opts = { - dir = '~/Notes', - follow_url_func = function(url) - vim.fn.jobstart({ 'open', url }) - end, - } - }, } diff --git a/.config/nvim/lua/plugins/ui.lua b/.config/nvim/lua/plugins/ui.lua index 8e1fb4d..362ceb4 100644 --- a/.config/nvim/lua/plugins/ui.lua +++ b/.config/nvim/lua/plugins/ui.lua @@ -7,20 +7,6 @@ return { }, config = function() require('telescope').setup({ - defaults = { - layout_strategy = 'horizontal', - layout_config = { - preview_width = 0.5, - prompt_position = 'bottom', - width = 0.9, - height = 0.9, - }, - borderchars = { - prompt = { '─', ' ', ' ', ' ', '─', '─', ' ', ' ' }, - results = { ' ' }, - preview = { ' ' }, - }, - }, extensions = { fzf = { fuzzy = true, @@ -30,7 +16,6 @@ return { }, }, }) - require('telescope').load_extension('fzf') end }, diff --git a/.wezterm.lua b/.wezterm.lua index cb25a78..19311c0 100644 --- a/.wezterm.lua +++ b/.wezterm.lua @@ -208,12 +208,12 @@ wezterm.on('gui-startup', function() local git_pane = dot_pane:split({ direction = 'Right', cwd = home_dir .. '/Dotfiles' }) tab:set_title('mail') - pane:send_text('O && m\n') + pane:send_text('m\n') dot_tab:set_title('dotfiles') dot_pane:send_text('v nvim/init.lua\n') todo_tab:set_title('todo') todo_pane:send_text('v index.md\n') - git_pane:send_text('gs\n') + git_pane:send_text('g s\n') tab:activate() -- initialize some sessions for MRU projects and folders diff --git a/scripts/install.sh b/scripts/install.sh index 3ed426b..57d3539 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -44,25 +44,23 @@ exit n lts pyenv install 3.12.4 && pyenv global 3.12.4 rbenv install 3.3.4 && rbenv global 3.3.4 -pip install setuptools tiptop neovim +pip install setuptools tiptop neovim urlscan npm install -g neovim fkill-cli npm-check trash-cli yarn gem install neovim +brew install luarocks # Custom node scripts and fzf installation cd ~/Dotfiles/scripts/out && npm i -g cd ~/Dotfiles/scripts/gallery && npm i -g /opt/homebrew/opt/fzf/install -# Neomutt and friends +# Neomutt and friends:create system-keychain-entries for the +# mailboxes (compare msmtp/mbsync-config, remember to prepend +# imap-ones with http:// and smtp-ones with smtp://), then: brew install isync msmtp mu neomutt ripmime w3m -pip install urlscan -take Mail && take mailbox && mkdir cur && mkdir new && mkdir tmp -# final steps for a working mutt instance: -# create the correct keychain-entries in system keychain -# for the mailboxes (compare msmtp/mbsync-config, remember to -# prepend imap-ones with http:// and smtps with smtp://), then: +take Mail && take mailbox && mkdir cur new tmp mbsync -a -mu init -m /Users/webgefrickel/Mail && mu index +mu init -m $HOME/Mail && mu index # ------------------------------------------------------------- #