You are not logged in.

#1 2013-10-26 05:35:29

techlive
Member
Registered: 2009-05-02
Posts: 25

dotploy - A bash only script to deploy $HOME dot files

Hey, guys, want to introduce to you a script I wrote to help manage our dot files across different users on different hosts in a central repository which could be synced with dropbox or git, as well as deploy them as symlinks in the $HOME directory. The central repository is constructed in a way that  host or user specific dot files have higher priority than common dot files shared by all the users on every host.

Within version 0.3, there is a new feature that allow us to use a PLACE HOLDER file to record the real source of the dot files, which could be a local path outside the central repository or even from a remote VCS source. The format is in the same manner as makepkg's VCS support.

Check it out: https://github.com/techlivezheng/dotploy

Last edited by techlive (2013-10-26 05:36:55)

Offline

#2 2013-10-27 02:31:21

donniezazen
Member
From: Salt Lake City
Registered: 2011-06-24
Posts: 671
Website

Re: dotploy - A bash only script to deploy $HOME dot files

Thanks. What do you do about personally identifiable data (aka usernames, passwords, etc.) in dotfiles.

Offline

#3 2013-10-27 05:01:21

techlive
Member
Registered: 2009-05-02
Posts: 25

Re: dotploy - A bash only script to deploy $HOME dot files

I personally use dropbox for syncing, so that's not a problem. If uses Git and hosts as a public repository, one might be careful about these kind of data, keep them out of the repository. Don't exactly come up a more elegant way of doing that though.

Last edited by techlive (2013-10-27 05:02:09)

Offline

#4 2013-10-27 05:07:53

progandy
Member
Registered: 2012-05-17
Posts: 2,146

Re: dotploy - A bash only script to deploy $HOME dot files

techlive wrote:

I personally use dropbox for syncing, so that's not a problem. If uses Git and hosts as a public repository, one might be careful about these kind of data, keep them out of the repository. Don't exactly come up a more elegant way of doing that though.

You could add a local configuration file that does not get synced. (or is encrypted) This file contains file paths that won't be symlinked, but copied. The configuration also contains pairs of userdata and placeholders, which will be replaced on updates.

Last edited by progandy (2013-10-27 05:08:44)

Offline

#5 2013-10-27 05:18:27

techlive
Member
Registered: 2009-05-02
Posts: 25

Re: dotploy - A bash only script to deploy $HOME dot files

As you can see, my script does not handle the syncing part, it's the job for dropbox or git which it has no control of.

One solution is like you said, encrypt the privileged file and store the cipher in the $HOME/.dotploy/config.  Instead of symlinking, decrypt and copy them on each update. This is actually a pretty good idea. Thanks.

Oh, I just come up with another solution. As the script now supports deploying from placeholder file like .dotfile.__SRC, one can manage the privileged file in other location or a git repo which is not public, and put the URL to that location in this .dotfile.__SRC file, the script will checkout the repo and symlink it for you.

Last edited by techlive (2013-10-27 05:20:29)

Offline

Board footer

Powered by FluxBB