diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01a9d7f --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +nvim/lazy-lock.json +.luarc.json +.tmux/plugins/* diff --git a/.tmux/plugins/tmux-continuum b/.tmux/plugins/tmux-continuum deleted file mode 160000 index 0698e8f..0000000 --- a/.tmux/plugins/tmux-continuum +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 0698e8f4b17d6454c71bf5212895ec055c578da0 diff --git a/.tmux/plugins/tmux-open b/.tmux/plugins/tmux-open deleted file mode 160000 index 763d0a8..0000000 --- a/.tmux/plugins/tmux-open +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 763d0a852e6703ce0f5090a508330012a7e6788e diff --git a/.tmux/plugins/tmux-resurrect b/.tmux/plugins/tmux-resurrect deleted file mode 160000 index cff343c..0000000 --- a/.tmux/plugins/tmux-resurrect +++ /dev/null @@ -1 +0,0 @@ -Subproject commit cff343cf9e81983d3da0c8562b01616f12e8d548 diff --git a/.tmux/plugins/tmux-yank b/.tmux/plugins/tmux-yank deleted file mode 160000 index acfd36e..0000000 --- a/.tmux/plugins/tmux-yank +++ /dev/null @@ -1 +0,0 @@ -Subproject commit acfd36e4fcba99f8310a7dfb432111c242fe7392 diff --git a/.tmux/plugins/tpm b/.tmux/plugins/tpm deleted file mode 160000 index 99469c4..0000000 --- a/.tmux/plugins/tpm +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 99469c4a9b1ccf77fade25842dc7bafbc8ce9946 diff --git a/.tmux/plugins/vim-tmux-navigator b/.tmux/plugins/vim-tmux-navigator deleted file mode 160000 index 33afa80..0000000 --- a/.tmux/plugins/vim-tmux-navigator +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 33afa80db65113561dc53fa732b7f5e53d5ecfd0 diff --git a/alacritty.toml b/alacritty.toml deleted file mode 100644 index 90e1b78..0000000 --- a/alacritty.toml +++ /dev/null @@ -1,9 +0,0 @@ -[colors.primary] -background = "#111111" - -[colors.normal] -cyan = '#008b8b' - -[font.normal] -family = 'JetBrainsMono Nerd Font Mono' -style = 'Regular' diff --git a/alacritty/alacritty.toml b/alacritty/alacritty.toml new file mode 100644 index 0000000..160e657 --- /dev/null +++ b/alacritty/alacritty.toml @@ -0,0 +1,20 @@ +[general] +import = ["./github_dark_high_contrast.toml" ] + +[colors.primary] +background = "#111111" + +[colors.normal] +cyan = '#008b8b' + +[font.normal] +family = 'JetBrainsMono Nerd Font Mono' +style = 'Regular' + +[cursor] +blink_interval = 500 +blink_timeout = 0 + +[cursor.style] +blinking = "Always" +#shape = "Underline" diff --git a/alacritty/github_dark_high_contrast.toml b/alacritty/github_dark_high_contrast.toml new file mode 100644 index 0000000..e1b1b3e --- /dev/null +++ b/alacritty/github_dark_high_contrast.toml @@ -0,0 +1,33 @@ +# (Github Dark High Contrast) Colors for Alacritty + +# Default colors +[colors.primary] +background = '#0a0c10' +foreground = '#f0f3f6' + +# Cursor colors +[colors.cursor] +text = '#0a0c10' +cursor = '#f0f3f6' + +# Normal colors +[colors.normal] +black = '#7a828e' +red = '#ff9492' +green = '#26cd4d' +yellow = '#f0b72f' +blue = '#71b7ff' +magenta = '#cb9eff' +cyan = '#39c5cf' +white = '#d9dee3' + +# Bright colors +[colors.bright] +black = '#9ea7b3' +red = '#ffb1af' +green = '#4ae168' +yellow = '#f7c843' +blue = '#91cbff' +magenta = '#cb9eff' +cyan = '#39c5cf' +white = '#d9dee3' diff --git a/nvim/lazy-lock.json b/nvim/lazy-lock.json index 8760f8e..f76684c 100644 --- a/nvim/lazy-lock.json +++ b/nvim/lazy-lock.json @@ -1,13 +1,18 @@ { "github-theme": { "branch": "main", "commit": "c106c9472154d6b2c74b74565616b877ae8ed31d" }, - "gitsigns.nvim": { "branch": "main", "commit": "39e0d1cd44eafed5f30c372e377ab1cb1781ec9f" }, + "gitsigns.nvim": { "branch": "main", "commit": "7010000889bfb6c26065e0b0f7f1e6aa9163edd9" }, "lazy.nvim": { "branch": "main", "commit": "6c3bda4aca61a13a9c63f1c1d1b16b9d3be90d7a" }, "lualine.nvim": { "branch": "master", "commit": "15884cee63a8c205334ab13ab1c891cd4d27101a" }, + "mason-lspconfig.nvim": { "branch": "main", "commit": "1a31f824b9cd5bc6f342fc29e9a53b60d74af245" }, + "mason.nvim": { "branch": "main", "commit": "fc98833b6da5de5a9c5b1446ac541577059555be" }, "neo-tree.nvim": { "branch": "v3.x", "commit": "f481de16a0eb59c985abac8985e3f2e2f75b4875" }, + "none-ls.nvim": { "branch": "main", "commit": "90e4a27ccaa25979a6b732b9f06dfa43b54957b7" }, "nui.nvim": { "branch": "main", "commit": "f535005e6ad1016383f24e39559833759453564e" }, + "nvim-lspconfig": { "branch": "master", "commit": "cb33dea610b7eff240985be9f6fe219920e630ef" }, "nvim-treesitter": { "branch": "master", "commit": "066fd6505377e3fd4aa219e61ce94c2b8bdb0b79" }, "nvim-web-devicons": { "branch": "master", "commit": "1fb58cca9aebbc4fd32b086cb413548ce132c127" }, "plenary.nvim": { "branch": "master", "commit": "857c5ac632080dba10aae49dba902ce3abf91b35" }, + "telescope-ui-select.nvim": { "branch": "master", "commit": "6e51d7da30bd139a6950adf2a47fda6df9fa06d2" }, "telescope.nvim": { "branch": "master", "commit": "a0bbec21143c7bc5f8bb02e0005fa0b982edc026" }, "vim-fugitive": { "branch": "master", "commit": "4a745ea72fa93bb15dd077109afbb3d1809383f2" }, "vim-tmux-navigator": { "branch": "master", "commit": "33afa80db65113561dc53fa732b7f5e53d5ecfd0" } diff --git a/nvim/lua/plugins/git.lua b/nvim/lua/plugins/git.lua new file mode 100644 index 0000000..32ac809 --- /dev/null +++ b/nvim/lua/plugins/git.lua @@ -0,0 +1,12 @@ +return { + { + "tpope/vim-fugitive", + }, + { + "lewis6991/gitsigns.nvim", + tag = "v1.0.2", + config = function() + require("gitsigns").setup({}) + end, + }, +} diff --git a/nvim/lua/plugins/gitsigns.lua b/nvim/lua/plugins/gitsigns.lua deleted file mode 100644 index 0163970..0000000 --- a/nvim/lua/plugins/gitsigns.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - "lewis6991/gitsigns.nvim", - tag="v1.0.2", - config = function() - require("gitsigns").setup({}) - end, -} diff --git a/nvim/lua/plugins/mason.lua b/nvim/lua/plugins/mason.lua new file mode 100644 index 0000000..f4ea5d3 --- /dev/null +++ b/nvim/lua/plugins/mason.lua @@ -0,0 +1,28 @@ +return { + { + "mason-org/mason.nvim", + tag = "v1.11.0", + config = function() + require("mason").setup({}) + end, + }, + { + "mason-org/mason-lspconfig.nvim", + tag = "v1.32.0", + config = function() + require("mason-lspconfig").setup({ + ensure_installed = { + "lua_ls", + "bashls", + "dockerls", + -- "gh-actions-language-server", + "helm_ls", + "jsonls", + "nginx_language_server", + "ruff", + "yamlls", + }, + }) + end, + }, +} diff --git a/nvim/lua/plugins/none-ls.lua b/nvim/lua/plugins/none-ls.lua new file mode 100644 index 0000000..2c3f664 --- /dev/null +++ b/nvim/lua/plugins/none-ls.lua @@ -0,0 +1,12 @@ +return { + "nvimtools/none-ls.nvim", + config = function() + local null_ls = require("null-ls") + null_ls.setup({ + sources = { + null_ls.builtins.formatting.stylua, + }, + }) + vim.keymap.set("n", "af", vim.lsp.buf.format, {}) + end, +} diff --git a/nvim/lua/plugins/nvim-lspconfig.lua b/nvim/lua/plugins/nvim-lspconfig.lua new file mode 100644 index 0000000..de26634 --- /dev/null +++ b/nvim/lua/plugins/nvim-lspconfig.lua @@ -0,0 +1,18 @@ +return { + "neovim/nvim-lspconfig", + tag="v1.8.0", + config = function() + local lspconfig = require("lspconfig") + lspconfig.lua_ls.setup({}) + lspconfig.bashls.setup({}) + lspconfig.dockerls.setup({}) + lspconfig.helm_ls.setup({}) + lspconfig.jsonls.setup({}) + lspconfig.nginx_language_server.setup({}) + lspconfig.ruff.setup({}) + lspconfig.yamlls.setup({}) + vim.keymap.set('n', 'd', vim.lsp.buf.hover, {}) + vim.keymap.set('n', 'gt', vim.lsp.buf.definition, {}) + vim.keymap.set('n', 'ca', vim.lsp.buf.code_action, {}) + end +} diff --git a/nvim/lua/plugins/telescope.lua b/nvim/lua/plugins/telescope.lua index ff3101c..ed8fa9b 100644 --- a/nvim/lua/plugins/telescope.lua +++ b/nvim/lua/plugins/telescope.lua @@ -1,5 +1,22 @@ return { - 'nvim-telescope/telescope.nvim', tag = '0.1.8', - dependencies = { 'nvim-lua/plenary.nvim' } + { + 'nvim-telescope/telescope.nvim', tag = '0.1.8', + dependencies = { 'nvim-lua/plenary.nvim' } + }, + { + 'nvim-telescope/telescope-ui-select.nvim', + config = function() + require("telescope").setup ({ + extensions = { + ["ui-select"] = { + require("telescope.themes").get_dropdown { + -- even more opts + } + } + } + }) + require("telescope").load_extension("ui-select") + end + } } diff --git a/nvim/lua/plugins/treesitter.lua b/nvim/lua/plugins/treesitter.lua index 5aca3da..d7c8198 100644 --- a/nvim/lua/plugins/treesitter.lua +++ b/nvim/lua/plugins/treesitter.lua @@ -1,44 +1,41 @@ return { - "nvim-treesitter/nvim-treesitter", - config = function() - local config = require("nvim-treesitter.configs") - config.setup({ - -- A list of parser names, or "all" (the listed parsers MUST always be installed) - ensure_installed = { "lua", "vim", "vimdoc", "query", "markdown", "markdown_inline", "json", "jsonc", "python", "yaml" }, + "nvim-treesitter/nvim-treesitter", + config = function() + local config = require("nvim-treesitter.configs") + config.setup({ + -- A list of parser names, or "all" (the listed parsers MUST always be installed) + ensure_installed = { + "lua", + "vim", + "vimdoc", + "query", + "markdown", + "markdown_inline", + "json", + "jsonc", + "python", + "yaml", + }, - -- Install parsers synchronously (only applied to `ensure_installed`) - sync_install = false, + -- Install parsers synchronously (only applied to `ensure_installed`) + sync_install = false, - -- Automatically install missing parsers when entering buffer - -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally - auto_install = true, - - -- List of parsers to ignore installing (or "all") - ignore_install = { "javascript" }, + -- Automatically install missing parsers when entering buffer + -- Recommendation: set to false if you don't have `tree-sitter` CLI installed locally + auto_install = true, - highlight = { - enable = true, + -- List of parsers to ignore installing (or "all") + ignore_install = { "javascript" }, - -- NOTE: these are the names of the parsers and not the filetype. (for example if you want to - -- disable highlighting for the `tex` filetype, you need to include `latex` in this list as this is - -- the name of the parser) - -- list of language that will be disabled - disable = { "c", "rust" }, - -- Or use a function for more flexibility, e.g. to disable slow treesitter highlight for large files - disable = function(lang, buf) - local max_filesize = 100 * 1024 -- 100 KB - local ok, stats = pcall(vim.loop.fs_stat, vim.api.nvim_buf_get_name(buf)) - if ok and stats and stats.size > max_filesize then - return true - end - end, + highlight = { + enable = true, - -- Setting this to true will run `:h syntax` and tree-sitter at the same time. - -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). - -- Using this option may slow down your editor, and you may see some duplicate highlights. - -- Instead of true it can also be a list of languages - additional_vim_regex_highlighting = false, - }, - }) - end + -- Setting this to true will run `:h syntax` and tree-sitter at the same time. + -- Set this to `true` if you depend on 'syntax' being enabled (like for indentation). + -- Using this option may slow down your editor, and you may see some duplicate highlights. + -- Instead of true it can also be a list of languages + additional_vim_regex_highlighting = false, + }, + }) + end, } diff --git a/nvim/lua/plugins/vimfugitive.lua b/nvim/lua/plugins/vimfugitive.lua deleted file mode 100644 index 0b426c0..0000000 --- a/nvim/lua/plugins/vimfugitive.lua +++ /dev/null @@ -1,3 +0,0 @@ -return { - "tpope/vim-fugitive" -} diff --git a/setup b/setup index d376586..aeb6f6a 100644 --- a/setup +++ b/setup @@ -23,6 +23,10 @@ [ -d ~/.config/nvim ] && [ ! -L ~/.config/nvim ] && mv ~/.config/nvim ~/.config/nvim.old [ -e ~/.config/nvim ] || ln -s ~/.dotfiles/nvim ~/.config/nvim +# Alacritty only if directory exists +[ -d ~/.config/alacritty ] && [ ! -L ~/.config/alacritty ] && mv ~/.config/alacritty ~/.config/alacritty.old +[ -e ~/.config/alacritty ] || ln -s ~/.dotfiles/alacritty ~/.config/alacritty + # k9s only if directory exists if [ -d ~/.config/k9s ]; then [ -e ~/.config/k9s/config.yml ] || ln -s ~/.dotfiles/k9s_config.yml ~/.config/k9s/config.yml