envkit

Ubuntu 新主機初始化。挑一個方案,一行 curl 完成建置;已經存在的項目會自動跳過。

v0.1.0+4383794 · 建置於 2026-09-23 17:43 CST · commit 4383794bad52

naviktseng

工作環境git: navik.tseng <navik.tseng@chtsecurity.com>

naviktseng-lite

精簡版:生產主機、VPS
安裝
curl -fsSL https://envkit.navik.me/naviktseng/lite | bash
只看 inventory 與執行計畫,不做任何變更
curl -fsSL https://envkit.navik.me/naviktseng/lite | bash -s -- --list
8module33apt 套件9工具與設定
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
APT 套件
build-essentialgitcurlwgetvimunzipca-certificatesgnupgjqbash-completion
工具與設定
  • PATH 加入 ~/.local/bin
  • bash-completion 載入
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
APT 套件
fastfetchinxi
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
APT 套件
chrony
工具與設定
  • 時區 Asia/Taipei
  • envkit NTP 來源與 minsources
  • chrony 服務
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
APT 套件
bind9-dnsutilsmtr-tinytraceroutetcpdumpnmapnetcat-openbsdsocatiproute2net-toolsethtoollsofiftopnloadiputils-pingiputils-arpingiputils-tracepathhping3whoisipcalc
gh
GitHub CLI (官方 apt repo)
APT 套件
gh
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
工具與設定
  • git 身分 (user.name / user.email)
  • git 預設值 (main, pull.rebase=false, vim)
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
工具與設定
  • Claude Code
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)
工具與設定
  • codebase-memory-mcp

naviktseng-std

標準版:開發主機
安裝
curl -fsSL https://envkit.navik.me/naviktseng/std | bash
只看 inventory 與執行計畫,不做任何變更
curl -fsSL https://envkit.navik.me/naviktseng/std | bash -s -- --list
15module40apt 套件21工具與設定+7比 lite 多的 module
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
APT 套件
build-essentialgitcurlwgetvimunzipca-certificatesgnupgjqbash-completion
工具與設定
  • PATH 加入 ~/.local/bin
  • bash-completion 載入
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
APT 套件
fastfetchinxi
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
APT 套件
chrony
工具與設定
  • 時區 Asia/Taipei
  • envkit NTP 來源與 minsources
  • chrony 服務
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
APT 套件
bind9-dnsutilsmtr-tinytraceroutetcpdumpnmapnetcat-openbsdsocatiproute2net-toolsethtoollsofiftopnloadiputils-pingiputils-arpingiputils-tracepathhping3whoisipcalc
gh
GitHub CLI (官方 apt repo)
APT 套件
gh
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
工具與設定
  • git 身分 (user.name / user.email)
  • git 預設值 (main, pull.rebase=false, vim)
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
工具與設定
  • Claude Code
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)
工具與設定
  • codebase-memory-mcp
docker新增
Docker CE + buildx + compose v2 plugin (官方 apt repo)
APT 套件
docker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
工具與設定
  • docker 服務
  • 使用者在 docker 群組
