From 72fbf61c849ae0252de508fe199f5c5d60d2b75b Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Mon, 12 Aug 2024 17:49:40 +0200 Subject: [PATCH 01/13] Set vim.o.sessionoptions = "localoptions" --- home/.config/nvim/lua/plugs/auto_session.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/.config/nvim/lua/plugs/auto_session.lua b/home/.config/nvim/lua/plugs/auto_session.lua index c0d0822..488905d 100644 --- a/home/.config/nvim/lua/plugs/auto_session.lua +++ b/home/.config/nvim/lua/plugs/auto_session.lua @@ -13,5 +13,8 @@ return { "~/.config", "~/dev/git/.dotfiles", }, - } + }, + init = function() + vim.o.sessionoptions = "localoptions" + end } From 802721becc625ce96ec2873941f17efca62594f7 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Thu, 15 Aug 2024 13:12:17 +0200 Subject: [PATCH 02/13] Add option as alt so the option key works in tmux when using mac --- home/.config/alacritty/alacritty.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/home/.config/alacritty/alacritty.toml b/home/.config/alacritty/alacritty.toml index d4b1c6a..d87f8c2 100644 --- a/home/.config/alacritty/alacritty.toml +++ b/home/.config/alacritty/alacritty.toml @@ -61,6 +61,7 @@ dynamic_title = true startup_mode = "Maximized" opacity = 0.95 blur = true +option_as_alt = "Both" [window.dimensions] columns = 160 From bcf5f8a40523af4802745413c53e74aa3fe07b29 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Thu, 15 Aug 2024 13:13:46 +0200 Subject: [PATCH 03/13] Change k to q for killing/closing/quitting in sway, neovim, and tmux. Reason for this is because cmd+q on mac os. I want my setup to be universal between mac and lin, or as close as it possibly can be. --- home/.config/nvim/lua/keymaps.lua | 4 ++-- home/.tmux.conf | 4 ++-- linux_home/.config/sway/config | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/home/.config/nvim/lua/keymaps.lua b/home/.config/nvim/lua/keymaps.lua index 6046e3d..e692399 100644 --- a/home/.config/nvim/lua/keymaps.lua +++ b/home/.config/nvim/lua/keymaps.lua @@ -33,7 +33,7 @@ require("utils").add_keymaps({ }, -- Window - [""] = { + [""] = { cmd = "q", }, @@ -115,7 +115,7 @@ require("utils").add_keymaps({ }, }, t = { - [""] = { + [""] = { cmd = "", }, }, diff --git a/home/.tmux.conf b/home/.tmux.conf index 0fd97a5..31fabd2 100644 --- a/home/.tmux.conf +++ b/home/.tmux.conf @@ -1,4 +1,4 @@ -# For some reason, fzf is missing from path when running shell scripts through tmux keybindings +#git clone --depth 1 --recurse-submodules --shallow-submodules git@github.int.midasplayer.com:FarmStudio/FarmHeroesSaga.git For some reason, fzf is missing from path when running shell scripts through tmux keybindings set-environment -g PATH "~/dev/git/fzf/bin:$PATH" # Keybindings for navigating between panes @@ -28,7 +28,7 @@ bind-key -n M-d run-shell "~/.config/tmux/tmux-fuzzy-find-session.sh" # Split window, change keybindings to match vim concept of splits bind-key -n M-v split-window -h bind-key -n M-h split-window -v -bind-key -n M-k kill-pane +bind-key -n M-q kill-pane bind-key -n M-f resize-pane -Z bind-key -n M-s command-prompt -p "New session: " "run-shell '~/.config/tmux/tmux-create-session.sh '%%''" bind-key -n M-w new-window diff --git a/linux_home/.config/sway/config b/linux_home/.config/sway/config index e4f1861..81598e3 100644 --- a/linux_home/.config/sway/config +++ b/linux_home/.config/sway/config @@ -26,7 +26,7 @@ exec_always --no-startup-id ~/.config/sway/dim_inactive.windows.py bindsym $mod+Return exec $term # Kill focused window - bindsym $mod+k kill + bindsym $mod+q kill # Start your launcher bindsym $mod+d exec $menu From ee4e8e72175518a10356017966c620765b1cd00f Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Thu, 15 Aug 2024 13:23:03 +0200 Subject: [PATCH 04/13] Make sure wlc/wlp works on mac os --- home/.zshrc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/home/.zshrc b/home/.zshrc index 7d6e0b9..bc6c8b9 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -120,7 +120,10 @@ alias neofetch="fastfetch" alias cat="bat" alias fzf='fzf --preview "bat --color=always --style=numbers --line-range=:500 {}"' # wl-copy and wl-paste doesn't exist on mac, and mac has pbcopy and pbpaste -if [[ "$(uname)" != "Darwin" ]]; then +if [[ "$(uname)" == "Darwin" ]]; then + alias wlc="pbcopy" + alias wlp="pbpaste" +else alias wlc="wl-copy" alias wlp="wl-paste" else From 727da4b2b0721f7fd992b3e1815eb5e46a781d67 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sat, 17 Aug 2024 22:48:28 +0200 Subject: [PATCH 05/13] Fix merge issue with wlc aliases on mac --- home/.zshrc | 3 --- 1 file changed, 3 deletions(-) diff --git a/home/.zshrc b/home/.zshrc index bc6c8b9..2f21975 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -126,9 +126,6 @@ if [[ "$(uname)" == "Darwin" ]]; then else alias wlc="wl-copy" alias wlp="wl-paste" -else - alias wlc="pbcopy" - alias wlp="pbpaste" fi # Alias functions From 1c8ab38b68b4586321f388093c501b4381a252bd Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sat, 17 Aug 2024 22:50:04 +0200 Subject: [PATCH 06/13] Add aerospace for tiling wm on mac --- mac_home/.config/aerospace/aerospace.toml | 120 ++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 mac_home/.config/aerospace/aerospace.toml diff --git a/mac_home/.config/aerospace/aerospace.toml b/mac_home/.config/aerospace/aerospace.toml new file mode 100644 index 0000000..6ff5192 --- /dev/null +++ b/mac_home/.config/aerospace/aerospace.toml @@ -0,0 +1,120 @@ +after-login-command = [] +after-startup-command = [ + 'exec-and-forget borders active_color=0xffb7bdf8 inactive_color=0xff24273a width=5.0 hidpi=on style=square blur_radius=5.0' +] + +start-at-login = true + +# Normalizations. See: https://nikitabobko.github.io/AeroSpace/guide#normalization +enable-normalization-flatten-containers = true +enable-normalization-opposite-orientation-for-nested-containers = true + +# See: https://nikitabobko.github.io/AeroSpace/guide#layouts +# The 'accordion-padding' specifies the size of accordion padding +# You can set 0 to disable the padding feature +accordion-padding = 30 + +# Possible values: tiles|accordion +default-root-container-layout = 'tiles' + +# Possible values: horizontal|vertical|auto +# 'auto' means: wide monitor (anything wider than high) gets horizontal orientation, +# tall monitor (anything higher than wide) gets vertical orientation +default-root-container-orientation = 'auto' + +# Possible values: (qwerty|dvorak) +# See https://nikitabobko.github.io/AeroSpace/guide#key-mapping +key-mapping.preset = 'qwerty' + +# Mouse follows focus when focused monitor changes +# Drop it from your config, if you don't like this behavior +# See https://nikitabobko.github.io/AeroSpace/guide#on-focus-changed-callbacks +# See https://nikitabobko.github.io/AeroSpace/commands#move-mouse +# Fallback value (if you omit the key): on-focused-monitor-changed = [] +on-focused-monitor-changed = ['move-mouse monitor-lazy-center'] + +# Gaps between windows (inner-*) and between monitor edges (outer-*). +# Possible values: +# - Constant: gaps.outer.top = 8 +# - Per monitor: gaps.outer.top = [{ monitor.main = 16 }, { monitor."some-pattern" = 32 }, 24] +# In this example, 24 is a default value when there is no match. +# Monitor pattern is the same as for 'workspace-to-monitor-force-assignment'. +# See: https://nikitabobko.github.io/AeroSpace/guide#assign-workspaces-to-monitors +[gaps] +inner.horizontal = 0 +inner.vertical = 0 +outer.left = 0 +outer.bottom = 0 +outer.top = 0 +outer.right = 0 + +# 'main' binding mode declaration +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +# 'main' binding mode must be always presented +# Fallback value (if you omit the key): mode.main.binding = {} +[mode.main.binding] +# cmd-h = [] # Disable "hide application" +cmd-alt-h = [] # Disable "hide others" +# All possible keys: +# - Letters. a, b, c, ..., z +# - Numbers. 0, 1, 2, ..., 9 +# - Keypad numbers. keypad0, keypad1, keypad2, ..., keypad9 +# - F-keys. f1, f2, ..., f20 +# - Special keys. minus, equal, period, comma, slash, backslash, quote, semicolon, backtick, +# leftSquareBracket, rightSquareBracket, space, enter, esc, backspace, tab +# - Keypad special. keypadClear, keypadDecimalMark, keypadDivide, keypadEnter, keypadEqual, +# keypadMinus, keypadMultiply, keypadPlus +# - Arrows. left, down, up, right + +# All possible modifiers: cmd, alt, ctrl, shift + +# All possible commands: https://nikitabobko.github.io/AeroSpace/commands +cmd-enter = 'exec-and-forget open -n /Applications/Alacritty.app' + +# See: https://nikitabobko.github.io/AeroSpace/commands#layout +# alt-slash = 'layout tiles horizontal vertical' +# alt-comma = 'layout accordion horizontal vertical' + +# See: https://nikitabobko.github.io/AeroSpace/commands#focus +cmd-left = 'focus left' +cmd-down = 'focus down' +cmd-up = 'focus up' +cmd-right = 'focus right' + +# See: https://nikitabobko.github.io/AeroSpace/commands#move +cmd-shift-left = 'move left' +cmd-shift-down = 'move down' +cmd-shift-up = 'move up' +cmd-shift-right = 'move right' + +# See: https://nikitabobko.github.io/AeroSpace/commands#resize +# alt-shift-minus = 'resize smart -50' +# alt-shift-equal = 'resize smart +50' + +# See: https://nikitabobko.github.io/AeroSpace/commands#workspace +cmd-1 = 'workspace 1' +cmd-2 = 'workspace 2' +cmd-3 = 'workspace 3' +cmd-4 = 'workspace 4' +cmd-5 = 'workspace 5' +cmd-6 = 'workspace 6' +cmd-7 = 'workspace 7' +cmd-8 = 'workspace 8' +cmd-9 = 'workspace 9' + +# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace +cmd-shift-1 = 'move-node-to-workspace 1' +cmd-shift-2 = 'move-node-to-workspace 2' +cmd-shift-3 = 'move-node-to-workspace 3' +cmd-shift-4 = 'move-node-to-workspace 4' +cmd-shift-5 = 'move-node-to-workspace 5' +cmd-shift-6 = 'move-node-to-workspace 6' +cmd-shift-7 = 'move-node-to-workspace 7' +cmd-shift-8 = 'move-node-to-workspace 8' +cmd-shift-9 = 'move-node-to-workspace 9' + +cmd-shift-c = 'reload-config' +cmd-f = 'fullscreen' + +cmd-v = 'layout h_tiles' +cmd-h = 'layout v_tiles' From 6ad8c248805e3a2de6ede9103e9783118837c26e Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sat, 17 Aug 2024 22:58:24 +0200 Subject: [PATCH 07/13] Fix conflicting keybinds cmd-v and cmd-h. Now have cmd-shift-h/v --- mac_home/.config/aerospace/aerospace.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mac_home/.config/aerospace/aerospace.toml b/mac_home/.config/aerospace/aerospace.toml index 6ff5192..9b8c25e 100644 --- a/mac_home/.config/aerospace/aerospace.toml +++ b/mac_home/.config/aerospace/aerospace.toml @@ -116,5 +116,5 @@ cmd-shift-9 = 'move-node-to-workspace 9' cmd-shift-c = 'reload-config' cmd-f = 'fullscreen' -cmd-v = 'layout h_tiles' -cmd-h = 'layout v_tiles' +cmd-shift-v = 'layout h_tiles' +cmd-shift-h = 'layout v_tiles' From 222307f2b27d79446165e912ff71020d6520cef3 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Tue, 20 Aug 2024 14:37:48 +0200 Subject: [PATCH 08/13] Add keybindings for h/v_accordion (stacked/tabbed), change keybind for fullscreen (add shift modifier) so that it doesnt conflict with default macos cmd-f for search. Reenable the disable keybind for cmd-h --- mac_home/.config/aerospace/aerospace.toml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mac_home/.config/aerospace/aerospace.toml b/mac_home/.config/aerospace/aerospace.toml index 9b8c25e..263e088 100644 --- a/mac_home/.config/aerospace/aerospace.toml +++ b/mac_home/.config/aerospace/aerospace.toml @@ -53,7 +53,7 @@ outer.right = 0 # 'main' binding mode must be always presented # Fallback value (if you omit the key): mode.main.binding = {} [mode.main.binding] -# cmd-h = [] # Disable "hide application" +cmd-h = [] # Disable "hide application" cmd-alt-h = [] # Disable "hide others" # All possible keys: # - Letters. a, b, c, ..., z @@ -113,8 +113,12 @@ cmd-shift-7 = 'move-node-to-workspace 7' cmd-shift-8 = 'move-node-to-workspace 8' cmd-shift-9 = 'move-node-to-workspace 9' +# cmd-shift-p = 'print screen' This is set through the mac os keybindings, just here for clarity + cmd-shift-c = 'reload-config' -cmd-f = 'fullscreen' +cmd-shift-f = 'fullscreen' cmd-shift-v = 'layout h_tiles' cmd-shift-h = 'layout v_tiles' +cmd-shift-t = 'layout h_accordion' +cmd-shift-s = 'layout v_accordion' From 60935aba8daa1dc07b5a833379f5b4caeaf798c5 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Wed, 21 Aug 2024 11:34:23 +0200 Subject: [PATCH 09/13] Change accordion padding 30>60 --- mac_home/.config/aerospace/aerospace.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mac_home/.config/aerospace/aerospace.toml b/mac_home/.config/aerospace/aerospace.toml index 263e088..080e1b0 100644 --- a/mac_home/.config/aerospace/aerospace.toml +++ b/mac_home/.config/aerospace/aerospace.toml @@ -12,7 +12,7 @@ enable-normalization-opposite-orientation-for-nested-containers = true # See: https://nikitabobko.github.io/AeroSpace/guide#layouts # The 'accordion-padding' specifies the size of accordion padding # You can set 0 to disable the padding feature -accordion-padding = 30 +accordion-padding = 60 # Possible values: tiles|accordion default-root-container-layout = 'tiles' From 392a7684c113643d6333ee3d571a80ffaf839dea Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Wed, 21 Aug 2024 11:34:34 +0200 Subject: [PATCH 10/13] Remove --git flag for all eza commands as it really slowed down all operations in large repos --- home/.zshrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/.zshrc b/home/.zshrc index 2f21975..5bc433e 100644 --- a/home/.zshrc +++ b/home/.zshrc @@ -113,8 +113,8 @@ alias c="clear" alias s="source" alias sz="source ~/.zshrc" alias ls="eza -a --color=always" -alias ll="eza --long --header -a --color=always --icons --git" -alias tree="eza --tree --level=2 --color=always --icons --git" +alias ll="eza --long --header -a --color=always --icons" +alias tree="eza --tree --level=2 --color=always --icons" alias lg="lazygit" alias neofetch="fastfetch" alias cat="bat" From 34585fee746414eca100ffc4ad2da2ab10dfc21d Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Wed, 28 Aug 2024 23:15:23 +0200 Subject: [PATCH 11/13] Revert to default dir for compile-commands-dir, more cross project friendly to just create a symlink to the root instead as part of the gen step. --- home/.config/nvim/lua/language_servers/clangd.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/.config/nvim/lua/language_servers/clangd.lua b/home/.config/nvim/lua/language_servers/clangd.lua index d34603f..a6327b8 100644 --- a/home/.config/nvim/lua/language_servers/clangd.lua +++ b/home/.config/nvim/lua/language_servers/clangd.lua @@ -31,7 +31,7 @@ local M = { "--rename-file-limit=0", "--header-insertion=iwyu", "--inlay-hints", - "--compile-commands-dir=build/", + -- "--compile-commands-dir=build/", }, commands = { ClangdSwitchSourceHeader = { From d3f4c573fc1a4e278e88959e5e757ad58a4dac53 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Wed, 28 Aug 2024 23:16:24 +0200 Subject: [PATCH 12/13] Increase ideavim scroll off to 8 from 1 --- home/.ideavimrc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home/.ideavimrc b/home/.ideavimrc index e8a96fb..eeaa079 100644 --- a/home/.ideavimrc +++ b/home/.ideavimrc @@ -7,7 +7,7 @@ "" -- Suggested options -- " Show a few lines of context around the cursor. Note that this makes the " text scroll if you mouse-click near the start or end of the window. -set scrolloff=1 +set scrolloff=8 " Make VIM use the system clipboard set clipboard+=unnamedplus @@ -43,7 +43,7 @@ map ta (FindInPath) map dr (Debug) map db (ToggleLineBreakpoint) -map s (Stop) +map ds (Stop) map gcc (CommentByLineComment) map gcb (CommentByBlockComment) From f0dce861732208cdad7fdcc1b8d22d3906e8d19c Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Wed, 28 Aug 2024 23:16:37 +0200 Subject: [PATCH 13/13] Make sure that custom pickers use the fuzzy sorters, this makes for a noticable speed increase for large projects. --- home/.config/nvim/lua/plugs/telescope.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/home/.config/nvim/lua/plugs/telescope.lua b/home/.config/nvim/lua/plugs/telescope.lua index 0d4f540..a4d9b24 100644 --- a/home/.config/nvim/lua/plugs/telescope.lua +++ b/home/.config/nvim/lua/plugs/telescope.lua @@ -66,7 +66,10 @@ return { } -- Cache the options with the dropdown theme for each picker so we don't -- recalculate it every time we open a picker + local fzf_sorter = require("telescope.sorters").get_fzy_sorter() for _, v in ipairs(pickers) do + -- Make sure all custom pickers are set to use the fzf sorter + v.picker_opts.sorter = fzf_sorter v.picker_opts = vim.tbl_extend("force", dropdown, v.picker_opts) end