"Dotfile"
- 工作站 dotfile 跨發行版落地
手上 dotfile 是照 Arch 寫的、要在 client 常見的 Debian/Ubuntu 機器上還原工作環境時回來讀 — 哪些綁 pacman、哪些能直接共用
- 安裝過程用到的基礎操作
照這個系列操作時撞到 su -、nano 的 Ctrl 鍵、檔名與指令的大小寫、或 > | && $() 這些沒見過的基礎操作、需要先弄懂才不被擋住時讀
- Linux 桌面的故障隔離模型
從 Windows 轉過來想知道 Linux 桌面掛了會不會整台崩潰時讀 — kernel vs userspace 隔離、compositor 是 userspace process、TTY 救生通道與其限制
- Devcontainer 與 Nix:容器化和宣告式的開發環境
團隊開發環境要標準化、或評估 devcontainer 和 nix 跟個人 dotfile 怎麼共存時回來讀
- Hyprland 安裝與環境建置
要在 Arch Linux 上從零安裝 Hyprland 桌面環境時回來讀
- Lua Scripting Language(腳本語言)
在 Hyprland 或 Neovim 配置檔遇到 Lua 語法看不懂時回來讀 — 配置檔需要的最小 Lua 知識
- Terminal Emulator 配置
選 terminal emulator 時需要比對配置格式和跨平台能力、或想把配色和字型統一管理時回來讀
- Zsh 模組化配置
.zshrc 長到數百行不敢動時回來讀
- 拍照 vs 重建指令:環境重建的兩種思路
猶豫該用 VM 快照還是 dotfile 重建來管理環境時回來讀
- 桌面 Shell 元件:狀態列、啟動器與通知
Hyprland 桌面要拼哪些元件、各元件的配置檔怎麼寫時回來讀
- 浮動式 vs 平鋪式視窗管理
在手動貼齊(Rectangle)跟自動平鋪之間猶豫、或想評估自己的工作型態適不適合平鋪式 WM 時回來讀
- 管理策略與選型
要選 dotfile 管理工具時回來讀 — bare repo、stow、chezmoi 的適用場景與選型判讀
- 環境可重現性與配置分類
想釐清哪些配置該進 dotfile repo、哪些不該進時回來讀
- 對齊 prod 的 runtime container
要開發一個線上跑 PHP 7.2 / MySQL 5.7 舊環境的專案、或要在本機重現線上事故時回來讀 — 對齊哪些維度、怎麼從線上抄設定、什麼時候值得
- Linux 安裝選項判讀
在 Linux 安裝程式面對 locale、網路、磁碟分割、檔案系統、bootloader 等選項、需要判斷依據而非靠預設值硬選時回來讀
- 常見故障場景與恢復操作
Hyprland 黑屏、waybar 消失、畫面凍結、記憶體爆掉或 config 寫錯導致進不了桌面時,按症狀查恢復操作
- Bootstrap Script 與套件清單管理
寫 dotfile 的 install script、或整理「這台機器裝了什麼」的套件清單時回來讀
- Dotfile 跟 Infra IaC 的平行關係
想理解 dotfile 管理在工程實踐裡的定位、或釐清「重建指令」跟「備份」的差異時回來讀
- GNU Stow
dotfile 管理文章裡提到 stow、symlink、package 看不懂時回來讀 — stow 的核心概念和常用指令
- Hyprland 核心配置
Hyprland 的配置檔該怎麼組織、monitor 怎麼設定、keybind 怎麼設計、輸入裝置和環境變數怎麼配時回來讀
- macOS 視窗管理工具鏈
macOS 上想用鍵盤管理視窗、不確定該用哪個工具時回來讀
- Multiplexer:tmux vs zellij
在終端機裡切分 pane、管理多個 session、SSH 斷線後保持工作時回來讀 — tmux 和 zellij 的配置與選型
- PATH、Plugin 與 Prompt
PATH 越來越長不知道怎麼管、要選 zsh plugin manager、或想設計 prompt 時回來讀
- 配色系統、鎖屏與 GTK 主題
桌面配色散亂看起來雜、或要換主題不知道該改哪些檔案時回來讀
- 商業環境的開發環境配置管理
企業的開發環境標準化要走到什麼程度、什麼訊號該從個人 dotfile 往團隊層級推進
- 跨平台共用一個 Repo
macOS 跟 Linux 要共用同一個 dotfile repo、不想維護兩份時回來讀
- dotfile 跨進 runtime container
想在對齊 prod 的 container 裡用自己順手的 shell / vim、又不想把工具裝進 image 破壞 parity 時回來讀 — 在 running container 裝開發工具、跟 runtime 分層
- 環境 as code 的三個尺度
搞不清楚 dotfile / Dockerfile / IaC 的分界、或某個 Dockerfile 到底該放個人 repo 還是專案 repo 時回來讀 — 環境 as code 的個人/應用/組織尺度與歸屬判準
- 最小安裝後的工具驗證與補足
最小化安裝的 Linux 裝完發現連 sudo 或 which 都沒有、bootstrap 腳本第一行就炸、需要先確認系統缺哪些必要工具再補時回來讀
- 日誌判讀與診斷工具
知道桌面出了問題但不確定原因時回來讀 — journalctl、dmesg、hyprctl、systemctl 的使用方式和常見 log pattern
- 環境建置的操作順序
第一次從零建立 Linux 或 macOS 開發環境、不確定先做什麼後做什麼時讀 — 依賴順序路線圖,每一步附對應模組連結
- Caelestia 總覽:預組裝的 Hyprland 桌面 Shell
考慮用 Caelestia 取代手動拼裝 waybar+wofi+mako、或評估預組裝桌面 shell 的 trade-off 時回來讀
- Linux Tiling WM 生態
要在 Linux 上選 tiling WM(i3/sway/Hyprland/bspwm)或理解 Wayland vs X11 差異時回來讀
- Neovim 配置
neovim 配置該怎麼組織進 dotfile、要不要用 LazyVim 等預設配置包時回來讀
- Rice(桌面視覺客製化)
Linux 桌面文章裡看到 rice / ricing / ricer 不確定意思時回來讀
- Workspace、Window Rules 與外觀
Hyprland 的 workspace 綁定螢幕、window rules 設定浮動例外、外觀動畫調教、layout 選型、autostart 和 plugin 管理時回來讀
- 目錄結構、Git 工作流與常見陷阱
設計 dotfile repo 的目錄結構、或遇到 symlink 衝突和私鑰外洩等問題時回來讀
- 跨機器同步、Secret 管理與環境重建流程
多台機器的 dotfile 怎麼同步、哪些東西不該進 repo 時回來讀
- 乾淨機器驗證:repo 宣告了什麼、機器實際依賴什麼
覺得 dotfile 已經『可重現』、或想確認 install.sh 換一台新機器真的跑得起來時回來讀
- Caelestia 安裝
要在 Arch Linux 上安裝 Caelestia 桌面 shell 時回來讀
- Hyprland VM 環境設定與測試矩陣
要在 VM 裡測試 Hyprland 配置、或判斷某個設定該在 VM 還是實機驗證時回來讀
- Wayland 顯示協議:為什麼 Hyprland 不跑在 X11 上
想理解 Hyprland 底層的圖形架構、Wayland 跟 X11 的差異、XWayland 相容層、以及選 Wayland 還是 X11 工具的取捨時回來讀
- 外部連入、SSH key 與無 key 的 bootstrap 路徑
要從本機終端機操作新裝好的 Linux 機器、設 SSH key 免密碼、或還沒有 key 就想把 dotfile 弄進機器跑 install.sh 時回來讀
- Caelestia 配置
安裝完 Caelestia 後要客製化設定時回來讀
- 可除錯的 bootstrap:把可觀測性內建進安裝腳本
安裝腳本中途失敗卻只能對著終端機捲動瞎找原因、想在 bootstrap 設計階段就讓失敗可定位時回來讀
- 整合式 Shell vs 手動拼裝:實測足跡、失敗半徑、配色一致性與選型判準
在整合式桌面 shell(如 Caelestia)與手動拼裝 waybar+wofi+mako 之間選型、需要實測的資源足跡、失敗半徑與配色一致性數據來判斷時回來讀
- 讓機器跑無人值守的長任務
要讓一台遠端機器在你不盯著時自己跑完一個長任務或 agent、卻被 sudo 密碼 / 斷線就死 / 推不出結果擋住時讀
- AUR(Arch User Repository)
教材裡叫你 paru -S 某個套件、或說某工具「官方 repo 沒有、要走 AUR」、想搞懂 AUR 是什麼、跟官方 repo 差在哪、build-from-source 的代價時讀
- Compositor(合成器)
教材反覆出現 compositor / 合成器、想確認它到底負責什麼、跟 window manager 和桌面環境差在哪時讀 — Wayland 下把畫面合成與視窗管理合一的核心程式
- TTY
恢復操作提到切 TTY 但不知道 TTY 是什麼時讀 — Linux 核心直接提供的純文字終端機介面
- initramfs
看到 ESP 大小要算進 initramfs、或開機卡在掛載 root 之前、不知道 initramfs 是什麼時讀 — 開機初期掛真 root 之前的臨時根檔系統
- UEFI Boot Chain(開機鏈)
在 bootloader 選型(GRUB / EFISTUB / systemd-boot)卡住、或機器重開後找不到 kernel、需要理解韌體怎麼找到並載入系統時讀 — 韌體到 kernel 的交棒過程
- Partition Identification(分區識別,PARTUUID / FSUUID)
在 fstab 或 bootloader 設定要指定一個分區、不確定該用 PARTUUID、UUID 還是 /dev/sda1、或重格式化後系統開不了機時讀 — 分區的穩定識別方式
- 字型的可用集合在 process 啟動時決定
裝了字型但應用程式 / 狀態列 / 通知還是看不到、還是豆腐時回來讀
- Wayland Session Lock(鎖屏安全狀態)
hyprlock / swaylock 畫面卡住、pkill 後進不了桌面、或要在 VM / 自動化環境測試鎖屏時回來讀
- fontconfig — 字型搜尋、匹配與 fallback 服務
不確定 fc-list / fc-match / fc-cache 各做什麼、或 fontconfig fallback 機制怎麼運作時回來讀
- Quickshell(QML 桌面 shell runtime)
rice 模組反覆出現 Quickshell、想確認它跟 Caelestia 誰是框架誰是成品、為什麼裝它要 200 多 MB、pgrep 為什麼找不到它時讀
- logind Session 與 Seat(VT 與輸入權的持有者)
compositor 從 SSH 起不來報 seat / DRM 錯、想確認哪個 session 在 active VT、或 loginctl 輸出跟畫面狀態對不上時讀
- systemd OnFailure(失敗觸發鉤子)
想讓某個服務進 failed 時自動觸發告警或修復動作、或發現 OnFailure 每次重啟中途都觸發把告警洗爆時讀
- systemd drop-in(不改原檔的設定疊加)
想覆寫套件裝的 systemd unit 又不被升級蓋掉、一次對所有 service 套一條設定、或搞不清 systemctl edit 改了哪個檔時讀
- Image Tag Pinning
本機跟線上跑同一份 code 卻行為不一致、或 image 隔幾週重 build 就變樣時回來讀 — 為什麼 tag 要釘到 OS 世代
- glibc 與 musl
考慮用 alpine image 縮小體積、或 PHP/Python 擴充在容器裡行為跟線上不同時回來讀 — 兩種 libc 的差異與怎麼選
- Prod Parity Principle(生產環境對等原則)
要建一個對齊 client 線上環境的本機 runtime、不知道該對齊到多細時回來讀 — parity 對齊的是凍結舊環境而非最新版
- Package Manager 抽象層
同一份 dotfile 要從 Arch 跨到 Debian/macOS、不確定哪些要改哪些能共用時回來讀 — 綁 distro 的只有 package manager 這一層
- 發行版打包粒度
同一個 install 指令在不同發行版拉的套件數差一個量級、或某工具在某發行版根本沒打包時回來讀 — 發行版怎麼切套件顆粒度
- apt 安裝的交易原子性
apt-get install 一次帶多個套件、其中一個名字沒打包卻導致整批都沒裝時回來讀 — apt 為什麼全有或全無