tomsimonart / sdfm-legacy

Super DotFile Manager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SDFM

Description

The Super DotFile Manager is a minimalistic tool with a single purpose: Allow you to track and share configuration files on multiple machines.

How it works

SDFM will hard link files (only within your home directory) into a storage directory. This storage is designed to work with git so you can version your configuration files and share them between machines. When you change your configuration file the changes will be reflected in the storage too.

Installation

Run make for instructions.

For development you can link sdfm to a file in your PATH: ln ./sdfm.sh ~/.local/usr/bin/sdfm.

Example: using git to version and share your storage

You can track your storage with anything you want, but here is an example on how to do it with git:

  1. Initialize git on machine 1:
    # Open the storage directory
    sdfm shell
    git init
    git remote add origin git@github.com:<username>/<repo>
  2. Track a configuration file on machine 1:
    # Let's say you want share your .bashrc file with machine 2
    sdfm add ~/.bashrc
    git add .bashrc
    git commit -m 'Add .bashrc to the storage'
    git push
  3. On machine 2:
    sdfm shell
    git clone git@github.com:<username>/<repo> .
    sdfm install
    Now if you already had a .bashrc file in your home directory then SDFM will create a backup automatically (using ln --backup=numbered). Your old .bashrc will now be named ~/.bashrc.~1~ (or ~/.bashrc.~2~ if you already had a backup).

Features

image image


License

About

Super DotFile Manager

License:GNU General Public License v3.0


Languages

Language:Shell 96.0%Language:Makefile 4.0%