Socket
Socket
Sign inDemoInstall

dotsync

Package Overview
Dependencies
9
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    dotsync

Keep your dotfiles synced across computers


Version published
Weekly downloads
2
Maintainers
1
Created
Weekly downloads
 

Readme

Source

dotsync

Small tool to keep your dotfiles synced across computers.

The tool symlinks your dotfiles from some folder in your system into your $HOME.

You can store your dotfiles in your Dropbox (or Github) and automatically use them in all your computers. It allows to have both global config files and per host config fles.

Installation

 $ npm install -g dotsync

Usage

$ dotsync -h
Usage: dotsync [options]

  Keep your dotfiles synced across computers

  Options:

    -h, --help         output usage information
    -V, --version      output the version number
    -v, --verbose      Verbose mode
    -d, --dry-run      Dry run
    -f, --force        Force link (will delete contents)
    --dotfiles [path]  Path in which dotfiles are stored [~/Dropbox/dotfiles]
    --home [path]      Path of your home to link your dotfles [~]

Dotfiles structure

Your base dotfiles folder (by default ~/Dropbox/dotfiles) has to follow a particular structure in order to allow global/local configurations.

You have to put all your global config inside a global folder. If you want to override some config file in an specific computer, you can have a local/<hostname> folder in which you can put all the config files that want to override. Note that this is optional and you have only to put in that folder the modified files. You can add files that are not present in the global config as well.

Disclaimer: Dropbox does not sync hidden files (the ones started by dots), so to make everything work, you should store your files or folders starting with ´.´ changing it with ´_´. In this first version, files starting with dots are ignored (will be fixed in next versions).

Dofiles example structure

~/Dropbox/dotfiles
     └─── global
     |      | _zshrc
     |      | _vimrc
     |      |
     |      └───_vim
     |           |  filetype.vim
     |           |
     |           └─── colors
     |                  solarized.vim
     └─── local
            └─── iMac
            |      |  _vimrc
            |      |  _zshrc_local
            |      |
            |      └───_vim
            |            |  filetype.vim
            |
            └─── job-laptop
                  |  _zshrc
            

When running dotsync for the first time in iMac computer, it will link these files:

$ bin/dotsync -v
Linking config from ~/Dropbox/dotfiles/local/iMac
Mkdir ~/.vim
Link ~/.vimrc -> ~/Dropbox/dotfiles/local/iMac/_vimrc
Link ~/.zshrc_local -> ~/Dropbox/dotfiles/local/iMac/_zshrc_local
Link ~/.vim/filetype.vim -> ~/Dropbox/dotfiles/local/iMac/_vim/filetype.vim
Linking config from ~/Dropbox/dotfiles/global
Skipping ~/.vimrc
Link ~/.zshrc -> ~/Dropbox/dotfiles/global/_zshrc
Mkdir ~/.vim/colors
Skipping ~/.vim/filetype.vim
Link ~/.vim/colors/solarized.vim -> ~/Dropbox/dotfiles/global/_vim/colors/solarized.vim

Acknowledge

This tool is copied highly inspired by sortega's dotfiles. Kudos to him

Changelog

  • v.0.0.1 Initial version

TODO

  • Allow to remove broken (old) symlinks
  • Allow to ignore files when syncing
  • Further integration with git-based dotfiles: clone, update, etc. just from the tool
  • Store dotsync user configuration in .dotsyncrc file to avoid setting parameters always
  • dotsync-importer: import your current local dotfiles into a dotsync-compliant folder/file structure

Keywords

FAQs

Last updated on 09 Oct 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc