

Dots - Modularize your dotfiles - cbau
https://github.com/Ceasar/dots#readme

======
hp50g
I think worse is better here. This just sounds like another layer of
abstraction and complexity i want to avoid dealing with as it will consume
head space and detract from actually solving the problem i am there to solve.

I tend to make do with defaults as well i.e basic vi and ksh as i move between
BSD and Linux regularly (and rarely Solaris 2.5 still!). No surprises and very
few dotfiles.

~~~
bgar
_I think worse is better here. This just sounds like another layer of
abstraction and complexity i want to avoid dealing with as it will consume
head space and detract from actually solving the problem i am there to solve._

I have a similar opinion, although I don't usually stick to defaults.

Apparently this is targeted to _teams_ of developers, so there might be more
of a need to "modularize" things.

~~~
hp50g
Having dealt with teams of developers and existing within them, I doubt this
would impact them in any positive way. It would in some animal-farm-esque way
empower an individual rather than everyone. People have so many differing
opinions on such things, standardisation is hard.

~~~
twe4ked
The idea with modularizing things is it makes it easy to share the parts that
people do want the same. Where I work we have slowly but surely come to an
agreement on _most_ of our git aliases. That's why we built [fresh] a similar
tool to allow us to share the parts we want to. [fresh] allows us to easily
override anything we don't like and keep the parts we do like up to date. My
[freshrc] file is an example of mixing other peoples aliases and bin files
with a collection of my own config.

[fresh]: <https://github.com/freshshell/fresh>

[freshrc]: <https://github.com/twe4ked/dotfiles/blob/master/freshrc>

------
philips
Ha! I will add the tool I wrote that behaves very similarly but has no
external deps: <https://github.com/philips/ghar>

~~~
cbau
Nice! I think you have me beat, unless one considers using Python + Fabric as
a pro (which may not be unreasonable on a home machine).

How do you resolve conflicts? I think that an interesting problem with lots of
interesting solutions.

~~~
philips
Ghar punts on resolving conflicts. If the desrination directory or file exists
it tells the user and moves on.

------
johnpmayer
I just gave up the domain name bashrx.com which I held on to for about 2
years. It was going to be a site where you could save a bunch of check-boxed
modules of aliases, exports, and utility functions. So maybe I liked Josh's
git aliases and Eve's screen management functions; I could save these
preferences and generate a big concatenated file that I could download to my
home directory using https.

Anyone think that's still a cool idea?

edit: it looks like there a are a bunch of CLI versions of this which I'm
going to try out! But my big beef has always been going to a new computer and
not wanting to call `curl thisorthat.sh` 50 times, and remember everything.

------
pfarrell
I cloned Zach Holman's (holman) dot files implementation[1]. Mine [2] is
basically Ian's torn apart and put back together (so i could understand it).
It consists of symlinked rc files, and env and private_env files which get run
at login / profile boots. The private env stuff (passwords, api keys, etc) are
cloned from my home server or from encrypted Dropbox folder (still figuring
out how I want to handle that)

1: <https://github.com/holman/dotfiles>

2: <https://github.com/pfarrell/dotfiles>

~~~
experiment0
I've done the same thing, I've customised holmans dotfiles and just replaced
the content with my preferences. I really like the rake mechanism for
symlinking. Simple and convenient.

------
datr
Fresh is quite similar too.

[1] <http://freshshell.com/>

~~~
foobacca
Fresh is great. It lets you pull fragments of dot files from different
repositories and combine then into contiguous files. So you could pull some
bits from a team repository, have your own customizations on github (so you
can share with others), and then have some private bits in a small private
repo. Fresh well grab them all and combine then for you.

Fresh can also populate your $HOME/bin from various repos.

There is a directory[1] of reusable bits, though there are trust/security
issues you might want to consider ...

[1]<https://github.com/freshshell/fresh/wiki/Directory>

------
omegote
This is hilarious. Dotfiles have been around for decades, and now that all
those hipster web devs are getting to use the console, now it's when all kinds
of projects related to dotfiles are starting to appear.

Come on guys.

~~~
twe4ked
People are finding ways to solve problems that have existed for decades. I
don't see how this is something coming from _hipster web devs_.

> Come on guys.

Stop solving your problems? If you don't see any value in it move on.

~~~
hp50g
Actually the problem is already solved. Some of us spend more time doing
productive work than pissing around making our editors and shells and whatnot
all pretty.

I rarely touch dotfiles yet I spend 10 hours a day in front of a Unix
workstation.

~~~
twe4ked
> Some of us spend more time doing productive work than pissing around making
> our editors and shells and whatnot all pretty.

Some of us enjoy this and therefore tools that make it easier, better or more
fun are always welcome.

------
kaneo
I built something similar. Basic bash script to modularize my dotfiles and
sync them between my machines with Dropbox.

Link: <https://github.com/kanemathers/dotdrop/>

------
chucklarge
Heres mine with a pretty basic bash script that creates symlinks.
<https://github.com/chucklarge/dotfiles>

~~~
sciurus
Thanks for sharing! Mine is below; not particularly elegant, but it adds stale
link cleanup and a dry-run mode.

<https://gist.github.com/sciurus/5184930>

------
dotb52
I created a little python script to install my dot files, see
<https://github.com/b52/dotfiles>

~~~
tiziano88
I have a similar script, but in bash, anyway I'll probably copy a thing or two
from yours! thanks for sharing!

------
jmount
I've had good luck using Modules <http://modules.sourceforge.net>

------
kibibu
"Ceasar"?

 _twitch_ _twitch_

------
mbailey
is this just a wrapper around "ln -s dir/.* ~/" ?

