From ba1bf38c71395c18e5c7be8a61add556e9c9661e Mon Sep 17 00:00:00 2001 From: imbytecat Date: Thu, 26 Mar 2026 15:53:53 +0800 Subject: [PATCH] =?UTF-8?q?refactor(modules):=20=E6=8B=86=E5=88=86?= =?UTF-8?q?=E5=BC=80=E5=8F=91=E5=B7=A5=E5=85=B7=E4=B8=BA=E7=8B=AC=E7=AB=8B?= =?UTF-8?q?=20DevModule=EF=BC=8C=E6=9B=BF=E6=8D=A2=20DockerModule?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/base.py | 14 -------------- modules/dev.py | 41 +++++++++++++++++++++++++++++++++++++++++ source.py | 4 ++-- 3 files changed, 43 insertions(+), 16 deletions(-) create mode 100644 modules/dev.py diff --git a/modules/base.py b/modules/base.py index 211cf37..6a54612 100644 --- a/modules/base.py +++ b/modules/base.py @@ -22,25 +22,11 @@ class BaseModule(Module): def pacman_packages(self) -> set[str]: return { "base-devel", - "bat", - "btop", - "bun", "curl", - "eza", - "fastfetch", - "fd", "git", - "lazygit", - "micro", - "mise", - "neovim", - "nodejs", - "ripgrep", "sudo", - "trash-cli", "vim", "wget", - "zoxide", } @aur_packages diff --git a/modules/dev.py b/modules/dev.py new file mode 100644 index 0000000..4f32b28 --- /dev/null +++ b/modules/dev.py @@ -0,0 +1,41 @@ +import decman +from decman import Module +from decman.plugins.pacman import packages as pacman_packages + +BUN_GLOBAL_PACKAGES = [ + "@code-yeongyu/comment-checker", + "@mariozechner/pi-coding-agent", + "opencode-ai", +] + + +class DevModule(Module): + def __init__(self, user: str): + super().__init__("dev") + self.user = user + + @pacman_packages + def pacman_packages(self) -> set[str]: + return { + "bat", + "biome", + "btop", + "bun", + "eza", + "fastfetch", + "fd", + "lazygit", + "micro", + "mise", + "neovim", + "nodejs", + "ripgrep", + "trash-cli", + "uv", + "yaml-language-server", + "zoxide", + } + + def on_change(self, store): + for pkg in BUN_GLOBAL_PACKAGES: + decman.prg(["su", "-", self.user, "-c", f"bun add -g {pkg} --trust"]) diff --git a/source.py b/source.py index 3bba378..9bdcd78 100644 --- a/source.py +++ b/source.py @@ -3,7 +3,7 @@ import os import decman import modules.base -import modules.docker +import modules.dev import modules.locale import modules.zsh @@ -17,7 +17,7 @@ if not USERNAME: decman.modules += [ modules.base.BaseModule(), + modules.dev.DevModule(USERNAME), modules.locale.LocaleModule(), - modules.docker.DockerModule(USERNAME), modules.zsh.ZshModule(USERNAME), ]