Code Monkey home page Code Monkey logo

brewmaster's Introduction

Join the chat at https://gitter.im/bjschafer/brewmaster Stories in Ready Documentation Status

Brewmaster is still under heavy development! Don't use it unless you like broken things :)

YES it works with Linuxbrew.

Why?

Why not?

But seriously, Homebrew is a fantastic thing. Why shouldn't enterprises or people with multiple computers take advantage of it? This way, all you need is this small program and a file which declares the things you want. It's super easy to set up a new system - Brewmaster will even install Homebrew and its dependencies for you!

Installation

Have the path to your YAML config file handy - the installer will want it. It will put it in /usr/local/brewmaster/ on Mac or ~/.linuxbrew/brewmaster/ on Linux, as that directory belongs to Brewmaster.

Then, you should just be able to run ./install.sh and it'll figure itself out.

Goals

First, make the things work.

Then, set it up to automatically keep its config up to date (using git of course) with your master config - one config location, many computers.

Next, I'd like to integrate fully with brew cask to be able to manage all applications and not just developer tools.

Finally, why not integrate with actual system configuration? Then all you have to do on an new system is install brewmaster and you're set!

Other Misc Thoughts

Hierarchical config files - have one managed globally by the administrator but if the user is a developer and wants his own packages to be managed (automatically pinned/installed/etc), let them specify that. Of course the global config takes precedence.

YAML file format

---
formulae: 
        - name: cask
          version: 0.53.1
          args: [arg1, arg2]

        - name: wget
          version: latest

        - name: cmake
          version: current
...

```

Note that you can specify a specific version which will be `brew pin`ed, `latest` which always installs the latest version available, or `current`, which `brew pin`s whichever version is available currently.

Right now the manual version specification isn't implemented, so I recommend using `current`.

brewmaster's People

Contributors

bjschafer avatar gitter-badger avatar

Stargazers

 avatar

Watchers

 avatar James Cloos avatar Paul M Christophel avatar  avatar

brewmaster's Issues

Pull config file updates in brewmaster.sh

Right now we have a separate scheduled task for updating the http/git-based config files. Instead of that, we should curl or git pull inside of brewmaster.sh to simplify things.

Specify version in config

We need to be able to install a specific version using brew by specifying it in the YAML file.

Right now it just assumes you want to brew pin the current version.

Support zsh

Right now the install script uses the -i option to read, which is a valid option in bash but zsh doesn't like it.

I like zsh, let's fix this someday.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.