From 0f408f2c53fd493ce635cdd95ac19be971ef0c15 Mon Sep 17 00:00:00 2001 From: Joao P Dubas Date: Fri, 16 Aug 2024 14:44:03 +0000 Subject: [PATCH] feat: upgrade runtimes/utilities + nvim config + docker (#54) Upgrade `docker` and plugins: * `docker` from 24.0.7 to 27.1.1 * `compose` from 2.23.3 to 2.29.1 * `buildx` from 0.13.1 to 0.16.2 Upgrade `mise` utilites: * `awscli` from 2.15.49 to 2.17.31 * `bitwarden` from 2024.4.1 to 2024.7.2 * `dagger` from 0.11.4 to 0.12.5 * `eksctl` from 0.180.0 to 0.188.0 * `elixir` from 1.17.0-otp-27 to 1.17.2-otp-27 * `erlang` from 27.0 to 27.0.1 * `eza` from 0.18.15 to 0.19.0 * `fzf` from 0.52.1 to 0.53.0 * `go` from 1.22.3 to 1.23.0 * `helm` from 3.14.4 to 3.15.4 * `k3d` from 5.6.3 to 5.7.3 * `k3sup` from 0.13.5 to 0.13.7 * `k9s` from 0.32.4 to 0.32.5 * `kind` from 0.22.0 to 0.23.0 * `kubectl` from 1.300 to 1.31.0 * `kubie` from 0.23.0 to 0.23.1 * `lefthook` from 1.6.11 to 1.7.13 * `node` from 22.1.0 to 22.6.0 * `python` from 3.12.3 to 3.12.5 * `r` from 4.4.0 to 4.4.1 * `rust` from 1.78.0 to 1.80.1 * `starship` from 1.18.2 to 1.20.1 * `task` from 3.37.2 to 3.38.0 * `terraform` from 1.8.3 to 1.9.4 * `tilt` from 0.33.13 to 0.33.19 * `usql` from 0.19.1 to 0.19.3 * `yarn` from 1.22.19 to 1.22.22 Upgrade `neovim` config to latest commit. Reviewed-on: https://gitea.dubas.dev/joao.dubas/ide/pulls/54 Co-authored-by: Joao P Dubas Co-committed-by: Joao P Dubas --- Dockerfile | 9 +- config/mise/config.toml | 59 +++++------ config/nvim/lua/custom/plugins/init.lua | 132 ++++++++++++------------ patch/kickstart.nvim/updates.patch | 17 +-- 4 files changed, 110 insertions(+), 107 deletions(-) diff --git a/Dockerfile b/Dockerfile index ebb664e..e191791 100644 --- a/Dockerfile +++ b/Dockerfile @@ -105,11 +105,11 @@ RUN apt-get update \ && echo 'permit persist :wheel as root' > /etc/doas.conf # command line utilities -ENV DO_VERSION 24.0.7 +ENV DO_VERSION 27.1.1 ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz -ENV DC_VERSION v2.23.3 +ENV DC_VERSION v2.29.1 ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64 -ENV BX_VERSION v0.13.1 +ENV BX_VERSION v0.16.2 ENV BX_URL https://github.com/docker/buildx/releases/download/${BX_VERSION}/buildx-${BX_VERSION}.linux-amd64 RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes \ && mkdir /tmp/download \ @@ -183,13 +183,14 @@ COPY ./patch/kickstart.nvim/updates.patch /tmp COPY ./config/nvim/lua/custom/plugins/init.lua /tmp RUN git clone https://github.com/nvim-lua/kickstart.nvim.git "${XDG_CONFIG_HOME}"/nvim \ && cd ${XDG_CONFIG_HOME}/nvim \ - && git reset --hard 5aeddfdd5d0308506ec63b0e4f8de33e2a39355f \ + && git reset --hard 186018483039b20dc39d7991e4fb28090dd4750e \ && git apply /tmp/updates.patch \ && cp /tmp/init.lua ${XDG_CONFIG_HOME}/nvim/lua/custom/plugins \ && nvim --headless "+Lazy! sync" +qa # install rtx plugins RUN ${LOCAL_BIN_HOME}/mise plugins install --force --yes \ + age \ awscli \ bat \ bitwarden \ diff --git a/config/mise/config.toml b/config/mise/config.toml index e819654..a7bef3f 100644 --- a/config/mise/config.toml +++ b/config/mise/config.toml @@ -1,40 +1,41 @@ [tools] -awscli = "2.15.49" +age = "1.2.0" +awscli = "2.17.31" bat = "0.24.0" -bitwarden = "2024.4.1" +bitwarden = "2024.7.2" circleci-cli = "0.1.30549" -ctlptl = "0.8.29" -dagger = "0.11.4" -eksctl = "0.180.0" -elixir = "1.17.0-otp-27" -erlang = "27.0" -eza = "0.18.15" -fzf = "0.52.1" -go = "1.22.3" -helm = "3.14.4" -k3d = "5.6.3" -k3sup = "0.13.5" -k9s = "0.32.4" -kind = "0.22.0" -kubectl = "1.30.0" -kubie = "0.23.0" -lefthook = "1.6.11" -lua = "5.4.6" +ctlptl = "0.8.31" +dagger = "0.12.5" +eksctl = "0.188.0" +elixir = "1.17.2-otp-27" +erlang = "27.0.1" +eza = "0.19.0" +fzf = "0.53.0" +go = "1.23.0" +helm = "3.15.4" +k3d = "5.7.3" +k3sup = "0.13.7" +k9s = "0.32.5" +kind = "0.24.0" +kubectl = "1.31.0" +kubie = "0.23.1" +lefthook = "1.7.13" +lua = "5.1.5" luajit = "2.0.5--2.4.4" -node = "22.1.0" +node = "22.6.0" poetry = "1.8.3" -python = "3.12.3" -r = "4.4.0" +python = "3.12.5" +r = "4.4.1" ripgrep = "14.1.0" -rust = "1.78.0" -starship = "1.18.2" -task = "3.37.2" -terraform = "1.8.3" -tilt = "0.33.13" +rust = "1.80.1" +starship = "1.20.1" +task = "3.38.0" +terraform = "1.9.4" +tilt = "0.33.19" tmux = "3.4" usage = "0.3.0" -usql = "0.19.1" -yarn = "1.22.19" +usql = "0.19.3" +yarn = "1.22.22" zoxide = "0.9.4" [settings] diff --git a/config/nvim/lua/custom/plugins/init.lua b/config/nvim/lua/custom/plugins/init.lua index 73ef897..9634f5b 100644 --- a/config/nvim/lua/custom/plugins/init.lua +++ b/config/nvim/lua/custom/plugins/init.lua @@ -104,70 +104,70 @@ return { priority = 1000, config = true, }, - { - 'rest-nvim/rest.nvim', - dependencies = { 'luarocks.nvim' }, - ft = { - 'http', - 'rest', - }, - config = function() - require('rest-nvim').setup { - client = 'curl', - custom_dynamic_variables = {}, - encode_url = true, - env_file = '.env', - skip_ssl_verification = false, - highlight = { - enable = true, - timeout = 15, - }, - result = { - behavior = { - decode_url = true, - formatters = { - json = 'jq', - html = false, - }, - show_info = { - curl_command = true, - headers = true, - http_info = true, - url = true, - }, - statistics = { - enable = true, - stats = { - { 'total_time', title = 'Time taken:' }, - { 'size_download_t', title = 'Download size:' }, - }, - }, - }, - split = { - horizontal = false, - in_place = false, - }, - }, - } - end, - keys = function() - local status_ok, which_key = pcall(require, 'which-key') - if status_ok then - which_key.register { - ['t'] = { name = 'Res[t]', _ = 'which_key_ignore' }, - } - end - return { - { 'tr', 'Rest run', desc = 'Run the request under cursor' }, - { - 'tp', - 'RestNvimPreview', - desc = 'Preview the curl command for the request under cursor', - }, - { 'tl', 'Rest run last', desc = 'Re-run the last request' }, - } - end, - }, + -- { + -- 'rest-nvim/rest.nvim', + -- dependencies = { 'luarocks.nvim' }, + -- ft = { + -- 'http', + -- 'rest', + -- }, + -- config = function() + -- require('rest-nvim').setup { + -- client = 'curl', + -- custom_dynamic_variables = {}, + -- encode_url = true, + -- env_file = '.env', + -- skip_ssl_verification = false, + -- highlight = { + -- enable = true, + -- timeout = 15, + -- }, + -- result = { + -- behavior = { + -- decode_url = true, + -- formatters = { + -- json = 'jq', + -- html = false, + -- }, + -- show_info = { + -- curl_command = true, + -- headers = true, + -- http_info = true, + -- url = true, + -- }, + -- statistics = { + -- enable = true, + -- stats = { + -- { 'total_time', title = 'Time taken:' }, + -- { 'size_download_t', title = 'Download size:' }, + -- }, + -- }, + -- }, + -- split = { + -- horizontal = false, + -- in_place = false, + -- }, + -- }, + -- } + -- end, + -- keys = function() + -- local status_ok, which_key = pcall(require, 'which-key') + -- if status_ok then + -- which_key.register { + -- ['t'] = { name = 'Res[t]', _ = 'which_key_ignore' }, + -- } + -- end + -- return { + -- { 'tr', 'Rest run', desc = 'Run the request under cursor' }, + -- { + -- 'tp', + -- 'RestNvimPreview', + -- desc = 'Preview the curl command for the request under cursor', + -- }, + -- { 'tl', 'Rest run last', desc = 'Re-run the last request' }, + -- } + -- end, + -- }, { 'akinsho/toggleterm.nvim', opts = { @@ -183,8 +183,8 @@ return { keys = function() local status_ok, which_key = pcall(require, 'which-key') if status_ok then - which_key.register { - ['m'] = { name = 'Toggle ter[m]inal', _ = 'which_key_ignore' }, + which_key.add { + { 'm', group = 'Toggle ter[m]inal' }, } end vim.api.nvim_create_autocmd('TermOpen', { diff --git a/patch/kickstart.nvim/updates.patch b/patch/kickstart.nvim/updates.patch index 2caf53d..0d5d776 100644 --- a/patch/kickstart.nvim/updates.patch +++ b/patch/kickstart.nvim/updates.patch @@ -1,5 +1,5 @@ diff --git a/init.lua b/init.lua -index 88658ef..b2e4e40 100644 +index 220d304..62a9702 100644 --- a/init.lua +++ b/init.lua @@ -91,7 +91,7 @@ vim.g.mapleader = ' ' @@ -24,7 +24,7 @@ index 88658ef..b2e4e40 100644 -- Don't show the mode, since it's already in the status line vim.opt.showmode = false -@@ -154,6 +154,14 @@ vim.opt.cursorline = true +@@ -157,6 +157,14 @@ vim.opt.cursorline = true -- Minimal number of screen lines to keep above and below the cursor. vim.opt.scrolloff = 10 @@ -39,7 +39,7 @@ index 88658ef..b2e4e40 100644 -- [[ Basic Keymaps ]] -- See `:help vim.keymap.set()` -@@ -578,6 +586,28 @@ require('lazy').setup({ +@@ -582,6 +590,28 @@ require('lazy').setup({ -- tsserver = {}, -- @@ -68,7 +68,7 @@ index 88658ef..b2e4e40 100644 lua_ls = { -- cmd = {...}, -- filetypes = { ...}, -@@ -592,6 +622,33 @@ require('lazy').setup({ +@@ -596,6 +626,33 @@ require('lazy').setup({ }, }, }, @@ -102,7 +102,7 @@ index 88658ef..b2e4e40 100644 } -- Ensure the servers and tools above are installed -@@ -618,6 +675,33 @@ require('lazy').setup({ +@@ -622,6 +679,33 @@ require('lazy').setup({ -- by the server configuration above. Useful when disabling -- certain features of an LSP (for example, turning off formatting for tsserver) server.capabilities = vim.tbl_deep_extend('force', {}, capabilities, server.capabilities or {}) @@ -136,11 +136,11 @@ index 88658ef..b2e4e40 100644 require('lspconfig')[server_name].setup(server) end, }, -@@ -835,7 +919,38 @@ require('lazy').setup({ +@@ -844,7 +928,39 @@ require('lazy').setup({ 'nvim-treesitter/nvim-treesitter', build = ':TSUpdate', opts = { -- ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'vim', 'vimdoc' }, +- ensure_installed = { 'bash', 'c', 'diff', 'html', 'lua', 'luadoc', 'markdown', 'markdown_inline', 'query', 'vim', 'vimdoc' }, + ensure_installed = { + 'bash', + 'c', @@ -163,6 +163,7 @@ index 88658ef..b2e4e40 100644 + 'markdown', + 'markdown_inline', + 'python', ++ 'query', + 'sql', + 'templ', + 'terraform', @@ -176,7 +177,7 @@ index 88658ef..b2e4e40 100644 -- Autoinstall languages that are not installed auto_install = true, highlight = { -@@ -874,18 +989,18 @@ require('lazy').setup({ +@@ -881,18 +997,18 @@ require('lazy').setup({ -- Uncomment any of the lines below to enable them (you will need to restart nvim). -- -- require 'kickstart.plugins.debug',