Settings

Theme

Show HN: fresh - a tool to manage and distribute dot files (think Bundler)

freshshell.com

23 points by twe4ked 13 years ago · 16 comments

Reader

SnowLprd 13 years ago

I'm amazed at the number of projects that don't have even the simplest description as to what problem the software purports to solve. This well-intentioned project strikes me as among the more egregious examples.

The README contains almost zero information as to why the project was created, which problems it aims to rectify, and why you might want to use it. That this information may or may not be contained in an embedded video is of no relevance to someone (like myself) who has neither the time nor ability at this particular moment to watch anything on video that could have been more succinctly explained in 2-3 sentences. It won't be bookmarked or favorited for later perusal -- just ignored.

Please understand I mean this as constructively as possible: it's hard to create something and share it with the world, and for that your efforts are most highly commended. I suggest adding a general introduction/description and some use cases to both the project site and README file. That will go a long way toward garnering the attention of those who might otherwise simply shrug and walk away.

dnr 13 years ago

If anyone is just looking for a way to manage and sync dotfiles without any of the sharing features (which are interesting but a little scary), you might want to check out my thing: https://bitbucket.org/davidn/dotstuff

Axsuul 13 years ago

If you're looking for a mature alternative, there's homesick @ https://github.com/technicalpickles/homesick. I use it everywhere and it's great. Unfortunately, it does have a ruby dependency.

  • jasoncodes 13 years ago

    One of the big features of fresh is that it is able to merge configuration from multiple sources into a single output file. This applies to both shell (aliases) as well as configuration files.

    For example, @twe4ked uses my tmux configuration but also has his own additions using the following:

        fresh jasoncodes/dotfiles tmux.conf --file
        fresh config/tmux.conf --file
twe4kedOP 13 years ago

Here's my `.freshrc` for examples of how you can use fresh. https://github.com/twe4ked/dotfiles/blob/master/config/fresh...

jasoncodes 13 years ago

Looking forward to hearing what HN thinks of fresh. We've already got a bunch more features planned. http://github.com/freshshell/fresh/issues

  • samdk 13 years ago

    You are asking someone to execute a shell script directly from the internet, which is questionable in the first place. And then you're making it much much worse by asking them to do it with a non-https link, meaning that someone can trivially execute a MITM attack.

    Your webpage doesn't have any explanation other than a video. I can read a paragraph or two in a couple of seconds--I'm not going to take a minute and a half (and stop listening to the music I'm listening to) to watch a video. The GitHub README doesn't really have any information about what it is either.

    I haven't actually tried this, because I have no idea what it is. The other comment in here linked to an example .freshrc file--I noted that every line that's not a comment starts with the string 'fresh ', which seems like an obvious annoyance. Even if you want it to just be a shell script you can execute, you could support a batch mode to do something like this, for example:

        fresh batch <<'BATCH'
        config/vimrc --file
        config/gemrc --file
        config/pryrc --file
        BATCH
    • twe4kedOP 13 years ago

      Here's the install script (https://raw.github.com/freshshell/fresh/master/install.sh). You can have a read though if you like. I don't know any safer ways to install applications. SSL is a good idea though.

      We will add some more info to the home page but we were trying to keep most of the info in the README.

      > The GitHub README doesn't really have any information about what it is either.

      What else would you like to know?

      The batch mode is a good idea, however the way we're doing it is a tried and true method used by many dev tools Bundler, Vundle, etc.

zrail 13 years ago

Interesting, but I think I'll stick with my own system[1]. I organize by task, not repo or program. Also I try to do a minimum of symlinking, instead relying on convention and PATH manipulation.

Edit: I don't mean to discourage you, by the way. The more variety in dotfile management the better.

[1]: http://bugsplat.info/2012-08-11-task-oriented-dotfiles.html

  • jasoncodes 13 years ago

    Organising by task sounds very similar to our goals.

    One of fresh's major features is being able to source a subset of another's dotfiles (at a per file level). For example, in my office we are all using fresh to source common git aliases.

    This module/task idea is certainly interesting and is something we have been thinking about. Thanks for your feedback.

lukeholder 13 years ago

Whats to stop malicious git repos changing an alias after you have already added it to your freshrc? I think locking to a specific git ref needs to be top priority.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection