Crates.io | santa |
lib.rs | santa |
version | 0.1.0 |
source | src |
created_at | 2022-04-01 06:40:44.760369 |
updated_at | 2022-04-01 06:40:44.760369 |
description | a tool that manages packages across different platforms |
homepage | |
repository | https://github.com/tylerbutler/santa |
max_upload_size | |
id | 560144 |
size | 69,877 |
Santa helps you install packages across multiple platforms and package managers.
You're a modern developer. You can get by with grep
, sure, but you'd much prefer ripgrep. The problem is, its not
installed. So you're stuck installing it yourself -- using whatever package manager you have available.
Santa gives you one command to install the packages in your own "standard developer toolkit."
Isn't it annoying when you log into a machine and it doesn't have your preferred tools? Or your tool isn't installable using apt, but of course, you don't remember that... So you waste 10 minutes looking up where you can install it from.
Santa simplifies this workflow. Santa knows where your packages can be installed from and will install it from the best one available.
Santa uses a configuration file to determine what packages you want to install and the order of preference of package managers. Using this configuration file Santa can automatically install packages using your preferred package manager.
The configuration file is stored at ~/.config/santa/config.yaml
. Below is an example:
sources:
- brew
- aur
- cargo
- npm
- apt
- nix
- scoop
packages:
- bat
- bottom
- chezmoi
git-delta
is delta
in scoop) aren't handled consistently.PackageData
for a given package taking into account the elf that the
package is configured to use. There should be a single place that answers the question, "is this package enabled?"
That should be the Config. App should load data, use it to initialize config (i.e. merge the two)cargo build [--release]
First, install cargo-udeps:
cargo install cargo-udeps --locked
Then run it:
cargo +nightly udeps