https://github.com/0xfederama/mindot
Simple and minimal dotfiles manager
https://github.com/0xfederama/mindot
dotfiles hacktoberfest rust
Last synced: 4 months ago
JSON representation
Simple and minimal dotfiles manager
- Host: GitHub
- URL: https://github.com/0xfederama/mindot
- Owner: 0xfederama
- Created: 2023-03-17T16:32:01.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2023-05-05T16:06:08.000Z (almost 2 years ago)
- Last Synced: 2024-08-13T07:15:44.969Z (8 months ago)
- Topics: dotfiles, hacktoberfest, rust
- Language: Rust
- Homepage:
- Size: 130 KB
- Stars: 12
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- jimsghstars - 0xfederama/mindot - Simple and minimal dotfiles manager (Rust)
README
# MINimal DOTfiles manager
Mindot is a simple and minimal dotfiles manager that copies the dotfiles in the current directory to share them.
```
$ mindot --helpUsage: mindot
Commands:
add Add files or directories to the list
del Delete files or directories from the list
backup Backup the files, copying from the home directory to path
restore Restore the files from cwd to the home directory
list List the files to back up
help Print this message or the help of the given subcommand(s)Options:
-h, --help Print help
-V, --version Print version
```Mindot works by saving the paths to the dotfiles in `~/.config/mindot/files.json` and uses `backup` (to copy them from the home to the directory you specify) or `restore` (to copy them from the current directory to the home).
Sometimes it has to be executed with `sudo`, I honestly don't know why.
## Example
My use case is:
- add the dotfiles I want to backup using `mindot add file1 file2`
- use `mindot backup ` to copy them elsewhere and later push them to my github [repo](https://github.com/0xfederama/dotfiles)
- then, when I need to use them on another machine, I simply clone my repo there and use `mindot restore` to copy them back.## Installation
Download the latest binaries [here](https://github.com/0xfederama/mindot/releases).## Build
In order to build this project you have to have Rust istalled on your machine. After that, it's as simple as:
```bash
git clone https://github.com/0xfederama/mindot.git
cd mindot
cargo build
```## Disclaimer
Yes, the files are duplicated, but that's good in some cases, for example when you want to modify them only for sharing.Please keep in mind that I made this project just to learn Rust, so something may be off or it could be useless to you. Anyway, feel free to reach me if you have code reviews or improvement for the program.