refactor(modules): 添加类型注解并优化 WSL 检测

- 全模块补全类型注解 (files, after_update, on_change)
- docker: 仅在 WSL 环境禁用 networkd-wait-online
- docker: 添加 _is_wsl() 自动检测函数
- zsh/docker: 改进错误输出使用 decman.error
- wsl-init: 统一使用 [[ ]] 并格式化代码
This commit is contained in:
2026-04-09 12:09:00 +08:00
parent 4182b3c300
commit b96e144e82
6 changed files with 54 additions and 35 deletions
+4 -4
View File
@@ -2,13 +2,13 @@ import decman
from decman import File, Module
from decman.plugins.pacman import packages as pacman_packages
BUN_GLOBAL_PACKAGES = [
BUN_GLOBAL_PACKAGES: list[str] = [
"@vue/language-server",
"dockerfile-language-server-nodejs",
"opencode-ai",
]
GO_INSTALL_PACKAGES = [
GO_INSTALL_PACKAGES: list[str] = [
"github.com/code-yeongyu/go-claude-code-comment-checker/cmd/comment-checker@latest",
]
@@ -18,7 +18,7 @@ class DevModule(Module):
super().__init__("dev")
self.user = user
def files(self):
def files(self) -> dict[str, File]:
return {
f"/home/{self.user}/.config/mise/config.toml": File(
source_file="./home/.config/mise/config.toml",
@@ -50,7 +50,7 @@ class DevModule(Module):
"zellij",
}
def after_update(self, store):
def after_update(self, store: object) -> None:
failures: list[str] = []
for pkg in BUN_GLOBAL_PACKAGES:
try: