import decman from decman.plugins import pacman class DevTools(decman.Module): def __init__(self): """Base packages that should never be uninstalled""" super().__init__("dev-tools") @pacman.packages def pkgs(self) -> set[str]: return { "act", "cronie", "cloc", "docker", "docker-buildx", "docker-compose", "filezilla", "git-lfs", "hugo", "kitty", "lazygit", "meld", "minisign", "python-argcomplete", "python-black", "python-build", "python-colorama", "python-install", "python-jsonschema", "python-pip", "python-numpy", "python-scipy", "python-sympy", "serpl", "terminator", } def directories(self) -> dict[str, decman.Directory]: return { "~/.config/lazygit": decman.Directory("./config/lazygit"), "~/.config/kitty": decman.Directory("./config/kitty"), } def files(self) -> dict[str, decman.File]: return {"~/.indentconfig.yaml": decman.File("./linters/indentconfig.yaml")}