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.
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
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.
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:
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:
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.
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.
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.
Absolutely. This is on the road map (https://github.com/freshshell/fresh/issues/11). At the moment running `fresh update` is the only way to update the source repos. I realise this isn't ideal, but we never update repos without you knowing.
Locking to a specific git reference (https://github.com/freshshell/fresh/issues/11) has been implemented. You can now use `--ref` to lock to a particular git reference. `fresh update` will grab the new version.
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.