Shared: init.el / early-init.el with Vertico stack, Corfu, Eglot, treesit-auto, Catppuccin Mocha, doom-modeline, Magit, avy, harpoon, embark, wgrep, expand-region, envrc, org-mode, and drop-in lang loader. Lang configs split by stow target: - shared: elisp, org - laptop: C/C++, Rust, Go, LaTeX (AUCTeX + latexmk + Zathura) - work: C#, JS/TS/HTML/CSS/React (apheleia+prettier), Copilot install-personal.sh: Fedora — gcc/clang, rustup, Go, texlive, zathura install-work.sh: Ubuntu 24.04 WSL — dotnet-sdk-10.0, Node 22 via nvm, ts-ls Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
51 lines
1.4 KiB
Bash
Executable File
51 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Work workstation dev dependencies — Ubuntu 24.04 LTS (WSL)
|
|
# Languages: C#, JavaScript, TypeScript, Node.js, HTML, CSS, React
|
|
set -euo pipefail
|
|
|
|
sudo apt-get update -q
|
|
|
|
# --- Core tools ---
|
|
# curl may not be present in a minimal WSL image
|
|
sudo apt-get install -y \
|
|
emacs \
|
|
git \
|
|
ripgrep \
|
|
fd-find \
|
|
stow \
|
|
curl
|
|
|
|
# Ubuntu names the fd binary 'fdfind'; add a user-local symlink so tooling finds it as 'fd'
|
|
if command -v fdfind &>/dev/null && ! command -v fd &>/dev/null; then
|
|
mkdir -p "$HOME/.local/bin"
|
|
ln -sf "$(command -v fdfind)" "$HOME/.local/bin/fd"
|
|
fi
|
|
|
|
# --- .NET 10 (in Ubuntu 24.04 main repo — no extra source needed) ---
|
|
sudo apt-get install -y dotnet-sdk-10.0
|
|
|
|
# C# language server (NuGet global tool)
|
|
dotnet tool install --global csharp-ls 2>/dev/null \
|
|
|| dotnet tool update --global csharp-ls
|
|
|
|
# --- Node.js 22 LTS via nvm (Ubuntu 24.04 repos ship 20.x; nvm adds no apt sources) ---
|
|
export NVM_DIR="${NVM_DIR:-$HOME/.nvm}"
|
|
if [[ ! -d "$NVM_DIR" ]]; then
|
|
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash
|
|
fi
|
|
# shellcheck source=/dev/null
|
|
source "$NVM_DIR/nvm.sh"
|
|
nvm install 22
|
|
nvm alias default 22
|
|
nvm use default
|
|
|
|
# --- JS / TS / HTML / CSS language servers and formatters ---
|
|
npm install -g \
|
|
typescript \
|
|
typescript-language-server \
|
|
vscode-langservers-extracted \
|
|
prettier \
|
|
eslint
|
|
|
|
echo "Work dev dependencies installed."
|