Skip to content

Instantly share code, notes, and snippets.

@tanghaiduong
Forked from indiesquidge/homebrew.md
Created October 9, 2017 02:19
Show Gist options
  • Select an option

  • Save tanghaiduong/f26503f3b04112a8158837b645a4707a to your computer and use it in GitHub Desktop.

Select an option

Save tanghaiduong/f26503f3b04112a8158837b645a4707a to your computer and use it in GitHub Desktop.

Revisions

  1. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 6 additions and 2 deletions.
    8 changes: 6 additions & 2 deletions homebrew.md
    Original file line number Diff line number Diff line change
    @@ -41,7 +41,9 @@ This is easily one of my favorites. You can think of `hub` as all the same funct

    When you're deep in the codebase and realize that you haven't commited any of your hard work to GitHub, it's annoying to have to jump over to your browser, surf to https://github.com, create a new repo, etc. That context switch just pulled you away from your important work and forced you to interact with – _gulp_ – a GUI interface. How unfitting.

    This is where `hub` comes into play. Important tasks that you were once only able to do through GitHub are now available via the terminal. Want to create a new remote repo and automatically set GitHub as the origin? `hub create`. Want to open a pull request? `hub pull-request`. Want to view your remote repo on GitHub from any sub-directory? `hub browse`. Of course this is not an exhaustive list of commands for `hub`. Use `hub --help` or `man hub` for more information, customizing flags, and other goodies.
    This is where `hub` comes into play. Important tasks that you were once only able to do through GitHub are now available via the terminal. Want to create a new remote repo and automatically set GitHub as the origin? `hub create`. Want to open a pull request? `hub pull-request`. Want to view your remote repo on GitHub from any sub-directory? `hub browse`. Of course this is not an exhaustive list of commands for `hub`.

    Use `hub --help` or `man hub` for more information, customizing flags, and other goodies.

    #### `brew install the_silver_searcher`

    @@ -57,7 +59,9 @@ Use `ag --help` or `man ag` for more information.

    Lists the contents of directories in a tree-like format.

    This one you kind of just have to try for yourself. It's not as crazy of a tool as some of the others, but if you want to see all files within a certain set of directories, `tree` does a great job of parsing it into a beautiful, readable format. More info with `tree --help` or `man tree` (I'm going to stop referencing these "more infos" now since they are the same for nearly all packages).
    This one you kind of just have to try for yourself. It's not as crazy of a tool as some of the others, but if you want to see all files within a certain set of directories, `tree` does a great job of parsing it into a beautiful, readable format.

    More info with `tree --help` or `man tree` (I'm going to stop referencing these "more infos" now since they are the same for nearly all packages).

    #### `brew install cask`

  2. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion homebrew.md
    Original file line number Diff line number Diff line change
    @@ -79,4 +79,8 @@ alias brewup='brew update; brew upgrade; brew prune; brew cleanup; brew doctor'

    ### Brew It Yourself

    Homebrew formulae are simple Ruby scripts. Homebrew's GitHub page is very well documented on how to contribute your own formulae in the rare case that you can't find what you're looking for. Read more on this [here](https://github.com/Homebrew/homebrew/blob/master/CONTRIBUTING.md)
    Homebrew formulae are simple Ruby scripts. Homebrew's GitHub page is very well documented on how to contribute your own formulae in the rare case that you can't find what you're looking for. Read more on this [here](https://github.com/Homebrew/homebrew/blob/master/CONTRIBUTING.md)

    ---

    Thanks for reading my quick post. If you have any questions, see any errors, would like to learn about more productivity tools, or just want to chat, email me at i@austinwood.me or tweet @indiesquidge
  3. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 4 additions and 1 deletion.
    5 changes: 4 additions & 1 deletion homebrew.md
    Original file line number Diff line number Diff line change
    @@ -13,7 +13,10 @@ First things first, you need to familiarize yourself with some of the basic home
    All commands start with the binary `brew`.

    ###### `brew search`
    If you are looking for something in particular, you can first search for it to see if homebrew has a formulae for what you're looking for. For example, running `brew search tree` will return `mvptree pstree tree treecc treeline`.
    If you are looking for something in particular, you can first search for it to see if homebrew has a formulae for what you're looking for. For example, running `brew search tree` will return
    ```sh
    mvptree pstree tree treecc treeline
    ```

    ###### `brew install`
    Once you find the formulae you're looking for, you can run `brew install tree`.
  4. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 2 additions and 2 deletions.
    4 changes: 2 additions & 2 deletions homebrew.md
    Original file line number Diff line number Diff line change
    @@ -12,10 +12,10 @@ First things first, you need to familiarize yourself with some of the basic home

    All commands start with the binary `brew`.

    ###### brew search
    ###### `brew search`
    If you are looking for something in particular, you can first search for it to see if homebrew has a formulae for what you're looking for. For example, running `brew search tree` will return `mvptree pstree tree treecc treeline`.

    ###### brew install
    ###### `brew install`
    Once you find the formulae you're looking for, you can run `brew install tree`.

    ###### other important commands
  5. Austin Wood renamed this gist Mar 24, 2015. 1 changed file with 0 additions and 0 deletions.
    File renamed without changes.
  6. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 13 additions and 4 deletions.
    17 changes: 13 additions & 4 deletions lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -21,7 +21,7 @@ Once you find the formulae you're looking for, you can run `brew install tree`.
    ###### other important commands
    * `brew list` - List all installed formulae
    * `brew update` – Fetch the newest version of Homebrew and all formulae form GitHub using git.
    * `brew upgrade [formulae]` – Upgrade outdated formulae. This can take an optional argument if you only want to update one formulate
    * `brew upgrade [formulae]` – Upgrade outdated formulae. This can take an optional argument if you only want to update one formulae
    * `brew uninstall <formulae>` – uninstall a specific formulae

    There are a myriad of other commands and tasks you can run that we won't discuss in detail here. Running `man brew` or reading the [documentation](https://git.io/brew-docs) linked on Homebrew's main page.
    @@ -62,9 +62,18 @@ Provides a friendly homebrew-style CLI workflow for the administration of Mac ap

    Okay, this might be the coolest one I have found. This extends `brew` past the scope of the terminal and into your GUI applications. For example, you want to install Spotify. Instead of going to your browser to https://www.spotify.com, clicking "Download Spotify", opening the zipped pacakge, etc., all you have to run is `cask install spotify`, and boom, it will be downloaded to your computer without any hassle. Not only is this amazing because it takes away having to search for all the apps you want, but it also keeps those apps in one location (opt/homebrew-cask/Caskroom/), making it easier to update, remove, and be aware of what you have installed on your machine.

    ---


    Obviously this list is just a start, and I am constantly finding new and amazing packages to increase my productivity, but this gives a glimpse as just how amazing and powerful Homebrew is, and why it should be part of every developer's arsenal of tools.

    ---
    ---
    ### Keep It Clean

    With all this awesomeness, it's easy to forget that these tools need to be polished and take care of to perform correctly. I'll make it easy for you with a few aliases I created:
    ```sh
    alias brewup='brew update; brew upgrade; brew prune; brew cleanup; brew doctor'
    ```
    `brewup` will make it easy to keep homebrew neat. The first two commands I explained earlier. The third command, `brew prune`, will remove dead symlinks from the Homebrew prefix. This may sound confusing, and generally isn't needed, but it's never a bad idea to run. `brew cleanup` will remove any older versions of packages that you have, keeping things up to date. And last, `brew doctor` will check your system for potential problems. If no problems exist, you should see `Your system is ready to brew` after the doctor command runs.

    ### Brew It Yourself

    Homebrew formulae are simple Ruby scripts. Homebrew's GitHub page is very well documented on how to contribute your own formulae in the rare case that you can't find what you're looking for. Read more on this [here](https://github.com/Homebrew/homebrew/blob/master/CONTRIBUTING.md)
  7. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 8 additions and 1 deletion.
    9 changes: 8 additions & 1 deletion lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -60,4 +60,11 @@ This one you kind of just have to try for yourself. It's not as crazy of a tool

    Provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries.

    Okay, this might be the coolest one I have found. This extends `brew` past the scope of the terminal and into your GUI applications. For example, you want to install Spotify. Instead of going to your browser to https://www.spotify.com, clicking "Download Spotify", opening the zipped pacakge, etc., all you have to run is `cask install spotify`, and boom, it will be downloaded to your computer without any hassle. Not only is this amazing because it takes away having to search for all the
    Okay, this might be the coolest one I have found. This extends `brew` past the scope of the terminal and into your GUI applications. For example, you want to install Spotify. Instead of going to your browser to https://www.spotify.com, clicking "Download Spotify", opening the zipped pacakge, etc., all you have to run is `cask install spotify`, and boom, it will be downloaded to your computer without any hassle. Not only is this amazing because it takes away having to search for all the apps you want, but it also keeps those apps in one location (opt/homebrew-cask/Caskroom/), making it easier to update, remove, and be aware of what you have installed on your machine.

    ---

    Obviously this list is just a start, and I am constantly finding new and amazing packages to increase my productivity, but this gives a glimpse as just how amazing and powerful Homebrew is, and why it should be part of every developer's arsenal of tools.

    ---
    ---
  8. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 26 additions and 27 deletions.
    53 changes: 26 additions & 27 deletions lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -1,29 +1,4 @@
    * tree
    * wget
    * htop
    * cask
    * the silver searcher
    * hub
    * vim
    * tmux
    * ranger
    * pyenv
    * rbenv
    * more to come...

    ### Go into detail about why Homebew Cask is so awesome
    * nearly all applications you can think of are downloadable with cask
    * “To install, drag this icon…” no more!

    ### How to keep Homebrew and Homebrew Cask clean and happy
    * aliases for pruning and cleaning


    ### Other useful Tools (if there is time)
    * Point for Mac
    * Tab Snooze
    * etc.
    *
    # Homebrew

    ### How To

    @@ -61,4 +36,28 @@ Right off the bat, brew is useful for things like git, vim, zsh, tmux, and many

    This is easily one of my favorites. You can think of `hub` as all the same functionality of `git`, but with add-ons that make it compatible with GitHub.

    When you're deep in the codebase and realize that you haven't commited any of your hard work to GitHub, it's annoying to have to jump over to your browser, surf to https://github.com, create a new repo, etc. That context switch just pulled you away from your important work and forced you to interact with – _gulp_ – a GUI interface. How unfitting. This is where `hub` comes into play. Important tasks that you were once only able to do through GitHub are now available via the terminal. Want to create a new remote repo and automatically set GitHub as the origin? `hub create`. Want to open a pull request? `hub pull-request`. Want to view your remote repo on GitHub from any sub-directory? `hub browse`. Of course this is not an exhaustive list of commands for `hub`. Use `hub --help` or `man hub` for more information, customizing flags, and other goodies.
    When you're deep in the codebase and realize that you haven't commited any of your hard work to GitHub, it's annoying to have to jump over to your browser, surf to https://github.com, create a new repo, etc. That context switch just pulled you away from your important work and forced you to interact with – _gulp_ – a GUI interface. How unfitting.

    This is where `hub` comes into play. Important tasks that you were once only able to do through GitHub are now available via the terminal. Want to create a new remote repo and automatically set GitHub as the origin? `hub create`. Want to open a pull request? `hub pull-request`. Want to view your remote repo on GitHub from any sub-directory? `hub browse`. Of course this is not an exhaustive list of commands for `hub`. Use `hub --help` or `man hub` for more information, customizing flags, and other goodies.

    #### `brew install the_silver_searcher`

    A quick and dirty way to search through any file structure for a key word or phrase.

    You're in your Rails app and need to find all instances of `current_user`? `ag current_user`. `ag` is used for two reasons: 1) it would be awful to type `the_silver_seracher` before everything you want to search, 2) AG is the symbol for the chemical element silver. A common flag includes running the search with `--context`, which will print out the lines before and after the key phrase.

    Some of you may be thinking, _yeah, but I already have grep (or ack) which serves the same purpose_. Try benchmarking `ag` vs. `grep`, you will find that `ag` is insurmountable when it comes to performance; `grep` may not even be able to run a search if the scope is too large.

    Use `ag --help` or `man ag` for more information.

    #### `brew install tree`

    Lists the contents of directories in a tree-like format.

    This one you kind of just have to try for yourself. It's not as crazy of a tool as some of the others, but if you want to see all files within a certain set of directories, `tree` does a great job of parsing it into a beautiful, readable format. More info with `tree --help` or `man tree` (I'm going to stop referencing these "more infos" now since they are the same for nearly all packages).

    #### `brew install cask`

    Provides a friendly homebrew-style CLI workflow for the administration of Mac applications distributed as binaries.

    Okay, this might be the coolest one I have found. This extends `brew` past the scope of the terminal and into your GUI applications. For example, you want to install Spotify. Instead of going to your browser to https://www.spotify.com, clicking "Download Spotify", opening the zipped pacakge, etc., all you have to run is `cask install spotify`, and boom, it will be downloaded to your computer without any hassle. Not only is this amazing because it takes away having to search for all the
  9. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 5 additions and 1 deletion.
    6 changes: 5 additions & 1 deletion lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -57,4 +57,8 @@ Now that you know how Homebrew functions, let's get into so of the best packages

    Right off the bat, brew is useful for things like git, vim, zsh, tmux, and many more base level tools that a lot of developers normally already have. We're going to look at some lesser known packages, but just know that Homebrew is getting larger, and almost anything that you would want that runs in the terminal is available as a homebrew package. If it isn't, it's *incredibly* easy to make it yourself. More on this later.

    #### `brew install hub`
    #### `brew install hub`

    This is easily one of my favorites. You can think of `hub` as all the same functionality of `git`, but with add-ons that make it compatible with GitHub.

    When you're deep in the codebase and realize that you haven't commited any of your hard work to GitHub, it's annoying to have to jump over to your browser, surf to https://github.com, create a new repo, etc. That context switch just pulled you away from your important work and forced you to interact with – _gulp_ – a GUI interface. How unfitting. This is where `hub` comes into play. Important tasks that you were once only able to do through GitHub are now available via the terminal. Want to create a new remote repo and automatically set GitHub as the origin? `hub create`. Want to open a pull request? `hub pull-request`. Want to view your remote repo on GitHub from any sub-directory? `hub browse`. Of course this is not an exhaustive list of commands for `hub`. Use `hub --help` or `man hub` for more information, customizing flags, and other goodies.
  10. Austin Wood revised this gist Mar 24, 2015. 1 changed file with 19 additions and 1 deletion.
    20 changes: 19 additions & 1 deletion lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -25,6 +25,14 @@
    * etc.
    *

    ### How To

    Homebrew is a package management system for OS X. You can read more about it [here](http://brew.sh/), or simply run
    ```sh
    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    ```
    to install it.

    First things first, you need to familiarize yourself with some of the basic homebrew commands.

    All commands start with the binary `brew`.
    @@ -39,4 +47,14 @@ Once you find the formulae you're looking for, you can run `brew install tree`.
    * `brew list` - List all installed formulae
    * `brew update` – Fetch the newest version of Homebrew and all formulae form GitHub using git.
    * `brew upgrade [formulae]` – Upgrade outdated formulae. This can take an optional argument if you only want to update one formulate
    * `remove/uninstall <formulae>` – Remove or uninstall a specific formulae
    * `brew uninstall <formulae>` – uninstall a specific formulae

    There are a myriad of other commands and tasks you can run that we won't discuss in detail here. Running `man brew` or reading the [documentation](https://git.io/brew-docs) linked on Homebrew's main page.

    ### Best Of

    Now that you know how Homebrew functions, let's get into so of the best packages to install.

    Right off the bat, brew is useful for things like git, vim, zsh, tmux, and many more base level tools that a lot of developers normally already have. We're going to look at some lesser known packages, but just know that Homebrew is getting larger, and almost anything that you would want that runs in the terminal is available as a homebrew package. If it isn't, it's *incredibly* easy to make it yourself. More on this later.

    #### `brew install hub`
  11. Austin Wood revised this gist Mar 21, 2015. 1 changed file with 4 additions and 4 deletions.
    8 changes: 4 additions & 4 deletions lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -36,7 +36,7 @@ If you are looking for something in particular, you can first search for it to s
    Once you find the formulae you're looking for, you can run `brew install tree`.

    ###### other important commands
    `brew list` - List all installed formulae
    `brew update` – Fetch the newest version of Homebrew and all formulae form GitHub using git.
    `brew upgrade [formulae]` – Upgrade outdated formulae. This can take an optional argument if you only want to update one formulate
    `remove/uninstall <formulae>` – Remove or uninstall a specific formulae
    * `brew list` - List all installed formulae
    * `brew update` – Fetch the newest version of Homebrew and all formulae form GitHub using git.
    * `brew upgrade [formulae]` – Upgrade outdated formulae. This can take an optional argument if you only want to update one formulate
    * `remove/uninstall <formulae>` – Remove or uninstall a specific formulae
  12. Austin Wood revised this gist Mar 21, 2015. 1 changed file with 18 additions and 5 deletions.
    23 changes: 18 additions & 5 deletions lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,3 @@
    # How to Homebrew

    ### Let's see how many Awesome Homebrew packages we can go through in five minutes. Ready? Go!

    * tree
    * wget
    * htop
    @@ -26,4 +22,21 @@
    ### Other useful Tools (if there is time)
    * Point for Mac
    * Tab Snooze
    * etc.
    * etc.
    *

    First things first, you need to familiarize yourself with some of the basic homebrew commands.

    All commands start with the binary `brew`.

    ###### brew search
    If you are looking for something in particular, you can first search for it to see if homebrew has a formulae for what you're looking for. For example, running `brew search tree` will return `mvptree pstree tree treecc treeline`.

    ###### brew install
    Once you find the formulae you're looking for, you can run `brew install tree`.

    ###### other important commands
    `brew list` - List all installed formulae
    `brew update` – Fetch the newest version of Homebrew and all formulae form GitHub using git.
    `brew upgrade [formulae]` – Upgrade outdated formulae. This can take an optional argument if you only want to update one formulate
    `remove/uninstall <formulae>` – Remove or uninstall a specific formulae
  13. Austin Wood revised this gist Mar 5, 2015. No changes.
  14. Austin Wood revised this gist Mar 5, 2015. 1 changed file with 1 addition and 0 deletions.
    1 change: 1 addition & 0 deletions lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -13,6 +13,7 @@
    * ranger
    * pyenv
    * rbenv
    * more to come...

    ### Go into detail about why Homebew Cask is so awesome
    * nearly all applications you can think of are downloadable with cask
  15. Austin Wood created this gist Mar 5, 2015.
    28 changes: 28 additions & 0 deletions lightning_talk_01.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,28 @@
    # How to Homebrew

    ### Let's see how many Awesome Homebrew packages we can go through in five minutes. Ready? Go!

    * tree
    * wget
    * htop
    * cask
    * the silver searcher
    * hub
    * vim
    * tmux
    * ranger
    * pyenv
    * rbenv

    ### Go into detail about why Homebew Cask is so awesome
    * nearly all applications you can think of are downloadable with cask
    * “To install, drag this icon…” no more!

    ### How to keep Homebrew and Homebrew Cask clean and happy
    * aliases for pruning and cleaning


    ### Other useful Tools (if there is time)
    * Point for Mac
    * Tab Snooze
    * etc.