uv新增
uv: Python 版本與套件管理 (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • uv
node新增
nvm (最新版) + Node.js LTS
工具與設定
  • nvm
  • Node.js LTS (nvm default)
  • npm
ai-npm新增
Codex CLI 與 ccusage (npm 全域套件)
依賴 node
工具與設定
  • Codex CLI (@openai/codex)
  • ccusage
pi新增
pi coding agent (@earendil-works/pi-coding-agent) + ripgrep, fd
依賴 node
APT 套件
ripgrepfd-find
工具與設定
  • fd 指令 (連結到 fdfind)
  • pi coding agent
cz新增
commitizen (uv tool)
依賴 uv
工具與設定
  • commitizen (cz)
herdr新增
herdr 終端機 agent multiplexer (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • herdr

naviktseng-full

完整版:實驗主機
安裝
curl -fsSL https://envkit.navik.me/naviktseng/full | bash
只看 inventory 與執行計畫,不做任何變更
curl -fsSL https://envkit.navik.me/naviktseng/full | bash -s -- --list
17module42apt 套件24工具與設定+2比 std 多的 module
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
APT 套件
build-essentialgitcurlwgetvimunzipca-certificatesgnupgjqbash-completion
工具與設定
  • PATH 加入 ~/.local/bin
  • bash-completion 載入
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
APT 套件
fastfetchinxi
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
APT 套件
chrony
工具與設定
  • 時區 Asia/Taipei
  • envkit NTP 來源與 minsources
  • chrony 服務
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
APT 套件
bind9-dnsutilsmtr-tinytraceroutetcpdumpnmapnetcat-openbsdsocatiproute2net-toolsethtoollsofiftopnloadiputils-pingiputils-arpingiputils-tracepathhping3whoisipcalc
gh
GitHub CLI (官方 apt repo)
APT 套件
gh
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
工具與設定
  • git 身分 (user.name / user.email)
  • git 預設值 (main, pull.rebase=false, vim)
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
工具與設定
  • Claude Code
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)
工具與設定
  • codebase-memory-mcp
docker
Docker CE + buildx + compose v2 plugin (官方 apt repo)
APT 套件
docker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
工具與設定
  • docker 服務
  • 使用者在 docker 群組
uv
uv: Python 版本與套件管理 (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • uv
node
nvm (最新版) + Node.js LTS
工具與設定
  • nvm
  • Node.js LTS (nvm default)
  • npm
ai-npm
Codex CLI 與 ccusage (npm 全域套件)
依賴 node
工具與設定
  • Codex CLI (@openai/codex)
  • ccusage
pi
pi coding agent (@earendil-works/pi-coding-agent) + ripgrep, fd
依賴 node
APT 套件
ripgrepfd-find
工具與設定
  • fd 指令 (連結到 fdfind)
  • pi coding agent
cz
commitizen (uv tool)
依賴 uv
工具與設定
  • commitizen (cz)
herdr
herdr 終端機 agent multiplexer (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • herdr
tshark新增
tshark 封包分析 + 非 root 擷取權限 (debconf 預先回答, 全程不互動)
APT 套件
tshark
工具與設定
  • 使用者在 wireshark 群組
ollama新增
Ollama 本地 LLM (官方安裝程式, systemd 服務只綁 127.0.0.1:11434)
APT 套件
zstd
工具與設定
  • ollama
  • ollama 服務

tsenghc

個人環境git: tsenghc <32272536+tsenghc@users.noreply.github.com>

tsenghc-lite

精簡版:生產主機、VPS
安裝
curl -fsSL https://envkit.tsenghc.me/tsenghc/lite | bash
只看 inventory 與執行計畫,不做任何變更
curl -fsSL https://envkit.tsenghc.me/tsenghc/lite | bash -s -- --list
8module33apt 套件9工具與設定
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
APT 套件
build-essentialgitcurlwgetvimunzipca-certificatesgnupgjqbash-completion
工具與設定
  • PATH 加入 ~/.local/bin
  • bash-completion 載入
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
APT 套件
fastfetchinxi
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
APT 套件
chrony
工具與設定
  • 時區 Asia/Taipei
  • envkit NTP 來源與 minsources
  • chrony 服務
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
APT 套件
bind9-dnsutilsmtr-tinytraceroutetcpdumpnmapnetcat-openbsdsocatiproute2net-toolsethtoollsofiftopnloadiputils-pingiputils-arpingiputils-tracepathhping3whoisipcalc
gh
GitHub CLI (官方 apt repo)
APT 套件
gh
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
工具與設定
  • git 身分 (user.name / user.email)
  • git 預設值 (main, pull.rebase=false, vim)
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
工具與設定
  • Claude Code
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)
工具與設定
  • codebase-memory-mcp

tsenghc-std

標準版:開發主機
安裝
curl -fsSL https://envkit.tsenghc.me/tsenghc/std | bash
只看 inventory 與執行計畫,不做任何變更
curl -fsSL https://envkit.tsenghc.me/tsenghc/std | bash -s -- --list
15module40apt 套件21工具與設定+7比 lite 多的 module
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
APT 套件
build-essentialgitcurlwgetvimunzipca-certificatesgnupgjqbash-completion
工具與設定
  • PATH 加入 ~/.local/bin
  • bash-completion 載入
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
APT 套件
fastfetchinxi
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
APT 套件
chrony
工具與設定
  • 時區 Asia/Taipei
  • envkit NTP 來源與 minsources
  • chrony 服務
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
APT 套件
bind9-dnsutilsmtr-tinytraceroutetcpdumpnmapnetcat-openbsdsocatiproute2net-toolsethtoollsofiftopnloadiputils-pingiputils-arpingiputils-tracepathhping3whoisipcalc
gh
GitHub CLI (官方 apt repo)
APT 套件
gh
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
工具與設定
  • git 身分 (user.name / user.email)
  • git 預設值 (main, pull.rebase=false, vim)
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
工具與設定
  • Claude Code
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)
工具與設定
  • codebase-memory-mcp
docker新增
Docker CE + buildx + compose v2 plugin (官方 apt repo)
APT 套件
docker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
工具與設定
  • docker 服務
  • 使用者在 docker 群組
uv新增
uv: Python 版本與套件管理 (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • uv
node新增
nvm (最新版) + Node.js LTS
工具與設定
  • nvm
  • Node.js LTS (nvm default)
  • npm
ai-npm新增
Codex CLI 與 ccusage (npm 全域套件)
依賴 node
工具與設定
  • Codex CLI (@openai/codex)
  • ccusage
pi新增
pi coding agent (@earendil-works/pi-coding-agent) + ripgrep, fd
依賴 node
APT 套件
ripgrepfd-find
工具與設定
  • fd 指令 (連結到 fdfind)
  • pi coding agent
cz新增
commitizen (uv tool)
依賴 uv
工具與設定
  • commitizen (cz)
herdr新增
herdr 終端機 agent multiplexer (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • herdr

tsenghc-full

完整版:實驗主機
安裝
curl -fsSL https://envkit.tsenghc.me/tsenghc/full | bash
只看 inventory 與執行計畫,不做任何變更
curl -fsSL https://envkit.tsenghc.me/tsenghc/full | bash -s -- --list
17module42apt 套件24工具與設定+2比 std 多的 module
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
APT 套件
build-essentialgitcurlwgetvimunzipca-certificatesgnupgjqbash-completion
工具與設定
  • PATH 加入 ~/.local/bin
  • bash-completion 載入
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
APT 套件
fastfetchinxi
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
APT 套件
chrony
工具與設定
  • 時區 Asia/Taipei
  • envkit NTP 來源與 minsources
  • chrony 服務
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
APT 套件
bind9-dnsutilsmtr-tinytraceroutetcpdumpnmapnetcat-openbsdsocatiproute2net-toolsethtoollsofiftopnloadiputils-pingiputils-arpingiputils-tracepathhping3whoisipcalc
gh
GitHub CLI (官方 apt repo)
APT 套件
gh
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
工具與設定
  • git 身分 (user.name / user.email)
  • git 預設值 (main, pull.rebase=false, vim)
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
工具與設定
  • Claude Code
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)
工具與設定
  • codebase-memory-mcp
docker
Docker CE + buildx + compose v2 plugin (官方 apt repo)
APT 套件
docker-cedocker-ce-clicontainerd.iodocker-buildx-plugindocker-compose-plugin
工具與設定
  • docker 服務
  • 使用者在 docker 群組
uv
uv: Python 版本與套件管理 (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • uv
node
nvm (最新版) + Node.js LTS
工具與設定
  • nvm
  • Node.js LTS (nvm default)
  • npm
ai-npm
Codex CLI 與 ccusage (npm 全域套件)
依賴 node
工具與設定
  • Codex CLI (@openai/codex)
  • ccusage
pi
pi coding agent (@earendil-works/pi-coding-agent) + ripgrep, fd
依賴 node
APT 套件
ripgrepfd-find
工具與設定
  • fd 指令 (連結到 fdfind)
  • pi coding agent
cz
commitizen (uv tool)
依賴 uv
工具與設定
  • commitizen (cz)
herdr
herdr 終端機 agent multiplexer (官方安裝程式, 裝在 ~/.local/bin)
工具與設定
  • herdr
tshark新增
tshark 封包分析 + 非 root 擷取權限 (debconf 預先回答, 全程不互動)
APT 套件
tshark
工具與設定
  • 使用者在 wireshark 群組
ollama新增
Ollama 本地 LLM (官方安裝程式, systemd 服務只綁 127.0.0.1:11434)
APT 套件
zstd
工具與設定
  • ollama
  • ollama 服務

Tier 對照

三個 tier 的 module 組成;後一級一定包含前一級。空白的 module 不在任何 tier 預設中,可以用 --with 加入。

modulelitestdfull
base
基礎工具 (build-essential, git, curl, jq, bash-completion) 與 ~/.local/bin PATH
hosts
依 overlay 寫入內部主機的 /etc/hosts 對應 (僅在使用 --overlay 時執行)
sysinfo
系統資源概況工具 (fastfetch, inxi); 執行結束時印出主機概況
chrony
時區 Asia/Taipei + chrony 校時 (drop-in 設定, 停用 Ubuntu 預設 pool)
net
網路查測工具組 (dig, mtr, tcpdump, nmap, socat, hping3 ...)
tshark
tshark 封包分析 + 非 root 擷取權限 (debconf 預先回答, 全程不互動)
gh
GitHub CLI (官方 apt repo)
docker
Docker CE + buildx + compose v2 plugin (官方 apt repo)
git
git 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor
claude
Claude Code (官方原生安裝程式, 裝在 ~/.local/bin)
uv
uv: Python 版本與套件管理 (官方安裝程式, 裝在 ~/.local/bin)
node
nvm (最新版) + Node.js LTS
ai-npm
Codex CLI 與 ccusage (npm 全域套件)
pi
pi coding agent (@earendil-works/pi-coding-agent) + ripgrep, fd
cz
commitizen (uv tool)
herdr
herdr 終端機 agent multiplexer (官方安裝程式, 裝在 ~/.local/bin)
ollama
Ollama 本地 LLM (官方安裝程式, systemd 服務只綁 127.0.0.1:11434)
codebase-memory
codebase-memory-mcp 程式碼知識圖譜 MCP server (只裝 binary, 不改任何 agent 設定)

執行後的人工待辦

腳本結束時會依實際執行的 module 列出這些項目。

base

  • 放置 SSH 金鑰與 ~/.ssh/config
  • 若主機僅開放 80/443: git 改用 SSH over 443 或 HTTPS
  • source ~/.bashrc 使 PATH 生效

hosts

  • 需要存取內部 git 服務時: gh auth login --hostname <內部 git 主機> --git-protocol https

tshark

  • 重新登入 (或 newgrp wireshark) 使 wireshark 群組生效

gh

  • gh auth login --hostname github.com --git-protocol https --web && gh auth setup-git

docker

  • 重新登入 (或 newgrp docker) 使 docker 群組生效

claude

  • claude 首次登入授權

node

  • source ~/.bashrc 使 nvm 生效

ai-npm

  • codex 首次登入授權

pi

  • pi 首次登入: 執行 pi 後輸入 /login, 或設定 ANTHROPIC_API_KEY 等環境變數

cz

  • 在專案中放入 .cz.toml 或執行 cz init 建立 commitizen 設定

ollama

  • ollama pull <model> 下載模型; 要讓 pi 用本地模型可執行 ollama launch pi --config
  • 自訂 ollama 設定請用 sudo systemctl edit ollama (重跑官方安裝程式會覆寫 unit 檔)

codebase-memory

  • codebase-memory-mcp 以 --skip-config 安裝, 需要時再自行設定各 agent 的 MCP

固定版本

寫進文件的指令請使用固定版本,並在執行前比對 sha256。

尚未發佈任何固定版本。

內部設定(overlay)

公開的 variant 不含任何內部網路資訊。需要內部設定的主機,先執行公開 variant,再依 KB 44.05 取得 overlay 檔,以 --overlay <檔案> 重跑同一個 variant。