diff --git a/aerospace.toml b/aerospace.toml new file mode 100644 index 0000000..34f54e4 --- /dev/null +++ b/aerospace.toml @@ -0,0 +1,191 @@ +# Place a copy of this config to ~/.aerospace.toml +# After that, you can edit ~/.aerospace.toml to your liking + +# You can use it to add commands that run after login to macOS user session.aeros. +# 'start-at-login' needs to be 'true' for 'after-login-command' to work +# Available commands: https://nikitabobko.github.io/AeroSpace/commands +after-login-command = [] + +# You can use it to add commands that run after AeroSpace startup. +# 'after-startup-command' is run after 'after-login-command' +# Available commands : https://nikitabobko.github.io/AeroSpace/commands +after-startup-command = [] + +# Start AeroSpace at login +start-at-login = false + +# 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' + +# 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] + +# 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 + +# See: https://nikitabobko.github.io/AeroSpace/commands#exec-and-forget +# You can uncomment the following lines to open up terminal with alt + enter shortcut (like in i3) +# alt-enter = '''exec-and-forget osascript -e ' +# tell application "Terminal" +# do script +# activate +# end tell' +# ''' + +# 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 +alt-h = 'focus left' +alt-j = 'focus down' +alt-k = 'focus up' +alt-l = 'focus right' + +# See: https://nikitabobko.github.io/AeroSpace/commands#move +alt-shift-h = 'move left' +alt-shift-j = 'move down' +alt-shift-k = 'move up' +alt-shift-l = '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 +alt-1 = 'workspace 1' +alt-2 = 'workspace 2' +alt-3 = 'workspace 3' +alt-4 = 'workspace 4' +alt-5 = 'workspace 5' +alt-6 = 'workspace 6' +alt-7 = 'workspace 7' +alt-8 = 'workspace 8' +alt-9 = 'workspace 9' +alt-a = 'workspace A' # In your config, you can drop workspace bindings that you don't need +alt-b = 'workspace B' +alt-c = 'workspace C' +alt-d = 'workspace D' +alt-e = 'workspace E' +alt-f = 'workspace F' +alt-g = 'workspace G' +alt-i = 'workspace I' +alt-m = 'workspace M' +alt-n = 'workspace N' +alt-o = 'workspace O' +alt-p = 'workspace P' +alt-q = 'workspace Q' +alt-r = 'workspace R' +alt-s = 'workspace S' +alt-t = 'workspace T' +alt-u = 'workspace U' +alt-v = 'workspace V' +alt-w = 'workspace W' +alt-x = 'workspace X' +alt-y = 'workspace Y' +alt-z = 'workspace Z' + +# See: https://nikitabobko.github.io/AeroSpace/commands#move-node-to-workspace +alt-shift-1 = 'move-node-to-workspace 1' +alt-shift-2 = 'move-node-to-workspace 2' +alt-shift-3 = 'move-node-to-workspace 3' +alt-shift-4 = 'move-node-to-workspace 4' +alt-shift-5 = 'move-node-to-workspace 5' +alt-shift-6 = 'move-node-to-workspace 6' +alt-shift-7 = 'move-node-to-workspace 7' +alt-shift-8 = 'move-node-to-workspace 8' +alt-shift-9 = 'move-node-to-workspace 9' +alt-shift-a = 'move-node-to-workspace A' +alt-shift-b = 'move-node-to-workspace B' +alt-shift-c = 'move-node-to-workspace C' +alt-shift-d = 'move-node-to-workspace D' +alt-shift-e = 'move-node-to-workspace E' +alt-shift-f = 'move-node-to-workspace F' +alt-shift-g = 'move-node-to-workspace G' +alt-shift-i = 'move-node-to-workspace I' +alt-shift-m = 'move-node-to-workspace M' +alt-shift-n = 'move-node-to-workspace N' +alt-shift-o = 'move-node-to-workspace O' +alt-shift-p = 'move-node-to-workspace P' +alt-shift-q = 'move-node-to-workspace Q' +alt-shift-r = 'move-node-to-workspace R' +alt-shift-s = 'move-node-to-workspace S' +alt-shift-t = 'move-node-to-workspace T' +alt-shift-u = 'move-node-to-workspace U' +alt-shift-v = 'move-node-to-workspace V' +alt-shift-w = 'move-node-to-workspace W' +alt-shift-x = 'move-node-to-workspace X' +alt-shift-y = 'move-node-to-workspace Y' +alt-shift-z = 'move-node-to-workspace Z' + +# See: https://nikitabobko.github.io/AeroSpace/commands#workspace-back-and-forth +alt-tab = 'workspace-back-and-forth' +# See: https://nikitabobko.github.io/AeroSpace/commands#move-workspace-to-monitor +alt-shift-tab = 'move-workspace-to-monitor --wrap-around next' + +# See: https://nikitabobko.github.io/AeroSpace/commands#mode +alt-shift-semicolon = 'mode service' + +# 'service' binding mode declaration. +# See: https://nikitabobko.github.io/AeroSpace/guide#binding-modes +[mode.service.binding] +esc = ['reload-config', 'mode main'] +r = ['flatten-workspace-tree', 'mode main'] # reset layout +f = ['layout floating tiling', 'mode main'] # Toggle between floating and tiling layout +backspace = ['close-all-windows-but-current', 'mode main'] + +# sticky is not yet supported https://github.com/nikitabobko/AeroSpace/issues/2 +#s = ['layout sticky tiling', 'mode main'] + +alt-shift-h = ['join-with left', 'mode main'] +alt-shift-j = ['join-with down', 'mode main'] +alt-shift-k = ['join-with up', 'mode main'] +alt-shift-l = ['join-with right', 'mode main'] diff --git a/nvim/init.lua b/nvim/init.lua index 740c3bb..a6a75b7 100644 --- a/nvim/init.lua +++ b/nvim/init.lua @@ -307,6 +307,9 @@ function setup_plugins() css = { require("formatter.filetypes.css").prettier, }, + rust = { + require("formatter.filetypes.rust").rustfmt, + }, astro = { function() return { @@ -323,6 +326,7 @@ function setup_plugins() end, }, lua = { require("formatter.filetypes.lua").stylua }, + c = { require("formatter.filetypes.c").clangformat }, cpp = { require("formatter.filetypes.cpp").clangformat }, dart = { require("formatter.filetypes.dart").dartformat }, python = { require("formatter.filetypes.python").black }, @@ -394,6 +398,7 @@ function setup_plugins() { name = "nvim_lsp" }, { name = "luasnip" }, { name = "buffer" }, + { name = "nvim_lsp_signature_help" }, }), }) @@ -447,6 +452,17 @@ function config_vim() vim.opt.pumheight = 10 vim.opt.scrolloff = 10 vim.opt.listchars = {} + vim.opt.termguicolors = true + + vim.o.guifont = "CommitMono Nerd Font:h14" + + vim.g.neovide_position_animation_length = 0 + vim.g.neovide_cursor_animation_length = 0.00 + vim.g.neovide_cursor_trail_size = 0 + vim.g.neovide_cursor_animate_in_insert_mode = false + vim.g.neovide_cursor_animate_command_line = false + vim.g.neovide_scroll_animation_far_lines = 0 + vim.g.neovide_scroll_animation_length = 0.00 vim.filetype.add({ extension = { @@ -515,6 +531,7 @@ PLUGINS = { { "hrsh7th/cmp-path" }, { "hrsh7th/cmp-cmdline" }, { "hrsh7th/nvim-cmp" }, + { "hrsh7th/cmp-nvim-lsp-signature-help" }, { "mhartington/formatter.nvim" }, { "L3MON4D3/LuaSnip", diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index d413523..47e4700 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -5,6 +5,7 @@ "cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" }, "cmp-cmdline": { "branch": "main", "commit": "d250c63aa13ead745e3a40f61fdd3470efde3923" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, + "cmp-nvim-lsp-signature-help": { "branch": "main", "commit": "031e6ba70b0ad5eee49fd2120ff7a2e325b17fa7" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "formatter.nvim": { "branch": "master", "commit": "ad246d34ce7a32f752071ed81b09b94e6b127fad" }, "gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" },