add dbeaver and mssql server

This commit is contained in:
2026-08-29 00:18:25 +01:00
parent 4d7a2bcb53
commit dcc7adcc36
2 changed files with 53 additions and 47 deletions
+1
View File
@@ -0,0 +1 @@
*.log
+52 -47
View File
@@ -8,7 +8,6 @@ NVIM_VERSION="0.12.4"
GO_VERSION="1.27.0"
FZF_VERSION="0.61.1"
JUST_VERSION="1.40.0"
TREE_SITTER_VERSION="0.26.13"
# ============================================================
# Global wget options
@@ -26,6 +25,35 @@ cleanup() {
}
trap cleanup EXIT
# ============================================================
# MSSQL Server setup
# ============================================================
echo "=== MSSQL Server setup ==="
if [[ -x /opt/mssql/bin/mssql-conf ]] && ! systemctl is-active mssql-server >/dev/null 2>&1; then
echo 'export PATH=$PATH:/opt/mssql-tools18/bin' | sudo tee /etc/profile.d/mssql-tools.sh
read -rp "MSSQL Server is installed but not configured. Run setup now? [Y/n] " CONFIRM
if [[ "${CONFIRM:-Y}" =~ ^[Yy]$ ]]; then
sudo /opt/mssql/bin/mssql-conf setup
else
echo "*** Skipped. Run manually: sudo /opt/mssql/bin/mssql-conf setup ***"
fi
elif [[ -x /opt/mssql/bin/mssql-conf ]]; then
echo "mssql-server is already configured and running."
echo 'export PATH=$PATH:/opt/mssql-tools18/bin' | sudo tee /etc/profile.d/mssql-tools.sh
fi
# ============================================================
# DBeaver repository
# ============================================================
echo "=== DBeaver repository ==="
if ! dpkg -s dbeaver-ce >/dev/null 2>&1; then
sudo wget -q -O - https://dbeaver.io/debs/dbeaver.gpg.key | \
sudo gpg --dearmor -o /usr/share/keyrings/dbeaver.gpg.key
echo "deb [signed-by=/usr/share/keyrings/dbeaver.gpg.key] https://dbeaver.io/debs/dbeaver-ce /" | \
sudo tee /etc/apt/sources.list.d/dbeaver.list
fi
# ============================================================
# apt packages
# ============================================================
@@ -47,7 +75,6 @@ APT_PACKAGES=(
unzip
zip
util-linux
wl-clipboard
ncurses-base
libheif-examples
libheif1
@@ -74,14 +101,19 @@ APT_PACKAGES=(
bridge-utils
apt-transport-https
nodejs
openssh-server
npm
openssh-server
mssql-server
mssql-tools18
unixodbc-dev
dbeaver-ce
)
echo "=== apt packages ==="
sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install -y "${APT_PACKAGES[@]}"
ACCEPT_EULA=Y sudo apt-get install -y "${APT_PACKAGES[@]}"
# ============================================================
# Add user to libvirt groups
@@ -91,25 +123,13 @@ sudo usermod -aG libvirt,libvirt-qemu "$USER" || true
echo "*** Added $USER to libvirt groups — log out/in required for effect. ***"
# ============================================================
# SQL Server (commented out — uncomment when running on 24.04)
# MSSQL Server setup
# ============================================================
# if ! dpkg -s mssql-server >/dev/null 2>&1; then
# curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
# curl -fsSL https://packages.microsoft.com/config/ubuntu/24.04/mssql-server-2025.list \
# | sudo tee /etc/apt/sources.list.d/mssql-server-2025.list
# sudo apt-get update -y
# sudo apt-get install -y mssql-server
# echo "*** mssql-server installed. Run: sudo /opt/mssql/bin/mssql-conf setup ***"
# fi
#
# if ! dpkg -s mssql-tools18 >/dev/null 2>&1; then
# wget -qO /tmp/packages-microsoft-prod.deb https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb
# sudo apt-get install -y /tmp/packages-microsoft-prod.deb
# sudo apt-get update -y
# ACCEPT_EULA=Y sudo apt-get install -y mssql-tools18 unixodbc-dev
# rm -f /tmp/packages-microsoft-prod.deb
# echo 'export PATH=$PATH:/opt/mssql-tools18/bin' | sudo tee /etc/profile.d/mssql-tools.sh
# fi
echo "=== MSSQL Server setup ==="
if [[ -x /opt/mssql/bin/mssql-conf ]]; then
echo "*** mssql-server installed. Run: sudo /opt/mssql/bin/mssql-conf setup ***"
echo 'export PATH=$PATH:/opt/mssql-tools18/bin' | sudo tee /etc/profile.d/mssql-tools.sh
fi
# ============================================================
# Go
@@ -147,21 +167,6 @@ fi
[[ -f "$HOME/.cargo/env" ]] && source "$HOME/.cargo/env"
rustup default stable
# ============================================================
# tree-sitter-cli
# ============================================================
echo "=== tree-sitter-cli ==="
TS_NEEDS_INSTALL=1
if [[ -x "$HOME/.cargo/bin/tree-sitter" ]]; then
INSTALLED_TS=$("$HOME/.cargo/bin/tree-sitter" --version | awk '{print $2}')
if [[ "$INSTALLED_TS" == "$TREE_SITTER_VERSION" ]]; then
TS_NEEDS_INSTALL=0
fi
fi
if [[ "$TS_NEEDS_INSTALL" -eq 1 ]]; then
"$HOME/.cargo/bin/cargo" install tree-sitter-cli --version "${TREE_SITTER_VERSION}" --locked --force
fi
# ============================================================
# just
# ============================================================
@@ -234,6 +239,14 @@ if ! command -v task >/dev/null 2>&1; then
sudo apt-get install -y task
fi
# ============================================================
# Ensure cargo is in PATH
# ============================================================
if ! grep -q 'export PATH="$HOME/.cargo/bin:$PATH"' "$HOME/.bashrc"; then
printf '\nexport PATH="$HOME/.cargo/bin:$PATH"\n' >> "$HOME/.bashrc"
source "$HOME/.bashrc"
fi
# ============================================================
# Services
# ============================================================
@@ -243,16 +256,8 @@ sudo systemctl enable --now ssh.service 2>/dev/null \
|| true
sudo systemctl enable --now libvirtd.service
# ============================================================
# Ensure cargo is in PATH
# ============================================================
if ! grep -q 'export PATH="$HOME/.cargo/bin:$PATH"' "$HOME/.bashrc"; then
printf '\nexport PATH="$HOME/.cargo/bin:$PATH"\n' >> "$HOME/.bashrc"
source "$HOME/.bashrc"
fi
# ============================================================
echo "=== Done ==="
echo "Log out and back in for libvirt group to take effect."
echo "Rust and Cargo are at ~/.cargo/bin — add to PATH if not already:"
echo ' export PATH="$HOME/.cargo/bin:$PATH"'
echo "Rust and Cargo are at ~/.cargo/bin — added to .bashrc."
echo "If mssql-server was installed, run: sudo /opt/mssql/bin/mssql-conf setup"