refactor(modules): 提取 BaseModule,将基础包和系统文件移入模块

This commit is contained in:
2026-03-26 14:39:24 +08:00
parent 6ea16d27e1
commit afeaddca12
2 changed files with 48 additions and 37 deletions
+2 -37
View File
@@ -10,8 +10,8 @@ Arch Linux 声明式系统配置 — decman
import os
import decman
from decman import File
import modules.base
import modules.docker
import modules.locale
import modules.zsh
@@ -24,46 +24,11 @@ assert decman.systemd is not None
USERNAME = os.environ.get("SUDO_USER")
if not USERNAME:
raise decman.SourceError("请使用 sudo decman 运行")
HOME = f"/home/{USERNAME}"
# ── 系统文件(/etc/)──────────────────────────────────────────
decman.files["/etc/pacman.d/mirrorlist"] = File(
source_file="./system/etc/pacman.d/mirrorlist",
)
decman.files["/etc/sudoers.d/10-wheel"] = File(
source_file="./system/etc/sudoers.d/10-wheel",
permissions=0o440,
)
# ── Modules ──────────────────────────────────────────────────
decman.modules += [
modules.base.BaseModule(),
modules.locale.LocaleModule(),
modules.docker.DockerModule(),
modules.zsh.ZshModule(USERNAME),
]
# ── Pacman 包(官方仓库)──────────────────────────────────────
decman.pacman.packages |= {
"base-devel",
"bat",
"bun",
"curl",
"fd",
"git",
"mise",
"neovim",
"nodejs",
"ripgrep",
"sudo",
"trash-cli",
"vim",
"wget",
"zoxide",
}
# ── AUR 包 ────────────────────────────────────────────────────
decman.aur.packages |= {
"decman",
"yay",
}