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

https://github.com/yashkathe/dot-files-manager

Easy to use python script to track all your Dot Files
https://github.com/yashkathe/dot-files-manager

dot-files dot-files-manager linux mac-os unix

Last synced: 2 months ago
JSON representation

Easy to use python script to track all your Dot Files

Awesome Lists containing this project

README

          

# Dotfiles Manager

A simple script to **sync dotfiles and directories** to a central _emit_folder_ for backup or management.

![GitHub license](https://img.shields.io/github/license/yashkathe/Dot-Files-Manager)
![GitHub repo size](https://img.shields.io/github/repo-size/yashkathe/Dot-Files-Manager)
![Platform linux](https://img.shields.io/badge/platform-Linux-important)
![Top Language](https://img.shields.io/github/languages/top/yashkathe/Dot-Files-Manager)

![GitHub issues](https://img.shields.io/github/issues/yashkathe/Dot-Files-Manager)
![GitHub pull requests](https://img.shields.io/github/issues-pr/yashkathe/Dot-Files-Manager)
![GitHub last commit](https://img.shields.io/github/last-commit/yashkathe/Dot-Files-Manager)

output image

## Usage

### 1. Clone the Repository

```bash
git clone https://github.com/yashkathe/Dot-Files-Manager.git
```

### 2. Installation

```bash
make install
```

### 3. Populate d_manager.json

IMPORTANT: It is expected that the emit_directory should be located in current user's home directory

```bash
make edit # edit the config file
```

```text
"dot_files": {
"directories": [
*path of directories to track*
],
"files": [
*path of files to track*
]
},
"emit_folder": *path of directory where all dot files & directories should be colleced*,
```

### 4. Execute

For local changes only when you want to collect all the given dot files and collect them in emit directory

```bash
make sync
```

For remote changes when you want to push all your dot files to your remote repository

```bash
make remote-sync
```

Performs both the above operation together

```bash
make full-sync
```

### HELP

```bash
make help # program manual
```

---

Everytime you update a dot file / config file you can just run **_make run_** to sync all dot files with your emit directory