Hacker News new | past | comments | ask | show | jobs | submit login
Dots - Modularize your dotfiles (github.com/ceasar)
58 points by cbau on March 17, 2013 | hide | past | favorite | 30 comments



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.


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.


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.


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


It is strange to forgo the improvements that customized dotfiles allow just because you don't want a system to manage those dotfiles.


Is another system an improvement?

That is my question.


Putting a few dotfiles in a repo and cloning it for each new machine is a useful way of getting the advantages of dotfiles, which are many. Avoiding all customization just so you don't have dotfiles, just so you don't have to manage dotfiles (which is not hard, there are any number of simple techniques if you don't like this project) is counterproductive


That's fine until you find one damn machine which has a buggy version procmail or a vim version which is too old for your filetype/feature plugins, 5 versions old emacs or an old version of bash etc. It's never "just that easy".

Past startups with heterogeneous kit, keep it simple.


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


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.


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


Not mine, but homesick is a nice little gem that seems to also do what ghar does. I have no opinion on whether one or the other is better :)

https://github.com/technicalpickles/homesick


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.


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


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.


Fresh is quite similar too.

[1] http://freshshell.com/


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


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.


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.


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.


> 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.


There are no new problems, just new engineers.


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/


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


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


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


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


I've had good luck using Modules http://modules.sourceforge.net


"Ceasar"?

twitch twitch


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




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: