1 个不稳定版本

0.1.0 2022年4月1日

#755操作系统

MIT 许可证

33KB
705 代码行

Santa

Santa 帮助您在多个平台和软件包管理器上安装软件包。

Santa 可能对您有帮助,如果您...

...您经常使用默认未安装的工具

您是一位现代开发者。您可以使用 grep,当然,但您更愿意使用 ripgrep。问题是,它没有安装。所以您必须自己安装它 - 使用您可用的任何软件包管理器。

Santa 提供一个命令来安装您自己的“标准开发者工具包”中的软件包。

...您经常使用运行不同操作系统或系统架构的不同计算机

当您登录到一台机器时,它没有您喜欢的工具,这不是很烦人吗?或者,您的工具无法使用 apt 安装,但当然,您不记得这一点...所以您浪费了 10 分钟查找您可以从哪里安装它。

Santa 简化了此工作流程。Santa 知道您的软件包可以从哪里安装,并将从最佳可用位置安装它。

配置

Santa 使用配置文件来确定您想要安装的软件包以及软件包管理器的优先级顺序。使用此配置文件,Santa 可以自动使用您首选的软件包管理器安装软件包。

配置文件存储在 ~/.config/santa/config.yaml。下面是一个示例

sources:
  - brew
  - aur
  - cargo
  - npm
  - apt
  - nix
  - scoop
packages:
  - bat
  - bottom
  - chezmoi

开发待办事项

  • 配置应该是应用程序传递的主要内容。数据应加载到配置中。
  • 对于软件包的每个 elf 重写(例如,git-delta 在 scoop 中是 delta)没有一致地处理。
  • 集中加载给定软件包的正确 PackageData 的逻辑,考虑到该软件包配置为使用的 elf。应该有一个单一的位置来回答问题,“这个软件包是否启用?” 那应该是配置。应用程序应该加载数据,使用它来初始化配置(即合并两者)

命令

构建

cargo build [--release]

检查未使用依赖项

首先,安装 cargo-udeps

cargo install cargo-udeps --locked

然后运行它

cargo +nightly udeps

依赖项

~8–18MB
~257K SLoC