Files
grafton-bastille-templates/linux-lazyvim/Bastillefile
2025-11-16 10:29:29 -05:00

52 lines
2.0 KiB
Plaintext

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