From 9f298d08da36e4393672bf4d87d9664a3aba3fa4 Mon Sep 17 00:00:00 2001 From: Avinal Kumar Date: Wed, 17 Jul 2024 23:56:15 +0530 Subject: [PATCH] update zellij layout and fix whichkey - alacritty: add cursor style - nvim: fix which-key, add colorizer, add debugger, update plugins - zellij: revamp layouts - starship: change prompt Signed-off-by: Avinal Kumar --- .config/alacritty/alacritty.toml | 4 + .config/nvim/init.lua | 12 ++ .config/nvim/lazy-lock.json | 52 +++--- .config/nvim/lua/custom/plugins/colorizer.lua | 6 + .config/nvim/lua/kickstart/plugins/debug.lua | 1 + .../nvim/lua/kickstart/plugins/which-key.lua | 31 +-- .config/nvim/lua/lazy-plugins.lua | 2 - .config/starship.toml | 176 +++--------------- .config/zellij/config.kdl | 4 +- .config/zellij/layouts/compact-ide.kdl | 18 +- .config/zellij/layouts/ide-layout.kdl | 20 +- 11 files changed, 122 insertions(+), 204 deletions(-) create mode 100644 .config/nvim/lua/custom/plugins/colorizer.lua diff --git a/.config/alacritty/alacritty.toml b/.config/alacritty/alacritty.toml index 1266564..4662132 100644 --- a/.config/alacritty/alacritty.toml +++ b/.config/alacritty/alacritty.toml @@ -91,3 +91,7 @@ color = "#3ddbd9" [[colors.indexed_colors]] index = 17 color = "#ff7eb6" + +[cursor] +style = { shape = "Underline", blinking = "On" } +vi_mode_style = { shape = "Block", blinking = "Off" } diff --git a/.config/nvim/init.lua b/.config/nvim/init.lua index 2aa243d..91ba22c 100644 --- a/.config/nvim/init.lua +++ b/.config/nvim/init.lua @@ -7,6 +7,18 @@ vim.g.maplocalleader = ' ' -- Set to true if you have a Nerd Font installed and selected in the terminal vim.g.have_nerd_font = false +-- Set additional path because the information is lost inside zellij +local bin_paths = { + '/home/avinal/.nvm/versions/node/v22.1.0/bin', + '/home/avinal/.local/bin', + '/home/avinal/.krew/bin', + '/home/avinal/bin', + '/usr/local/go/bin', + '/home/avinal/go/bin', +} + +vim.env.PATH = table.concat(bin_paths, ':') .. ':' .. vim.env.PATH + -- [[ Setting options ]] require 'options' diff --git a/.config/nvim/lazy-lock.json b/.config/nvim/lazy-lock.json index a37736e..b2044e1 100644 --- a/.config/nvim/lazy-lock.json +++ b/.config/nvim/lazy-lock.json @@ -1,38 +1,40 @@ { - "Comment.nvim": { "branch": "master", "commit": "0236521ea582747b58869cb72f70ccfa967d2e89" }, - "LuaSnip": { "branch": "master", "commit": "50fcf17db7c75af80e6b6109acfbfb4504768780" }, + "Comment.nvim": { "branch": "master", "commit": "e30b7f2008e52442154b66f7c519bfd2f1e32acb" }, + "LuaSnip": { "branch": "master", "commit": "ce0a05ab4e2839e1c48d072c5236cce846a387bc" }, "cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" }, "cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" }, "cmp_luasnip": { "branch": "master", "commit": "05a9ab28b53f71d1aece421ef32fee2cb857a843" }, - "conform.nvim": { "branch": "master", "commit": "069e971295a34a810484b7b2ef54b3c735214181" }, - "fidget.nvim": { "branch": "main", "commit": "ef99df04a1c53a453602421bc0f756997edc8289" }, - "gitsigns.nvim": { "branch": "main", "commit": "54b9df401b8f21f4e6ca537ec47a109394aaccd7" }, - "indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" }, - "lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" }, - "mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" }, - "mason-nvim-dap.nvim": { "branch": "main", "commit": "67210c0e775adec55de9826b038e8b62de554afc" }, + "conform.nvim": { "branch": "master", "commit": "310e2e95a4f832163f3f7a9fedebb1a4afc0db69" }, + "fidget.nvim": { "branch": "main", "commit": "d855eed8a06531a7e8fd0684889b2943f373c469" }, + "gitsigns.nvim": { "branch": "main", "commit": "f4928ba14eb6c667786ac7d69927f6aee6719f1e" }, + "indent-blankline.nvim": { "branch": "master", "commit": "65e20ab94a26d0e14acac5049b8641336819dfc7" }, + "lazy.nvim": { "branch": "main", "commit": "d731a6b005fd239e85e555bd57362382f6c1e461" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "37a336b653f8594df75c827ed589f1c91d91ff6c" }, + "mason-nvim-dap.nvim": { "branch": "main", "commit": "4ba55f9755ebe8297d92c419b90a946123292ae6" }, "mason-tool-installer.nvim": { "branch": "main", "commit": "c5e07b8ff54187716334d585db34282e46fa2932" }, - "mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" }, - "mini.nvim": { "branch": "main", "commit": "d330f2639462084d2ef6c699ccd6219b81c45bc7" }, + "mason.nvim": { "branch": "main", "commit": "e2f7f9044ec30067bc11800a9e266664b88cda22" }, + "mini.nvim": { "branch": "main", "commit": "f20d8cd3a116ef65f022797de064a044b217ff53" }, "neo-tree.nvim": { "branch": "main", "commit": "8c75e8a2949cd6cd35525799200a8d34471ee9eb" }, - "neodev.nvim": { "branch": "main", "commit": "02893eeb9d6e8503817bd52385e111cba9a90500" }, + "neodev.nvim": { "branch": "main", "commit": "46aa467dca16cf3dfe27098042402066d2ae242d" }, "nightfox.nvim": { "branch": "main", "commit": "df75a6a94910ae47854341d6b5a6fd483192c0eb" }, - "nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" }, - "nvim-autopairs": { "branch": "master", "commit": "c15de7e7981f1111642e7e53799e1211d4606cb9" }, - "nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" }, + "nui.nvim": { "branch": "main", "commit": "61574ce6e60c815b0a0c4b5655b8486ba58089a1" }, + "nvim-autopairs": { "branch": "master", "commit": "78a4507bb9ffc9b00f11ae0ac48243d00cb9194d" }, + "nvim-cmp": { "branch": "main", "commit": "d818fd0624205b34e14888358037fb6f5dc51234" }, + "nvim-colorizer.lua": { "branch": "master", "commit": "08bd34bf0ed79723f62764c7f9ca70516d461d0d" }, "nvim-dap": { "branch": "master", "commit": "6f79b822997f2e8a789c6034e147d42bc6706770" }, - "nvim-dap-go": { "branch": "main", "commit": "a0c5a2b991d7e9304a9a032cf177e22a4b0acda1" }, - "nvim-dap-ui": { "branch": "master", "commit": "b7267003ba4dd860350be86f75b9d9ea287cedca" }, - "nvim-lint": { "branch": "master", "commit": "cf6ffafe158441b8c5e2051ab0fe5b1983527ba7" }, - "nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" }, - "nvim-nio": { "branch": "master", "commit": "632024157d01e8bc48fd7df6a7de8ffe3fdd4f3a" }, - "nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" }, + "nvim-dap-go": { "branch": "main", "commit": "3999f0744e80d2dba5775189fc7c7a5e9846053e" }, + "nvim-dap-ui": { "branch": "master", "commit": "a5606bc5958db86f8d92803bea7400ee26a8d7e4" }, + "nvim-lint": { "branch": "master", "commit": "efc6fc83f0772283e064c53a8f9fb5645bde0bc0" }, + "nvim-lspconfig": { "branch": "master", "commit": "01e08d4bf1c35e5126b2ad5209725e4c552289ab" }, + "nvim-nio": { "branch": "master", "commit": "a428f309119086dc78dd4b19306d2d67be884eee" }, + "nvim-treesitter": { "branch": "master", "commit": "0d5e1214a5c386a168dc8e19d7da0ceb0e0bd6f2" }, + "nvim-web-devicons": { "branch": "master", "commit": "c0cfc1738361b5da1cd0a962dd6f774cc444f856" }, "plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" }, - "telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" }, + "telescope-fzf-native.nvim": { "branch": "main", "commit": "cf48d4dfce44e0b9a2e19a008d6ec6ea6f01a83b" }, "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope.nvim": { "branch": "0.1.x", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, - "todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" }, + "todo-comments.nvim": { "branch": "main", "commit": "96fee098a90e7c09c9811aa7df71d773ba8b9b53" }, "vim-sleuth": { "branch": "master", "commit": "1cc4557420f215d02c4d2645a748a816c220e99b" }, "vim-wakatime": { "branch": "master", "commit": "3cb40867cb5a3120f9bef76eff88edc7f1dc1a23" }, - "which-key.nvim": { "branch": "main", "commit": "ccf027625df6c4e22febfdd786c5e1f7521c2ccb" } -} \ No newline at end of file + "which-key.nvim": { "branch": "main", "commit": "4390015b265adf69cf3e344cc13167539f732b2f" } +} diff --git a/.config/nvim/lua/custom/plugins/colorizer.lua b/.config/nvim/lua/custom/plugins/colorizer.lua new file mode 100644 index 0000000..4134194 --- /dev/null +++ b/.config/nvim/lua/custom/plugins/colorizer.lua @@ -0,0 +1,6 @@ +return { + 'NvChad/nvim-colorizer.lua', + config = function() + require('colorizer').setup() + end, +} diff --git a/.config/nvim/lua/kickstart/plugins/debug.lua b/.config/nvim/lua/kickstart/plugins/debug.lua index 31dfecf..7cc8a9d 100644 --- a/.config/nvim/lua/kickstart/plugins/debug.lua +++ b/.config/nvim/lua/kickstart/plugins/debug.lua @@ -42,6 +42,7 @@ return { ensure_installed = { -- Update this to ensure that you have the debuggers for the langs you want 'delve', + 'cpptools', }, } diff --git a/.config/nvim/lua/kickstart/plugins/which-key.lua b/.config/nvim/lua/kickstart/plugins/which-key.lua index 54d7409..9948b0f 100644 --- a/.config/nvim/lua/kickstart/plugins/which-key.lua +++ b/.config/nvim/lua/kickstart/plugins/which-key.lua @@ -17,23 +17,30 @@ return { { -- Useful plugin to show you pending keybinds. 'folke/which-key.nvim', event = 'VimEnter', -- Sets the loading event to 'VimEnter' + opts = { + presets = 'modern', + icons = { + mappings = false, + rules = false, + }, + }, config = function() -- This is the function that runs, AFTER loading require('which-key').setup() -- Document existing key chains - require('which-key').register { - ['c'] = { name = '[C]ode', _ = 'which_key_ignore' }, - ['d'] = { name = '[D]ocument', _ = 'which_key_ignore' }, - ['r'] = { name = '[R]ename', _ = 'which_key_ignore' }, - ['s'] = { name = '[S]earch', _ = 'which_key_ignore' }, - ['w'] = { name = '[W]orkspace', _ = 'which_key_ignore' }, - ['t'] = { name = '[T]oggle', _ = 'which_key_ignore' }, - ['h'] = { name = 'Git [H]unk', _ = 'which_key_ignore' }, + require('which-key').add { + { 'c', desc = '[C]ode' }, + { 'd', desc = '[D]ocument' }, + { 'r', desc = '[R]ename' }, + { 's', desc = '[S]earch' }, + { 'w', desc = '[W]orkspace' }, + { 't', desc = '[T]oggle' }, + { 'h', desc = 'Git [H]unk' }, + { + mode = { 'v' }, + { 'h', desc = 'Git [H]unk' }, + }, } - -- visual mode - require('which-key').register({ - ['h'] = { 'Git [H]unk' }, - }, { mode = 'v' }) end, }, } diff --git a/.config/nvim/lua/lazy-plugins.lua b/.config/nvim/lua/lazy-plugins.lua index 6d073e8..78d7050 100644 --- a/.config/nvim/lua/lazy-plugins.lua +++ b/.config/nvim/lua/lazy-plugins.lua @@ -40,8 +40,6 @@ require('lazy').setup({ require 'kickstart/plugins/cmp', - -- require 'kickstart/plugins/tokyonight', - require 'kickstart/plugins/todo-comments', require 'kickstart/plugins/mini', diff --git a/.config/starship.toml b/.config/starship.toml index 6f4d28a..48ddba3 100644 --- a/.config/starship.toml +++ b/.config/starship.toml @@ -1,12 +1,15 @@ "$schema" = 'https://starship.rs/config-schema.json' -add_newline = true -format = """$all$fill$status$time$line_break$sudo$character""" -right_format = """$custom""" +add_newline = false +format = """$status$cmd_duration + +<$username$hostname$custom> | $directory$git_branch $git_status$git_state +$time $character""" + [character] -success_symbol = '\$' -error_symbol = '\$' +success_symbol = '>' +error_symbol = '>' [git_commit] tag_symbol = " tag " @@ -18,122 +21,37 @@ diverged = "<>" renamed = "r" deleted = "x" -[aws] -symbol = "aws " -disabled = true - -[bun] -symbol = "bun " -disabled = true - -[c] -symbol = "C " - -[cobol] -symbol = "cobol " -disabled = true - -[conda] -symbol = "conda " -disabled = true - -[crystal] -symbol = "cr " -disabled = true - -[cmake] -symbol = "cmake " +[cmd_duration] +format = "ran for [$duration]($style)" +style = "italic yellow" [custom.toolbox] when = """ test -f /run/.containerenv && test -f /run/.toolboxenv """ description = "Config for toolbox" style = "red" command = """ cat /run/.containerenv | sed -n '2 p' | awk -F '"' 'NF>2{print $2}' """ -format = '[ toolbox:$output]($style)' - -[daml] -symbol = "daml " -disabled = true - -[dart] -symbol = "dart " -disabled = true - -[deno] -symbol = "deno " -disabled = true - -[dotnet] -symbol = ".NET " -disabled = true +format = ':[$output]($style)' [directory] read_only = " ro" -[docker_context] -symbol = "docker " - -[elixir] -symbol = "exs " -disabled = true - -[elm] -symbol = "elm " - [fill] symbol = ' ' [git_branch] -symbol = "git " - -[golang] -symbol = "go " - -[guix_shell] -symbol = "guix " +format = "on [$branch(:$remote_branch)]($style)" [hg_branch] symbol = "hg " -[java] -symbol = "java " - -[julia] -symbol = "jl " -disabled = true - -[kotlin] -symbol = "kt " -disabled = true - -[lua] -symbol = "lua " -disabled = true - -[nodejs] -symbol = "nodejs " +[hostname] +ssh_only = false +ssh_symbol = "ssh:" +format = "@[$ssh_symbol$hostname]($style)" [memory_usage] symbol = "memory " -[meson] -symbol = "meson " - -[nim] -symbol = "nim " -disabled = true - -[nix_shell] -symbol = "nix " - -[ocaml] -symbol = "ml " -disabled = true - -[opa] -symbol = "opa " -disabled = true - [os.symbols] Alpine = "alp " Amazon = "amz " @@ -172,46 +90,6 @@ Ubuntu = "ubnt " Unknown = "unk " Windows = "win " -[package] -symbol = "pkg " -disabled = true - -[perl] -symbol = "pl " - -[php] -symbol = "php " - -[pulumi] -symbol = "pulumi " -disabled = true - -[purescript] -symbol = "purs " -disabled = true - -[python] -symbol = "py " - -[raku] -symbol = "raku " -disabled = true - -[ruby] -symbol = "rb " -disabled = true - -[rust] -symbol = "rs " - -[scala] -symbol = "scala " -disabled = true - -[spack] -symbol = "spack " -disabled = true - [sudo] symbol = "#" disabled = true @@ -220,8 +98,8 @@ style = '' [status] symbol = '[✗](bold red)' -success_symbol = '[✓](bold green)' -format = ' [\[$symbol$maybe_int\]]($style) ' +success_symbol = '' +format = '[\[$symbol$maybe_int\]]($style) ' not_executable_symbol = "[!EXE](red)" style = 'purple' not_found_symbol = "[!FOUND](red)" @@ -229,20 +107,14 @@ sigint_symbol = "[SIGINT](red)" signal_symbol = "[SIG](red)" map_symbol = true pipestatus = true -pipestatus_format = '$pipestatus=> [\[$symbol$maybe_int\]]($style) ' +pipestatus_format = '$pipestatus=> [\[$common_meaning$signal_name$maybe_int\]]($style) ' disabled = false -[swift] -symbol = "swift " -disabled = true - [time] disabled = false +format = '\[[$time]($style)\]' -[terraform] -symbol = "terraform " -disabled = true +[username] +show_always = true +format = "[$user]($style)" -[zig] -symbol = "zig " -disabled = true diff --git a/.config/zellij/config.kdl b/.config/zellij/config.kdl index 4c3c93f..ead95da 100644 --- a/.config/zellij/config.kdl +++ b/.config/zellij/config.kdl @@ -228,7 +228,7 @@ plugins { // Options: // - true // - false (default) -serialize_pane_viewport true +// serialize_pane_viewport true // Scrollback lines to serialize along with the pane viewport when serializing sessions, 0 // defaults to the scrollback size. If this number is higher than the scrollback size, it will @@ -262,7 +262,7 @@ themes { theme "carbonfox" // The name of the default layout to load on startup -Default: "compact" +// Default: "compact" // default_layout "compact" diff --git a/.config/zellij/layouts/compact-ide.kdl b/.config/zellij/layouts/compact-ide.kdl index c0bd7cc..d5a1aab 100644 --- a/.config/zellij/layouts/compact-ide.kdl +++ b/.config/zellij/layouts/compact-ide.kdl @@ -1,12 +1,20 @@ layout { - pane split_direction="horizontal"{ - pane command="nvim" focus=true name="Editor" size="75%" { - args "." + pane split_direction="horizontal" { + pane { + edit "." + focus true + name "Editor" + size "75%" + borderless true + } + pane { + size "25%" } - pane name="Terminal" } - pane size=1 borderless=true { + pane { plugin location="zellij:compact-bar" + borderless true + size 1 } } diff --git a/.config/zellij/layouts/ide-layout.kdl b/.config/zellij/layouts/ide-layout.kdl index 8878587..8f26a07 100644 --- a/.config/zellij/layouts/ide-layout.kdl +++ b/.config/zellij/layouts/ide-layout.kdl @@ -1,14 +1,22 @@ layout { pane split_direction="vertical" { - pane command="nvim" focus=true name="Editor" size="60%" { - args "." + pane { + edit "." + focus true + name "Editor" + size "60%" + borderless true } - pane split_direction="horizontal" name="terminal" { - pane name="Git" command="lazygit" - pane name="Terminal" size="25%" + pane stacked=true { + pane { + name "LazyGit" + command "lazygit" + } + pane { + name "Terminal" + } } } - pane size=1 borderless=true { plugin location="zellij:compact-bar" }