
Show HN: Cider — Hassle-free bootstrapping using Homebrew - mkskm
https://github.com/msanders/cider
======
mateuszf
Just wanted to say that this name is already used by (quite popular) emacs
Clojure IDE plugin. [https://github.com/clojure-
emacs/cider](https://github.com/clojure-emacs/cider)

~~~
zyxley
It's also the name of a Wine dervative used for many Mac ports of Windows
games. [https://www.transgaming.com/cider](https://www.transgaming.com/cider)

~~~
ianlevesque
And was the name of an iOS / Android porting tool
([http://systems.cs.columbia.edu/projects/cycada/](http://systems.cs.columbia.edu/projects/cycada/))
until they realized how overloaded the name Cider is.

~~~
ende
New name suggestion: Mulled

------
jokogr
Do you have to install on your own homebrew and homebrew cask?

I'm asking, because I am in the process of creating an Ansible playbook
([http://docs.ansible.com/homebrew_module.html](http://docs.ansible.com/homebrew_module.html)
and
[http://docs.ansible.com/homebrew_cask_module.html](http://docs.ansible.com/homebrew_cask_module.html))
and I want to write a small bootstrap script to install homebrew and homebrew
cask first.

~~~
mkskm
It will install cask for you, but homebrew needs to be installed via the
script on [http://brew.sh/#install](http://brew.sh/#install) (you also need to
have Xcode or Apple's cli tools installed).

~~~
jinushaun
And you need pip :(

------
priteau
There was once a similar project also called Cider, created by Corey Donohoe
(atmos) from GitHub. It was renamed to cinderella because of trademark
infringement, so you might want to check that out:
[https://github.com/atmos/cider](https://github.com/atmos/cider)

~~~
mkskm
This is good to know. Any suggestions for a better name?

------
jimmcslim
See also [http://osxc.github.io](http://osxc.github.io) which builds upon
Ansible (which is of course also built in Python).

But what if I use Homebrew to install a package (pyenv) to manage my Pythons
to install cider to bootstrap Homebre...

StackOverflowException thrown. Comment aborted.

------
pbreit
Is this the type of thing that could have been built in to a fork of Homebrew
and perhaps if people liked it been incorporated into the main distro?

I understand why things proliferate like this but it can be frustrating.

~~~
mkskm
I contemplated doing that (something like the brew-cask syntax), but it ended
up not really being worth the complexity, especially when you consider that
not all of the commands necessarily correlate to those in Homebrew (e.g.
setting defaults). Might consider doing something like that in the future
though, if it ends up that people aside from me want this.

It's also worth noting that even projects such as Homebrew Cask are also
merely extensions to Homebrew (AFAIK, there aren't any plans of it getting
merged in anytime soon).

------
dantiberian
I'd like to recommend Mackup for backing up machine config (and keeping them
in sync) [https://github.com/lra/mackup](https://github.com/lra/mackup).

~~~
mkskm
I actually tried mackup a few weeks ago and had to wipe my machine because it
messed up my settings so much (who would've thought backup could be such a
dangerous command?)

Cider's approach is much safer since all it does is reinstall the components &
settings you've specifically allotted it to. Rather than move all your various
configs and caches around in an attempt to keep them in sync (which is, IMO,
subject to headaches and not worth the hassle), the whole point of Cider is to
keep as little state on your machine as possible so you can stop thinking
about this stuff.

------
j_s
[https://github.com/mwrock/boxstarter](https://github.com/mwrock/boxstarter)
can help setup Windows machines for developers.

------
pron
Is it possible to create the configuration file from the current machine
state, or do you have to create the configuration by hand?

~~~
mkskm
Right now it's updated whenever you install something with cider. You can
update it with whatever you currently have installed using `cider [cask]
missing`. Defaults are the same way - cider supports the same syntax as the
`defaults` command, so you should be able to use it as a drop-in replacement
in most cases.

Symlinks and scripts are manual, but I plan on changing that:
[https://github.com/msanders/cider/issues/3](https://github.com/msanders/cider/issues/3)

~~~
pron
`cider missing` fails when it can't find a formula and writes nothing to the
file...

~~~
mkskm
Would you mind submitting an issue here with more info?
[https://github.com/msanders/cider/issues](https://github.com/msanders/cider/issues)

Edit: pretty sure I fixed the bug - could you verify by trying the version on
master?

    
    
        pip install https://github.com/msanders/cider/archive/master.zip

------
damurdock
Mmm, homebrewed cider...

But seriously, I really like this idea. You should definitely PR this into
Homebrew though.

------
mga226
Anyone else just skim the title and then get disappointed when it didn't
actually relate to homemade booze?

