commit 1d271b04fa1eb697d319f3cdbd2d767ae39c127c Author: Vasili Svirydau Date: Wed May 6 09:35:03 2026 -0700 chore: initial commit diff --git a/dot_config/mise/config.toml b/dot_config/mise/config.toml new file mode 100644 index 0000000..66f1e56 --- /dev/null +++ b/dot_config/mise/config.toml @@ -0,0 +1,5 @@ +[tools] +chezmoi = "latest" +lua-language-server = "latest" +neovim = "nightly" +node = "21" diff --git a/dot_config/nvim/init.lua b/dot_config/nvim/init.lua new file mode 100644 index 0000000..c6a1920 --- /dev/null +++ b/dot_config/nvim/init.lua @@ -0,0 +1,87 @@ +vim.o.number = true +vim.o.signcolumn = "yes" +vim.o.winborder = "rounded" +vim.g.loaded_perl_provider = 0 +vim.g.airline_powerline_fonts = 1 + +vim.cmd([[set listchars=tab:▸\ ,eol:¬]]) + +vim.keymap.set("n", "r", ":edit $MYVIMRC") +vim.keymap.set("n", "f", vim.lsp.buf.format) +vim.keymap.set("n", "D", vim.lsp.buf.definition) +vim.keymap.set("n", "U", function() MiniExtra.pickers.lsp({ scope = "references" }) end) +vim.keymap.set("n", "p", vim.lsp.buf.hover, { desc = "LSP Hover" }) +vim.keymap.set("n", "l", ":set list!") +vim.keymap.set("n", "]", ":bn") +vim.keymap.set("n", "[", ":bp") +vim.keymap.set("n", "d", ":bd") +vim.keymap.set("n", "", ":nohlsearch") +vim.keymap.set("n", "", "zz") +vim.keymap.set("n", "w", ":update") +vim.keymap.set("n", "", ":Pick files") +vim.keymap.set("n", "h", ":Pick help") + +vim.pack.add( + { + { src = "https://github.com/nvim-lua/plenary.nvim" }, -- Base functions library + { src = "https://github.com/folke/lazydev.nvim" }, -- Lua Vim types + { src = "https://github.com/andythigpen/nvim-coverage" }, -- Code coverage visualuzer + { src = "https://github.com/echasnovski/mini.icons" }, -- Icons for Ctrl-P + { src = "https://github.com/echasnovski/mini.pick" }, -- Ctrl-P Alternative + { src = "https://github.com/echasnovski/mini.extra" }, -- Additional things for mini tools + { src = "https://github.com/lewis6991/gitsigns.nvim" }, -- Show git changes in the gutter + { src = "https://github.com/neovim/nvim-lspconfig" }, -- Common LSP Configurations + { src = "https://github.com/sbdchd/neoformat" }, -- Formatter + { src = "https://github.com/tpope/vim-fugitive" }, -- Git bindings + { src = "https://github.com/vim-airline/vim-airline-themes" }, -- Status bar theme + { src = "https://github.com/vim-airline/vim-airline" }, -- Status bar + { src = "https://github.com/rebelot/kanagawa.nvim" }, -- Theme + { src = "https://github.com/mfussenegger/nvim-lint" }, -- Linter + { src = "https://github.com/rachartier/tiny-inline-diagnostic.nvim" }, -- Inline diagnostics + { src = "https://github.com/j-hui/fidget.nvim" }, -- LSP Status Popup + } +) + +-- Airline +vim.cmd [[ +let g:airline#extensions#tabline#enabled = 1 +]] + +-- Ctrl-P +require("mini.pick").setup() +require("mini.icons").setup() +require("mini.extra").setup() + +-- Coverage +require("coverage").setup() + +-- Lint +require("lint").linters_by_ft = { + sh = { "shellcheck" } +} +vim.api.nvim_create_autocmd({ "BufWritePost" }, { + callback = function() + require("lint").try_lint() + end, +}) + +-- Theme +vim.cmd.colorscheme "kanagawa-dragon" + +-- LSP +vim.lsp.enable({ "lua_ls", "ts_ls", "bashls", "yamlls" }) +vim.lsp.config("lua_ls", { + settings = { + Lua = { + workspace = { + library = vim.api.nvim_get_runtime_file("", true), + } + } + } +}) +-- Fidget +require("fidget").setup() + +-- Diagnostic +require('tiny-inline-diagnostic').setup() +vim.diagnostic.config({ virtual_text = false }) diff --git a/dot_config/nvim/nvim-pack-lock.json b/dot_config/nvim/nvim-pack-lock.json new file mode 100644 index 0000000..c8a3976 --- /dev/null +++ b/dot_config/nvim/nvim-pack-lock.json @@ -0,0 +1,104 @@ +{ + "plugins": { + "fidget.nvim": { + "rev": "2cb5edb2dd6700a958a446b20bb2be04d318da9d", + "src": "https://github.com/j-hui/fidget.nvim" + }, + "gitsigns.nvim": { + "rev": "b01433169be710d6c69f7b4ee264d9670698b831", + "src": "https://github.com/lewis6991/gitsigns.nvim" + }, + "kanagawa.nvim": { + "rev": "debe91547d7fb1eef34ce26a5106f277fbfdd109", + "src": "https://github.com/rebelot/kanagawa.nvim" + }, + "lazydev.nvim": { + "rev": "2367a6c0a01eb9edb0464731cc0fb61ed9ab9d2c", + "src": "https://github.com/folke/lazydev.nvim" + }, + "mason.nvim": { + "rev": "9e25c98d4826998460926f8c5c2284848d80ae89", + "src": "https://github.com/mason-org/mason.nvim" + }, + "mini.extra": { + "rev": "0dec9611833d058f9d2d48f6333b41631f5ef3b9", + "src": "https://github.com/echasnovski/mini.extra" + }, + "mini.icons": { + "rev": "b8f6fa6f5a3fd0c56936252edcd691184e5aac0c", + "src": "https://github.com/echasnovski/mini.icons" + }, + "mini.pick": { + "rev": "c8f4ff0251ccb8c6a993ee0dee4e06d9c21a4b99", + "src": "https://github.com/echasnovski/mini.pick" + }, + "neoformat": { + "rev": "04264e941927ea24f2f5b092b7503cfe9e15c893", + "src": "https://github.com/sbdchd/neoformat" + }, + "nvim": { + "rev": "702d15f269777b8261f3b8904fb0db35f37a1cd9", + "src": "https://github.com/catppuccin/nvim" + }, + "nvim-coverage": { + "rev": "a939e425e363319d952a6c35fb3f38b34041ded2", + "src": "https://github.com/andythigpen/nvim-coverage" + }, + "nvim-java": { + "rev": "083114902630de67dd82fda73892966748a1eb7c", + "src": "https://github.com/nvim-java/nvim-java" + }, + "nvim-java-core": { + "rev": "401bf7683012a25929a359deec418f36beb876e2", + "src": "https://github.com/nvim-java/nvim-java-core" + }, + "nvim-java-dap": { + "rev": "55f239532f7a3789d21ea68d1e795abc77484974", + "src": "https://github.com/nvim-java/nvim-java-dap" + }, + "nvim-java-refactor": { + "rev": "b51a57d862338999059e1d1717df3bc80a3a15c0", + "src": "https://github.com/nvim-java/nvim-java-refactor" + }, + "nvim-java-test": { + "rev": "7f0f40e9c5b7eab5096d8bec6ac04251c6e81468", + "src": "https://github.com/nvim-java/nvim-java-test" + }, + "nvim-lint": { + "rev": "7ef127aaede2a4d5ad8df8321e2eb4e567f29594", + "src": "https://github.com/mfussenegger/nvim-lint" + }, + "nvim-lspconfig": { + "rev": "4d3b3bb8815fbe37bcaf3dbdb12a22382bc11ebe", + "src": "https://github.com/neovim/nvim-lspconfig" + }, + "plenary.nvim": { + "rev": "b9fd5226c2f76c951fc8ed5923d85e4de065e509", + "src": "https://github.com/nvim-lua/plenary.nvim" + }, + "spring-boot.nvim": { + "rev": "a6a61c048238457b6a67ec408f4f4d72213fadca", + "src": "https://github.com/JavaHello/spring-boot.nvim" + }, + "tiny-inline-diagnostic.nvim": { + "rev": "7dcf8542059fb15c978de845fc8665428ae13a04", + "src": "https://github.com/rachartier/tiny-inline-diagnostic.nvim" + }, + "vim-airline": { + "rev": "5ca7f0b7fef4f174d57fd741b477bbbac0b7886a", + "src": "https://github.com/vim-airline/vim-airline" + }, + "vim-airline-themes": { + "rev": "0e976956eb674db8a6f72fae4dda6d1277433660", + "src": "https://github.com/vim-airline/vim-airline-themes" + }, + "vim-fugitive": { + "rev": "61b51c09b7c9ce04e821f6cf76ea4f6f903e3cf4", + "src": "https://github.com/tpope/vim-fugitive" + }, + "vim-hybrid": { + "rev": "cc58baabeabc7b83768e25b852bf89c34756bf90", + "src": "https://github.com/w0ng/vim-hybrid" + } + } +} diff --git a/dot_config/starship.toml b/dot_config/starship.toml new file mode 100644 index 0000000..f5321d3 --- /dev/null +++ b/dot_config/starship.toml @@ -0,0 +1,31 @@ +[gcloud] +format = 'on [$symbol(\($project\))]($style) ' + +[docker_context] +disabled=true + +[direnv] +disabled=true + +[env_var.NEXT_PUBLIC_ENVIRONMENT_ID] + +[dotnet] +disabled = true + +[kubernetes] +disabled = false + +[[kubernetes.contexts]] +context_pattern = "gke_lt-shipyard-lower_northamerica-northeast1_nane1-lower-gke1" +context_alias = "nane1" +style = "green" + +[[kubernetes.contexts]] +context_pattern = "gke_lt-sre-shipyard_northamerica-northeast1_banting" +context_alias = "banting" +style = "red" + +[[kubernetes.contexts]] +context_pattern = "gke_ld-shipyard_us-east1_bluenose" +context_alias = "bluenose" +style = "blue" diff --git a/dot_tmux.conf b/dot_tmux.conf new file mode 100644 index 0000000..6351d3f --- /dev/null +++ b/dot_tmux.conf @@ -0,0 +1,53 @@ +set -g default-terminal "tmux-256color" +set -g base-index 1 +set -g set-titles on +set -g status-keys vi +# Faster Command Sequences +set -s escape-time 0 +set-option -g focus-events on + +set -g set-clipboard on +set -g history-limit 50000 + +setw -g xterm-keys on +setw -g automatic-rename on +setw -g monitor-activity on +setw -g aggressive-resize on + +set -g mouse on + +unbind C-a +unbind C-b + +set -g prefix C-a +bind-key C-a last-window + +set -g terminal-overrides 'xterm*:smcup@:rmcup@' # enable native xterm scrolling where available + +bind a send-key C-a + +set -g xterm-keys on + +bind | split-window -h -c "#{pane_current_path}" +bind _ split-window -v -c "#{pane_current_path}" + +bind A command-prompt "rename-window '%%'" + +set -g mouse on + +set-option -ga update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY" + +new-session # always create a session (can always `tmux a`) + +set -g status on +set -g status-interval 15 +set -g status-justify left +set -g status-keys vi +set -g status-left "#[fg=colour193,bg=colour65] #S #[fg=colour65,bg=colour237,nobold,nounderscore,noitalics]" +set -g status-left-length 100 +set -g status-left-style default +set -g status-position bottom +set -g status-right "#[fg=colour235,bg=colour237,nobold,nounderscore,noitalics]#[fg=colour250,bg=colour235] %Y-%m-%d  %H:%M #[fg=colour65,bg=colour235,nobold,nounderscore,noitalics]#[fg=colour193,bg=colour65] #h " +set -g status-right-length 100 +set -g status-right-style default +set -g status-style fg=black,bg=colour237