envkit
Ubuntu 新主機初始化。挑一個方案,一行 curl 完成建置;已經存在的項目會自動跳過。
v0.1.0+f554fd9 · 建置於 2026-09-23 17:31 CST · commit f554fd9fc15c
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 套件
fastfetchinxichrony
時區 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-tracepathhping3whoisipcalcgh
GitHub CLI (官方 apt repo)
APT 套件
ghgit
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 套件
fastfetchinxichrony
時區 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-tracepathhping3whoisipcalcgh
GitHub CLI (官方 apt repo)
APT 套件
ghgit
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 套件
fastfetchinxichrony
時區 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-tracepathhping3whoisipcalcgh
GitHub CLI (官方 apt repo)
APT 套件
ghgit
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 套件
fastfetchinxichrony
時區 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-tracepathhping3whoisipcalcgh
GitHub CLI (官方 apt repo)
APT 套件
ghgit
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 套件
fastfetchinxichrony
時區 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-tracepathhping3whoisipcalcgh
GitHub CLI (官方 apt repo)
APT 套件
ghgit
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 套件
fastfetchinxichrony
時區 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-tracepathhping3whoisipcalcgh
GitHub CLI (官方 apt repo)
APT 套件
ghgit
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 加入。
| module | lite | std | full |
|---|---|---|---|
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 ...) | ● | ● | ● |
tsharktshark 封包分析 + 非 root 擷取權限 (debconf 預先回答, 全程不互動) | ● | ||
ghGitHub CLI (官方 apt repo) | ● | ● | ● |
dockerDocker CE + buildx + compose v2 plugin (官方 apt repo) | ● | ● | |
gitgit 全域設定: persona 的身分 (僅在尚未設定時寫入), defaultBranch, pull, editor | ● | ● | ● |
claudeClaude Code (官方原生安裝程式, 裝在 ~/.local/bin) | ● | ● | ● |
uvuv: Python 版本與套件管理 (官方安裝程式, 裝在 ~/.local/bin) | ● | ● | |
nodenvm (最新版) + Node.js LTS | ● | ● | |
ai-npmCodex CLI 與 ccusage (npm 全域套件) | ● | ● | |
pipi coding agent (@earendil-works/pi-coding-agent) + ripgrep, fd | ● | ● | |
czcommitizen (uv tool) | ● | ● | |
herdrherdr 終端機 agent multiplexer (官方安裝程式, 裝在 ~/.local/bin) | ● | ● | |
ollamaOllama 本地 LLM (官方安裝程式, systemd 服務只綁 127.0.0.1:11434) | ● | ||
codebase-memorycodebase-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。