Skip to content

shkm/dobbin

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

🐴 dobbin

A script managing workhorse.

Description

Dobbin is a simple package manager for miscellaneous binaries and scripts. Given a git repository and a list of files, the repository will be cloned and the files symlinked to a central bin directory.

One benefit of this approach is that there's no need for projects to explicitly support Dobbin, e.g. with a package.json or something, because you define what you want to symlink yourself.

I wrote this primarily so I don't have to manually pull down various scripts into my dotfiles, and can instead store a simple list of those packages.

Installation

Since Dobbin is just a script, you can bootstrap it!

\curl -sS https://raw.githubusercontent.com/shkm/dobbin/master/dobbin | \
bash -s add https://github.com/shkm/dobbin dobbin

Now just add $HOME/.dobbin/bin to your $PATH.

Usage

dobbin install

Installs packages listed in your $HOME/.dobbin/package_list.

dobbin add repo_url path [path...]

Adds the package to your package list and installs it.

Each path passed is relative to the repository and will be symlinked into $HOME/.dobbin/bin.

Example

This will clone the Dobbin repo to $HOME/.dobbin/packages and symlink the dobbin file to $HOME/.dobbin/bin.

dobbin add https://github.com/shkm/dobbin dobbin

dobbin remove repo_url

not implemented yet

Removes the entire package from your package list.

This will remove the git repository and all symlinked files.

dobbin update

not implemented yet

Updates all packages in your package list, adding any symlinks where necessary.

dobbin clean

not implemented yet

Removes any packages that aren't in your package list.

  • When a package is no longer listed at all, the symlinks and repo will be deleted.
  • When a package is in the list, but extraneous symlinks are detected, just those symlinks will be deleted.

dobbin edit

not implemented yet

Opens the package list in your editor.

TODO

  • Implement a help command
  • Implement remove command
  • Implement update command
  • Implement clean command
  • Implement edit command

About

🐴 A script managing workhorse.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages