#dotfiles #git-repository #binary #cross-platform #go #repo #wherever

app bellboy

A binary for managing dotfiles cross-platform. Take your dotfiles wherever you go!

3 unstable releases

0.2.0 Sep 14, 2023
0.1.0-pre Sep 14, 2023

#552 in Configuration

Download history 3/week @ 2024-02-15 6/week @ 2024-02-22 1/week @ 2024-02-29 50/week @ 2024-03-28 20/week @ 2024-04-04

70 downloads per month

GPL-3.0 license

97KB
2K SLoC

Bellboy 🛎️🧳

[!WARNING] This is all heavily WIP! There are bugs and sharp edges that can eat your dotfiles.

A binary for managing dotfiles cross-platform. Take your dotfiles wherever you go!

Bellboy is a Git repository manager oriented towards cross-platform dotfiles. It draws heavy inspiration from vcsh, which focuses on managing local repositories, and otherwise leaves the history of your dotfiles repository(ies) to Git. Here's an example of Bellboy (the bb binary) in action:

# Start from scratch by adding some existing repos of yours. Since you probably
# have a normal Git repo or two lying around (which would be "standalone" repos
# in Bellboy terms), let's use those!
$ bb standalone register ./my-first-repo
$ bb standalone register ./my-second-repo

# 👀 We can see that Bellboy registered these repos with a `list` subcommand:
$ bb list

# Run `git push` on each repo we've configured in Bellboy.
$ bb for-each -- git push

Ready to dive in deeper? You should try:

  • The User Guide for guide-level documentation.
  • See the output bb help for reference-level documentation, per command and subcommand.

Installation

For now, you may build Bellboy via Cargo:

$ cargo install bellboy

Binary distributions in GitHub and your favorite package manager(s) are coming soon (see also the roadmap)!

Roadmap

See Bellboy's milestones in GitHub for Bellboy's current roadmap.

Contributing

See the Contributor Book!

Credits

Much of the inspiration for this project's design of overlay repos is from vcsh, which you are encouraged to check out if you always use bash as your shell, or always have it available in your command-line.

License

This project uses GPL 3.0. If you're curious about rationale, check out the "License: why GPL 3.0?" page from the Contributor Book.

Dependencies

~8–19MB
~286K SLoC