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
12 changes: 12 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,9 @@ RUN printf '%s\n' \
texlive-lang-cjk \
texlive-lang-chinese \
texlive-lang-japanese \
fonts-cmu \
fonts-stix \
fonts-texgyre \
poppler-utils \
qpdf \
ghostscript \
Expand Down Expand Up @@ -303,6 +306,15 @@ RUN curl -LsSf https://astral.sh/uv/install.sh | sh \
pyarrow \
tabulate \
numpy \
# Data science / ML / viz
jupyterlab \
notebook \
ipykernel \
matplotlib \
seaborn \
scipy \
pillow \
imageio \
ruff \
&& PIPBIN="$("${PYBIN}" -c 'import os, sysconfig; print(os.path.join(sysconfig.get_path("scripts"), "pip"))')" \
&& ln -sf "${PIPBIN}" /usr/local/bin/pip3 \
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,9 @@ This image includes a comprehensive suite of tools categorized for agentic tasks
| **Text & Data Utils** | `jq`, `yq`, `rg` (ripgrep), `fd`, `mlr` (miller), `csvkit`, `tmux` |
| **Build Essentials** | `gcc`, `g++`, `clang`, `cmake`, `ninja`, `make`, `gdb`, `lldb`, `strace` |
| **Compression** | `zip`, `unzip`, `7z`, `tar`, `zstd`, `unrar` |
| **Fonts & I18n** | Noto CJK (Chinese/Japanese/Korean), Noto Color Emoji, Liberation, DejaVu |
| **Fonts & I18n** | Noto CJK (Chinese/Japanese/Korean), Noto Color Emoji, Liberation, DejaVu, CMU, STIX, TeX Gyre |
| **LaTeX & Academic** | `latexmk`, `biber`, `chktex`, `lualatex`, `xelatex`, `pdflatex`, mermaid-cli (`mmdc`) |
| **Data Science & Viz** | JupyterLab, Notebook, matplotlib, seaborn, scipy, pillow, imageio |

## 🤖 Hermes Agent Configuration

Expand Down
13 changes: 13 additions & 0 deletions verify-runtime.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ test "$(cat /etc/timezone)" = "Asia/Shanghai"
date
locale | grep 'LANG=en_US.UTF-8'

echo "== academic fonts =="
for fp in /usr/share/fonts/truetype/cmu /usr/share/fonts/truetype/stix /usr/share/fonts/truetype/tex-gyre; do
test -d "$fp" && printf '%-20s %s\n' "$(basename $fp)" "installed"
done

echo "== base commands =="
for cmd in printenv envsubst timeout flock stdbuf script git git-lfs gh rg aria2c tmux rsync 7z zip unzip unrar rclone ffmpeg ffprobe yt-dlp convert identify exiftool oxipng duckdb psql mysql redis-cli sqlite3 libreoffice pandoc jq yq fd officecli mmdc; do
command -v "$cmd" >/dev/null
Expand Down Expand Up @@ -58,6 +63,14 @@ modules = [
"pyarrow",
"tabulate",
"numpy",
"jupyterlab",
"notebook",
"ipykernel",
"matplotlib",
"seaborn",
"scipy",
"PIL",
"imageio",
]
for module in modules:
__import__(module)
Expand Down
Loading