add a docker/podman version

This commit is contained in:
John Grafton
2025-11-16 21:15:44 -05:00
parent 0d8e6fa40d
commit 303175718a

52
podman-lazyvim/Dockerfile Normal file
View File

@ -0,0 +1,52 @@
FROM ubuntu:latest
ARG USERNAME="jgrafton"
ARG UID="503"
ARG GID="20"
ARG ARCH="aarch64"
ARG NEOARCH="arm64"
ARG NEOVIM_VERSION="v0.11.5"
ARG NVM_VERSION="v0.40.3"
ARG NODE_VERSION="24"
ARG PYTHON_VERSION="3.12.12"
# ubuntu / debian packages
RUN apt update -y
RUN apt install -y curl git tar build-essential openssl libssl-dev libzstd-dev zlib1g-dev unzip
# create user
#RUN addgroup --gid ${GID} ${USERNAME}
RUN adduser -q --uid ${UID} --gid ${GID} --disabled-password --gecos "" ${USERNAME}
# node
RUN su ${USERNAME} -c "curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash"
RUN su - ${USERNAME} -s/bin/bash -c "export NVM_DIR=/home/${USERNAME}/.nvm; . /home/${USERNAME}/.nvm/nvm.sh; nvm install 24"
# neovim
RUN mkdir -p /opt/build
RUN curl -L https://github.com/neovim/neovim/releases/download/${NEOVIM_VERSION}/nvim-linux-${NEOARCH}.tar.gz -o /opt/build/nvim-linux-${NEOARCH}.tar.gz
RUN tar -C /opt/build -xvf /opt/build/nvim-linux-${NEOARCH}.tar.gz
RUN cp -Rpv /opt/build/nvim-linux-${NEOARCH}/bin/* /usr/local/bin
RUN cp -Rpv /opt/build/nvim-linux-${NEOARCH}/lib/* /usr/local/lib
RUN cp -Rpv /opt/build/nvim-linux-${NEOARCH}/share/* /usr/local/share
# lazyvim
RUN su ${USERNAME} -c "git clone https://github.com/LazyVim/starter /home/${USERNAME}/.config/nvim"
# python
RUN curl -L https://www.python.org/ftp/python/${PYTHON_VERSION}/Python-${PYTHON_VERSION}.tgz -o /opt/build/Python-${PYTHON_VERSION}.tgz
RUN tar -C /opt/build -xvf /opt/build/Python-${PYTHON_VERSION}.tgz
RUN cd /opt/build/Python-${PYTHON_VERSION}; ./configure
RUN cd /opt/build/Python-${PYTHON_VERSION}; make -j 8
RUN cd /opt/build/Python-${PYTHON_VERSION}; make install
# ripgrep
RUN curl -L https://github.com/BurntSushi/ripgrep/releases/download/15.1.0/ripgrep-15.1.0-${ARCH}-unknown-linux-gnu.tar.gz -o /opt/build/ripgrep-15.1.0-${ARCH}-unknown-linux-gnu.tar.gz
#RUN dpkg -i /opt/build/ripgrep_15.1.0-1_arm64.deb
# rust
#RUN curl -L https://static.rust-lang.org/dist/rust-1.91.1-arm64-unknown-linux-gnu.tar.xz -o /opt/build/rust-1.91.1.tar.xz
#RUN cd /opt/build; tar xvf rust-1.91.1.tar.xz
#RUN cd /opt/build/rust-1.91.1-arm64-unknown-linux-gnu; ./install.sh