From 2689810b1a4ca7f326dbe908b949ee076f1588f9 Mon Sep 17 00:00:00 2001 From: Noah Masur Date: Sat, 28 Nov 2020 12:53:42 -0500 Subject: [PATCH] split homebrew bundle files --- .gitignore | 3 +- homebrew/Brewfile | 53 ----------------------------------- homebrew/core.Brewfile | 16 +++++++++++ homebrew/devops.Brewfile | 13 +++++++++ homebrew/programming.Brewfile | 7 +++++ homebrew/utils.Brewfile | 25 +++++++++++++++++ scripts/all_brews | 17 +++++++++++ scripts/bootstrap | 3 +- 8 files changed, 81 insertions(+), 56 deletions(-) delete mode 100644 homebrew/Brewfile create mode 100644 homebrew/core.Brewfile create mode 100644 homebrew/devops.Brewfile create mode 100644 homebrew/programming.Brewfile create mode 100644 homebrew/utils.Brewfile create mode 100755 scripts/all_brews diff --git a/.gitignore b/.gitignore index a2f3eca..240d7ed 100644 --- a/.gitignore +++ b/.gitignore @@ -6,5 +6,4 @@ nvim.configlink/autoload/** spacemacs.d.symlink/.spacemacs.env fish.configlink/config.fish.bac fish_variables -*.lock.json - +homebrew/*.lock.json diff --git a/homebrew/Brewfile b/homebrew/Brewfile deleted file mode 100644 index 808d6ff..0000000 --- a/homebrew/Brewfile +++ /dev/null @@ -1,53 +0,0 @@ -# Homebrew Installations - -tap "nmasur/repo" -tap "cjbassi/ytop" -tap "superfly/tap" - -brew "fish" # My shell -brew "neovim" # My editor -brew "git" # Latest git -brew "exa" # Better ls -brew "tmux" # Terminal panes and windows -brew "tealdeer" # Mini man page -brew "starship" # Shell prompt -brew "ripgrep" # Faster, better grep -brew "fzf" # Fuzzy finder -brew "fd" # Faster, better find -brew "sd" # Faster, better sed -brew "bat" # Better cat -brew "zoxide" # Better autojump -brew "jq" # JSON manipulation -brew "xsv" # CSV manipulation -brew "dos2unix" # File conversion -brew "trash" # Delete to trash -brew "wget" # Not quite curl -brew "telnet" # Check networking -brew "prettyping" # Better ping -brew "httpie" # Better curl -brew "nushell" # Data manipulation shell -brew "shellcheck" # Lint for bash -brew "python" # Latest version of Python -brew "poetry" # Project-based Python dependencies -brew "ruby" # Newer than default ruby -brew "ansible" # Deploy to local server -brew "terraform" # Deploy cloud infra -brew "node" # Ugh, nodejs (for Vim CoC) -brew "packer" # Build deployment images -brew "gpg" # Encryption -brew "qrencode" # Make a QR code -brew "youtube-dl" # Download YouTube videos -brew "googler" # Search Google -brew "gh" # GitHub commands -brew "pandoc" # Document converter -brew "awscli" # AWS API tools -brew "kubectl" # Kubernetes CLI -brew "cjbassi/ytop/ytop" # Fancy system performance -brew "haskell-stack" # Latest version of Haskell -brew "noti" # Create system notifications -brew "kakoune" # Modal editor -brew "b2-tools" # BackBlaze B2 storage -brew "k9s" # Kubernetes TUI -brew "superfly/tap/flyctl" # Fly.io CLI -brew "nmasur/repo/drips" # Retrieve AWS IPs -brew "nmasur/repo/update-ssh-config" # Update .ssh/config diff --git a/homebrew/core.Brewfile b/homebrew/core.Brewfile new file mode 100644 index 0000000..1fbbcc7 --- /dev/null +++ b/homebrew/core.Brewfile @@ -0,0 +1,16 @@ +# Core Packages + +brew "fish" # My shell +brew "neovim" # My editor +brew "git" # Latest git +brew "exa" # Better ls +brew "tmux" # Terminal panes and windows +brew "tealdeer" # Mini man page +brew "starship" # Shell prompt +brew "ripgrep" # Faster, better grep +brew "fzf" # Fuzzy finder +brew "fd" # Faster, better find +brew "sd" # Faster, better sed +brew "bat" # Better cat +brew "zoxide" # Better autojump +brew "node" # Ugh, nodejs (for Vim CoC) diff --git a/homebrew/devops.Brewfile b/homebrew/devops.Brewfile new file mode 100644 index 0000000..682f9e3 --- /dev/null +++ b/homebrew/devops.Brewfile @@ -0,0 +1,13 @@ +# DevOps Packages + +tap "nmasur/repo" +tap "superfly/tap" + +brew "ansible" # Deploy to local server +brew "terraform" # Deploy cloud infra +brew "packer" # Build deployment images +brew "awscli" # AWS API tools +brew "kubectl" # Kubernetes CLI +brew "k9s" # Kubernetes TUI +brew "superfly/tap/flyctl" # Fly.io CLI +brew "nmasur/repo/drips" # Retrieve AWS IPs diff --git a/homebrew/programming.Brewfile b/homebrew/programming.Brewfile new file mode 100644 index 0000000..c938ba4 --- /dev/null +++ b/homebrew/programming.Brewfile @@ -0,0 +1,7 @@ +# Programming Packages + +brew "shellcheck" # Lint for bash +brew "python" # Latest version of Python +brew "poetry" # Project-based Python dependencies +brew "ruby" # Newer than default ruby +brew "haskell-stack" # Latest version of Haskell diff --git a/homebrew/utils.Brewfile b/homebrew/utils.Brewfile new file mode 100644 index 0000000..99af285 --- /dev/null +++ b/homebrew/utils.Brewfile @@ -0,0 +1,25 @@ +# Utility Packages + +tap "nmasur/repo" +tap "cjbassi/ytop" + +brew "jq" # JSON manipulation +brew "xsv" # CSV manipulation +brew "dos2unix" # File conversion +brew "trash" # Delete to trash +brew "wget" # Not quite curl +brew "telnet" # Check networking +brew "prettyping" # Better ping +brew "httpie" # Better curl +brew "nushell" # Data manipulation shell +brew "gpg" # Encryption +brew "qrencode" # Make a QR code +brew "youtube-dl" # Download YouTube videos +brew "googler" # Search Google +brew "gh" # GitHub commands +brew "pandoc" # Document converter +brew "noti" # Create system notifications +brew "b2-tools" # BackBlaze B2 storage +brew "cjbassi/ytop/ytop" # Fancy system performance +brew "nmasur/repo/update-ssh-config" # Update .ssh/config +brew "kakoune" # Modal editor diff --git a/scripts/all_brews b/scripts/all_brews new file mode 100755 index 0000000..28297d3 --- /dev/null +++ b/scripts/all_brews @@ -0,0 +1,17 @@ +#!/bin/sh + +DOTS=$(dirname "$0")/.. +cd "$DOTS" || (echo "Directory not found: $DOTS"; exit 1) +DOTS="$PWD" + +all_brews() { + brewfile=$DOTS/homebrew/Caskfile + for brewfile in $(find "$DOTS/homebrew" -iname "*.Brewfile") + do + /usr/local/bin/brew bundle check --file "$brewfile" \ + && /usr/local/bin/brew bundle --file "$brewfile" + done \ + && echo "all brews installed ✓" +} + +all_brews diff --git a/scripts/bootstrap b/scripts/bootstrap index babd2e4..008e3ec 100755 --- a/scripts/bootstrap +++ b/scripts/bootstrap @@ -28,7 +28,7 @@ install_homebrew() { } install_brews() { - brewfile=$DOTS/homebrew/Brewfile + brewfile=$DOTS/homebrew/core.Brewfile if ! (/usr/local/bin/brew bundle check --file "$brewfile" > /dev/null) then /usr/local/bin/brew bundle --file "$brewfile" @@ -102,6 +102,7 @@ use_fish_shell echo "" echo "consider running other scripts:" +echo " - all_brews" echo " - install_casks" echo " - configure_macos" echo " - install_rust"