Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions debian/bootstrap
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,14 @@ source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/m
# Install packages
source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/main/debian/install-packages)

# Dev packages
printf "Install development tools? "
read -r REPLY </dev/tty
if [[ $REPLY =~ ^[Yy]$ ]]
then
source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/main/debian/install-dev-packages)
fi

# Install eza themes
source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/main/generic/install-eza-themes)

Expand Down
70 changes: 70 additions & 0 deletions debian/install-dev-packages
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
#!/usr/bin/env bash
# source <(curl -fsSL https://raw.githubusercontent.com/mapitman/linux-bootstrap/main/debian/install-dev-packages)

# Get Debian version to fetch correct Microsoft repo package
source /etc/os-release
VERSION_ID=${VERSION_ID:-12} # Default to 12 if unset

# Register Microsoft package repository for .NET SDK
MS_DEB="packages-microsoft-prod.deb"
MS_URL="https://packages.microsoft.com/config/debian/${VERSION_ID}/packages-microsoft-prod.deb"

echo "Registering Microsoft package repository..."
if wget -q "$MS_URL" -O "$MS_DEB"; then
sudo dpkg -i "$MS_DEB"
rm -f "$MS_DEB"
else
echo "WARNING: Failed to download Microsoft repository package from $MS_URL"
fi

# Register mise package repository
echo "Registering mise package repository..."
sudo install -dm 755 /etc/apt/keyrings
if curl -fSs https://mise.jdx.dev/gpg-key.pub | gpg --dearmor | sudo tee /etc/apt/keyrings/mise-archive-keyring.gpg > /dev/null; then
echo "deb [signed-by=/etc/apt/keyrings/mise-archive-keyring.gpg arch=$(dpkg --print-architecture)] https://mise.jdx.dev/deb stable main" | sudo tee /etc/apt/sources.list.d/mise.list > /dev/null
else
echo "WARNING: Failed to register mise package repository"
fi

sudo apt-get update

# Install dev packages
sudo apt-get install -y \
autoconf \
autogen \
bison \
build-essential \
checkinstall \
cmake \
default-jdk \
dialog \
dotnet-sdk-10.0 \
flex \
golang \
hugo \
jq \
just \
libcurl4-openssl-dev \
libssl-dev \
libtool \
make \
mercurial \
mise \
pandoc \
pylint \
python-is-python3 \
python3-autopep8 \
python3-pip \
twine \
universal-ctags \
zlib1g-dev

# Activate mise for bash and zsh configurations
echo "Adding mise activation hooks to shell configurations..."
if [ -f "$HOME/.bashrc" ] && ! grep -q "mise activate bash" "$HOME/.bashrc"; then
printf '\n# Activate mise version manager\neval "$(mise activate bash)"\n' >> "$HOME/.bashrc"
fi

if [ -f "$HOME/.zshrc" ] && ! grep -q "mise activate zsh" "$HOME/.zshrc"; then
printf '\n# Activate mise version manager\neval "$(mise activate zsh)"\n' >> "$HOME/.zshrc"
fi
11 changes: 11 additions & 0 deletions test/docker/run-tests-debian.sh
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@ cd /home/testuser/linux-bootstrap
echo "Testing Debian package installation..."
bash debian/install-packages

echo "Testing Debian dev package installation..."
bash debian/install-dev-packages

echo ""
echo "Verifying packages are installed..."
PACKAGES=(
Expand Down Expand Up @@ -43,6 +46,14 @@ PACKAGES=(
zoxide
zsh
zsh-doc
build-essential
cmake
default-jdk
dotnet-sdk-10.0
golang
just
mise
pandoc
)

MISSING=()
Expand Down
Loading