1 unstable release

0.1.0 Dec 14, 2023

#656 in Configuration

MIT license

17KB
472 lines

psync crates.io version crates.io downloads

A tool to sync software across devices

Installation

cargo install psync

Usage

~/.config/psync/config.toml

[homebrew]
taps = [
    "hashicorp/tap",
    { name = "messense/macos-cross-toolchains", on = "macos" },
]
forumale = [
    "neovim",
    { name = "trash", on = "macos" },
]
# You do not need to specify `on` for `casks` since casks are only for macOS
casks = [
    "alacritty",
    "discord",
]

[cargo]
crates = [
    "cargo-update",
    "suggest-command-not-found",
]

[snap]
snaps = [
    { name = "alacritty", classic = true },
    "discord",
]

When you run psync, it automatically installs only specified, not-installed packages.

A full example is placed here.

Contribution

Contributions, including issues and pull requests, are very welcome.

Build

$ cargo build

Test

$ cargo test

Publish

GitHub Releases

$ git tag v0.1.0
$ git push origin v0.1.0

crates.io

$ cargo publish

Dependencies

~2.8–4.5MB
~82K SLoC