Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/Bhupesh-V/dotman

dotman is a simple, elegant & easy to use dotfiles manager πŸ––πŸ½
https://github.com/Bhupesh-V/dotman

bash configuration-files dotfiles dotfiles-installer dotfiles-linux dotfiles-macos dotfiles-manager dotman hacktoberfest shell shell-script shellscript

Last synced: about 2 months ago
JSON representation

dotman is a simple, elegant & easy to use dotfiles manager πŸ––πŸ½

Awesome Lists containing this project

README

        





build status badge


License: MIT


platform: linux and macos


bash love


Website Status dotman


Twitter: bhupeshimself



✨ Learn how I made dβ—‹tman from scratch ✨


## Demo πŸ”₯


dotman-demo

## 🌠 Features

* **Single file manager** (Portable)
* **No config files for dotman** (No `.dotrc` 🀦)
* **No useless arguments** (single command 😎)
* **Easy to use**
* **Extendable βš’**, _Available as a Template_
* **Fewer Dependencies**
- **`Git`**
- **`Bash>=3`**

## Wait! it's not written in a fancy language

And it doesn't have to be. Why?

- Your focus should be on your **dot files & scripts** rather than on a dotfiles manager or how to use it.(_Wait I forgot what was the command to push files? Is it `dt push` or `dt --push`_)
- Creating a overly-complex solution for something simple should not be the goal.

## πŸ’  Installation

### via `curl` ➰

```shell
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Bhupesh-v/dotman/master/tools/install.sh)"
```

### via `wget` πŸ“₯

```shell
sh -c "$(wget -O- https://raw.githubusercontent.com/Bhupesh-v/dotman/master/tools/install.sh)"
```

### via `httpie` πŸ₯§

```shell
sh -c "$(http --download https://raw.githubusercontent.com/Bhupesh-v/dotman/master/tools/install.sh)"
```

> **dotman** is installed by default in `/home/username/dotman`, your `$HOME` directory.

Now run **`dotman`** for 1st time set-up.

1. Enter repository URL (without `.git`).
2. Specify folder you want to clone the dotfile repo to (relative to `/home/username/`).
3. Open up new terminal πŸš€.

### Manually (you ok ?)

1. Just grab **dotman.sh** from [Releases πŸ”Ό](https://github.com/Bhupesh-V/dotman/releases) and store it anywhere on your system.
2. Change file permissions to be πŸƒ executable.
```bash
chmod +x dotman.sh
```
3. Set alias for dotman _(optional)_. Alternatively modify your `.bash_aliases` file.
```bash
alias $(pwd)/dotman.sh=dotman
```
4. Run **dotman**.
```bash
dotman.sh
```

## Usage

Just run **`dotman`** anywhere in your terminal πŸ––.

```bash
dotman
```
Leave the rest to it.

## What else πŸ‘€

dotman exports 2 variables in your default shell config (`bashrc`, `zshrc` etc):

1. `DOT_DEST`: used for finding the location of dotfiles repository in your local system.
2. `DOT_REPO`: the url to the remote dotfile repo.

You can change these manually if any one of the info changes.

## Author

πŸ€“ **Bhupesh Varshney**

[Web](https://bhupesh-v.github.io) | [Twitter: @bhupeshimself](https://twitter.com/bhupeshimself) | [DEV: bhupesh](https://dev.to/bhupesh)

[![forthebadge](https://forthebadge.com/images/badges/built-with-love.svg)](https://forthebadge.com)

## ☺️ Show your support

Support me by giving a ⭐️ if this project helped you! or just [![Twitter URL](https://img.shields.io/twitter/url?style=social&url=https%3A%2F%2Fgithub.com%2FBhupesh-V%2Fdotman%2F)](https://twitter.com/intent/tweet?url=https://github.com/Bhupesh-V/dotman&text=dotman%20via%20@bhupeshimself)


Donate using Liberapay


Support on ko-fi

## πŸ“ License

Copyright Β© 2020 [Bhupesh Varshney](https://github.com/Bhupesh-V).

This project is [MIT](https://github.com/Bhupesh-V/dotman/blob/master/LICENSE) licensed.

## πŸ“ Changelog

See the [CHANGELOG.md](CHANGELOG.md) file for details.

## πŸ‘‹ Contributing

Please read the [CONTRIBUTING](CONTRIBUTING.md) file for the process of submitting pull requests to us.

## ✨ Contributors

Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):



fpitters

πŸ›

Thiago Adomaitis

πŸ› πŸ’»

Scott

πŸ›

Prajeshpuri

πŸ’»

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!