feat: add rust-pod development environment setup

This commit is contained in:
2026-05-09 15:16:11 +00:00
commit 49e599eeba
6 changed files with 93 additions and 0 deletions

14
Containerfile Normal file
View File

@@ -0,0 +1,14 @@
FROM alpine:latest
# Copy all installation scripts into the image
COPY install-apk.sh /usr/local/bin/
COPY install-rust.sh /usr/local/bin/
COPY install-cargo-tools.sh /usr/local/bin/
COPY setup-rust-dev.sh /usr/local/bin/
# Make them executable and run the orchestrator
RUN chmod +x /usr/local/bin/*.sh && \
/usr/local/bin/setup-rust-dev.sh
# Set the default shell to fish (or bash)
CMD ["/usr/bin/fish"]

33
install-apk.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
set -e
echo "Installing system dependencies via apk..."
apk add --no-cache \
build-base \
bash \
curl \
ca-certificates \
git \
git-delta \
htop \
i2c-tools \
luarocks \
man-pages \
neovim \
nushell \
netcat-openbsd \
ripgrep \
starship \
tig \
tree-sitter \
vim \
wget \
zoxide \
bat \
fd \
exa \
fish \
rustup \
musl-dev \
openssl-dev \
perl \
linux-headers

10
install-cargo-tools.sh Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
set -e
echo "Installing cargo tools..."
# Use binstall for speed where possible
cargo binstall --no-confirm difftastic dust
echo "Installing custom crates..."
cargo install --git https://git.nubo.sh/hulthe/wmutils.git
cargo install --git https://git.nubo.sh/hulthe/lockscreen-blur.git
cargo install --git https://git.nubo.sh/hulthe/volume_indicator.git

6
install-rust.sh Executable file
View File

@@ -0,0 +1,6 @@
#!/bin/bash
set -e
echo "Installing Rust toolchain..."
rustup default stable
curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash
cargo binstall --no-confirm cargo-watch cargo-get

15
rust-pod Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
set -e
IMAGE_NAME="rust-dev-pod"
if ! podman image exists $IMAGE_NAME; then
echo "Image $IMAGE_NAME not found. Building..."
podman build -t $IMAGE_NAME .
fi
echo "Dropping you into the Rust Dev Pod..."
podman run -it --rm \
-v "$PWD:$PWD" \
-w "$PWD" \
$IMAGE_NAME \
bash

15
setup-rust-dev.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
set -e
# Run the sub-scripts
/usr/local/bin/install-apk.sh
/usr/local/bin/install-rust.sh
/usr/local/bin/install-cargo-tools.sh
echo "Setting up dotfiles..."
mkdir -p $HOME/.config/dotfiles
if [ ! -d "$HOME/.config/dotfiles/.git" ]; then
git clone https://git.nubo.sh/hulthe/df.git $HOME/.config/dotfiles
fi
cd $HOME/.config/dotfiles
bash manager/setup.sh