brew: make it easier to install optional tools
This commit is contained in:
parent
c9fb06d4a7
commit
8a1bd822f8
@ -7,5 +7,5 @@ My personal configuration files.
|
|||||||
1. Clone this repository into `~/dotfiles`
|
1. Clone this repository into `~/dotfiles`
|
||||||
2. Install [Homebrew](https://brew.sh/): `./install-brew.sh`
|
2. Install [Homebrew](https://brew.sh/): `./install-brew.sh`
|
||||||
3. Install tools: `brew bundle install --file=brew/Brewfile`
|
3. Install tools: `brew bundle install --file=brew/Brewfile`
|
||||||
4. (Optional) Install more tools: `brew bundle install --file=brew/opt/Brewfile`
|
4. Install optional tools: `brew/install-extra.sh [--casks]`
|
||||||
5. Install everything else, including symlinks: `./install.sh`
|
5. Install everything else, including symlinks: `./install.sh`
|
||||||
|
44
brew/install-extra.fish
Executable file
44
brew/install-extra.fish
Executable file
@ -0,0 +1,44 @@
|
|||||||
|
#!/usr/bin/env fish
|
||||||
|
|
||||||
|
# TODO: how to handle other taps (especially an issue for casks)
|
||||||
|
|
||||||
|
function _install_extra_brews --argument-names favorite_brews
|
||||||
|
set --local brew_pkgs_installed (string collect (brew list))
|
||||||
|
set --local brew_pkgs_options
|
||||||
|
for brew_pkg in (cat $favorite_brews)
|
||||||
|
if not contains -- $brew_pkg $brew_pkgs_installed
|
||||||
|
set -a brew_pkgs_options $brew_pkg
|
||||||
|
end
|
||||||
|
end
|
||||||
|
set --local brew_pkgs_inst (string split ' ' -- $brew_pkgs_options | eval "fzf --prompt='[brew:install] '")
|
||||||
|
if test (count $brew_pkgs_inst) -gt 0
|
||||||
|
echo "Installing: $brew_pkgs_inst"
|
||||||
|
brew install $brew_pkgs_inst
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function _install_extra_casks --argument-names favorite_casks
|
||||||
|
set --local brew_casks_installed (string collect (brew cask list))
|
||||||
|
set --local brew_casks_options
|
||||||
|
for brew_cask in (cat $favorite_casks)
|
||||||
|
if not contains -- $brew_cask $brew_casks_installed
|
||||||
|
set -a brew_casks_options $brew_cask
|
||||||
|
end
|
||||||
|
end
|
||||||
|
set --local brew_casks_inst (string split ' ' -- $brew_casks_options | eval "fzf --prompt='[brew:install] '")
|
||||||
|
if test (count $brew_casks_inst) -gt 0
|
||||||
|
echo "Installing: $brew_casks_inst"
|
||||||
|
brew cask install $brew_casks_inst
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
set --local script_dir (dirname (status -f))
|
||||||
|
|
||||||
|
if contains -- '--casks' $argv
|
||||||
|
_install_extra_casks (string join '/' -- $script_dir 'casks.txt')
|
||||||
|
else
|
||||||
|
_install_extra_brews (string join '/' -- $script_dir 'brews.txt')
|
||||||
|
end
|
||||||
|
|
||||||
|
functions --erase _install_extra_brews
|
||||||
|
functions --erase _install_extra_casks
|
Loading…
x
Reference in New Issue
Block a user