waynr / ghmd

gotta have my dots (glorified symlink manager)

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ghmd - Gotta Have My Dots

ghmd is a glorified symlink manager.

How it works

ghmd started off as an attempt to add support for multiple dotfile repos to badm. Things got a little out of hand, so I have unofficially forked that repo. Very little of the original code or command line interface remains.

It's essentially a glorified bespoke/fancy ln tool. It moves files/directories from path A to path B then creates a symbolic link at path A pointing to path B.

Reasons you should use this tool:

  • crickets

Reasons you shouldn't use this tool:

  • I adapted it for my own use case, not yours.
  • It's not written in your favorite programming language.
  • I deleted all the tests that are in badm.
  • You have better things to do than sit in front of your computer moping over dot files lost to the great trash bin in the sky.

Dotfiles are tracked in $HOME/.config/ghmd/config.toml to enable all known dotfiles to be deployed in one swift command line call.

Quick Demo

TODO (more like TODONT)

Commands

  • ghmd stow <symlink_dir> <dotfiles_dir> <file>...
    • Move each specified <file>... from <symlink_dir> to <dotfiles_dir>.
      • Fail <symlink_dir> is not a parent path of any <file>... paths.
    • Create a symlink pointing to the new location in <dotfiles_dir> from the old location in <symlink_dir>.
  • ghmd deploy <file>...
    • Deploy symlinks to each <file>... to the configured <symlink_dir>.
  • ghmd restore <dotfiles_dir> <file>...
    • Restore each specified <file>... from the specified <dotfiles_dir> to the configured <symlink_dir>.

Roadmap

There is no roadmap. Only what you see before you.

Contributing

Pull requests, issues/feature requests, and bug reports will be approached with trepidation and a mild sense of exhaustion!

Similar Projects

License

This project is made available under the MIT license. See the LICENSE file for more information.

About

gotta have my dots (glorified symlink manager)

License:MIT License


Languages

Language:Rust 100.0%