Compare commits

...

5 Commits

Author SHA1 Message Date
c403d55085 chore: move frequently updated layers to the end 2024-01-02 11:49:11 +00:00
f1ad65449f chore: git config is the last step of image 2024-01-02 11:49:11 +00:00
f8f34c8a89 feat: add jetporch to provision machines 2024-01-02 11:49:11 +00:00
Joao P Dubas
3b0b3fea43 wip: add rust toolchain 2024-01-02 11:49:11 +00:00
20c5f4f816 feat: upgrade runtimes and command lines (#23)
Upgrade runtimes and command lines to their latest versions:

* bat from 0.23.0 to 0.24.0
* ripgrep from 13.0.0 to 14.0.3
* docker from 24.0.6 to 24.0.7
* compose from v2.21.0 to v2.23.3
* awscli from 2.13.38 to 2.15.6
* elixir from 1.15.7-otp-26 to 1.16.0-otp-26
* erlang from 26.1.2 to 26.2.1
* go from 1.21.4 to 1.21.5
* helm from 3.13.2 to 3.13.3
* kubectl from 1.28.4 to 1.29.0
* lefthook from 1.5.3 to 1.5.5
* node from 21.2.0 to 21.5.0
* python from 3.12.0 to 3.12.1
* terraform from 1.6.4 to 1.6.6
* tilt from 0.33.10 to 0.33.6

And add missing tools:

* usql 0.17.2
* yarn 1.22.19

Reviewed-on: #23
2024-01-02 11:45:28 +00:00
2 changed files with 55 additions and 46 deletions

View File

@ -91,15 +91,15 @@ RUN apt-get update \
&& echo 'permit persist :wheel as root' > /etc/doas.conf
# command line utilities
ENV BAT_VERSION 0.23.0
ENV BAT_VERSION 0.24.0
ENV BAT_FILE bat_${BAT_VERSION}_amd64.deb
ENV BAT_URL https://github.com/sharkdp/bat/releases/download/v${BAT_VERSION}/${BAT_FILE}
ENV RG_VERSION 13.0.0
ENV RG_VERSION 14.0.3
ENV RG_FILE ripgrep_${RG_VERSION}_amd64.deb
ENV RG_URL https://github.com/BurntSushi/ripgrep/releases/download/${RG_VERSION}/${RG_FILE}
ENV DO_VERSION 24.0.6
ENV DO_VERSION 24.0.7
ENV DO_URL https://download.docker.com/linux/static/stable/x86_64/docker-${DO_VERSION}.tgz
ENV DC_VERSION v2.21.0
ENV DC_VERSION v2.23.3
ENV DC_URL https://github.com/docker/compose/releases/download/${DC_VERSION}/docker-compose-linux-x86_64
RUN curl -sS https://starship.rs/install.sh | sh -s -- --yes \
&& curl -LO ${BAT_URL} \
@ -131,22 +131,19 @@ ENV XDG_CONFIG_HOME ${HOME}/.config
ENV XDG_DATA_HOME ${HOME}/.local/share
ENV XDG_CACHE_HOME ${HOME}/.cache
ENV STARSHIP_CONFIG ${XDG_CONFIG_HOME}/starship/config.toml
ENV PATH ${LOCAL_BIN_HOME}:$PATH
ENV CARGO_HOME ${XDG_DATA_HOME}/cargo
ENV RUSTUP_HOME ${XDG_DATA_HOME}/rustup
ENV PATH ${LOCAL_BIN_HOME}:${CARGO_HOME}/bin:$PATH
# command line utilities
RUN curl https://rtx.pub/install.sh | sh \
&& curl -sS https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | bash \
&& git clone https://github.com/tmux-plugins/tpm.git ${XDG_CONFIG_HOME}/tmux/plugins/tpm
# git configuration
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 4d0dc8d4b1bd6b94e59f7773158149bb1b0ee5be \
&& git apply /tmp/updates.patch \
&& cp /tmp/init.lua ${XDG_CONFIG_HOME}/nvim/lua/custom/plugins \
&& nvim --headless "+Lazy! sync" +qa
&& git clone https://github.com/tmux-plugins/tpm.git ${XDG_CONFIG_HOME}/tmux/plugins/tpm \
&& curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
&& git clone https://git.sr.ht/~mpdehaan/jetporch ${LOCAL_SRC_HOME}/jetporch \
&& cd ${LOCAL_SRC_HOME}/jetporch \
&& make \
&& ln -s ${LOCAL_SRC_HOME}/jetporch/target/release/jetp ${LOCAL_BIN_HOME}/
# configure fish and bash
RUN fish -c true \
@ -158,25 +155,6 @@ RUN fish -c true \
&& echo 'alias ll="l -Fahl"' >> ${XDG_CONFIG_HOME}/fish/config.fish \
&& echo 'alias la="l -a"' >> ${XDG_CONFIG_HOME}/fish/config.fish
# configure git
ARG GIT_USER_EMAIL
ARG GIT_USER_NAME
RUN git config --global user.email "${GIT_USER_EMAIL}" \
&& git config --global user.name "${GIT_USER_NAME}" \
&& git config --global core.editor nvim
# install rtx plugins
RUN ${XDG_DATA_HOME}/rtx/bin/rtx plugins install \
awscli \
elixir \
erlang \
helm \
kubectl \
lefthook \
poetry \
terraform \
tilt
# NOTE (jpd): the section below exists mainly to handle a project running elixir 1.11.
# It allows the usage of openssl 1.1 and a compatible elixir-ls.
@ -207,3 +185,32 @@ RUN git clone https://github.com/elixir-lsp/elixir-ls.git ${LOCAL_SRC_HOME}/elix
&& cd ${LOCAL_SRC_HOME}/elixir-ls/v0.14.6 \
&& git checkout tags/v0.14.6 \
&& cp .release-tool-versions .tool-versions
# git configuration
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 4d0dc8d4b1bd6b94e59f7773158149bb1b0ee5be \
&& 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 ${XDG_DATA_HOME}/rtx/bin/rtx plugins install \
awscli \
elixir \
erlang \
helm \
kubectl \
lefthook \
poetry \
terraform \
tilt
# configure git
ARG GIT_USER_EMAIL
ARG GIT_USER_NAME
RUN git config --global user.email "${GIT_USER_EMAIL}" \
&& git config --global user.name "${GIT_USER_NAME}" \
&& git config --global core.editor nvim

View File

@ -1,16 +1,18 @@
[tools]
awscli = "2.13.38"
elixir = "1.15.7-otp-26"
erlang = "26.1.2"
go = "1.21.4"
helm = "3.13.2"
kubectl = "1.28.4"
lefthook = "1.5.3"
node = "21.2.0"
awscli = "2.15.6"
elixir = "1.16.0-otp-26"
erlang = "26.2.1"
go = "1.21.5"
helm = "3.13.3"
kubectl = "1.29.0"
lefthook = "1.5.5"
node = "21.5.0"
poetry = "1.7.1"
python = "3.12.0"
terraform = "1.6.4"
tilt = "0.33.6"
python = "3.12.1"
terraform = "1.6.6"
tilt = "0.33.10"
usql = "0.17.2"
yarn = "1.22.19"
[settings]
experimental = true