Skip to content

Commit 34ec923

Browse files
committed
installs: improve install script
1 parent 41d0f89 commit 34ec923

File tree

3 files changed

+124
-100
lines changed

3 files changed

+124
-100
lines changed

.config/install/Brewfile

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
# Taps
2+
tap "homebrew/bundle"
3+
tap "homebrew/cask-versions"
4+
tap "homebrew/services"
5+
tap "laishulu/homebrew"
6+
tap "microsoft/git"
7+
tap "nikitabobko/tap"
8+
9+
# CLI Tools
10+
brew "bat"
11+
brew "bat-extras"
12+
brew "cargo-c"
13+
brew "clipboard"
14+
brew "curl"
15+
brew "curlie"
16+
brew "diff-so-fancy"
17+
brew "diffnav"
18+
brew "difftastic"
19+
brew "eza"
20+
brew "fd"
21+
brew "fzf"
22+
brew "gh"
23+
brew "git"
24+
brew "git-delta"
25+
brew "go"
26+
brew "gum"
27+
brew "htop"
28+
brew "httpie"
29+
brew "jq"
30+
brew "jsonlint"
31+
brew "lua-language-server"
32+
brew "luarocks"
33+
brew "macism"
34+
brew "neovim"
35+
brew "node"
36+
brew "nowplaying-cli"
37+
brew "nvm"
38+
brew "postgresql"
39+
brew "prettierd"
40+
brew "pyenv"
41+
brew "qemu"
42+
brew "readline"
43+
brew "ripgrep"
44+
brew "ripgrep-all"
45+
brew "rust"
46+
brew "selene"
47+
brew "starship"
48+
brew "shellcheck"
49+
brew "sqlite3"
50+
brew "stow"
51+
brew "tcl-tk"
52+
brew "tmux"
53+
brew "wget"
54+
brew "xz"
55+
brew "yamllint"
56+
brew "yarn"
57+
brew "yazi"
58+
brew "zlib"
59+
brew "zoxide"
60+
61+
# Cask Applications
62+
cask "aerospace"
63+
cask "figma"
64+
cask "font-3270-nerd-font"
65+
cask "font-jetbrains-mono-nerd-font"
66+
cask "font-monaspice-nerd-font"
67+
cask "font-sf-pro"
68+
cask "ghostty"
69+
cask "google-chrome"
70+
cask "imageoptim"
71+
cask "insomnia"
72+
cask "keycastr"
73+
cask "kitty"
74+
cask "obsidian"
75+
cask "pgadmin4"
76+
cask "sf-symbols"
77+
cask "spotify"
78+
cask "visual-studio-code"
79+
cask "zoom"

.config/install/brew.sh

Lines changed: 0 additions & 90 deletions
This file was deleted.

.config/install/install.sh

Lines changed: 45 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,52 @@
22
export DOTFILES_DIR EXTRA_DIR
33
DOTFILES_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && cd .. && pwd)"
44

5-
# Install oh-my-zsh
6-
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
5+
# Install oh-my-zsh if not installed
6+
if [ ! -d "$HOME/.oh-my-zsh" ]; then
7+
echo "Installing oh-my-zsh..."
8+
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
9+
echo "oh-my-zsh installation complete."
10+
else
11+
echo "oh-my-zsh already installed, skipping."
12+
fi
713

8-
# Install brew with packages & casks, composer and yarn global packages
9-
. "$DOTFILES_DIR/install/brew.sh"
14+
# Install Homebrew if not installed
15+
if ! command -v brew &> /dev/null; then
16+
echo "Installing Homebrew..."
17+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
18+
echo "Homebrew installation complete."
19+
else
20+
echo "Homebrew already installed, skipping."
21+
fi
1022

11-
# Install UV
12-
sh -c "$(curl -fsSL https://astral.sh/uv/install.sh)"
23+
# Install brew packages & casks from brewfile
24+
echo "Installing brew packages from Brewfile..."
25+
brew bundle --file="$DOTFILES_DIR/install/brewfile"
26+
echo "Brew packages installation complete."
1327

14-
# Claude CLI
15-
curl -fsSL https://claude.ai/install.sh | sh
28+
# Install UV if not installed
29+
if ! command -v uv &> /dev/null; then
30+
echo "Installing UV..."
31+
sh -c "$(curl -fsSL https://astral.sh/uv/install.sh)"
32+
echo "UV installation complete."
33+
else
34+
echo "UV already installed, skipping."
35+
fi
1636

17-
# OpenCode: https://opencode.ai/docs
18-
curl -fsSL https://opencode.ai/install | sh
37+
# Install Claude CLI if not installed
38+
if ! command -v claude &> /dev/null; then
39+
echo "Installing Claude CLI..."
40+
curl -fsSL https://claude.ai/install.sh | sh
41+
echo "Claude CLI installation complete."
42+
else
43+
echo "Claude CLI already installed, skipping."
44+
fi
45+
46+
# Install OpenCode if not installed: https://opencode.ai/docs
47+
if ! command -v opencode &> /dev/null; then
48+
echo "Installing OpenCode..."
49+
curl -fsSL https://opencode.ai/install | sh
50+
echo "OpenCode installation complete."
51+
else
52+
echo "OpenCode already installed, skipping."
53+
fi

0 commit comments

Comments
 (0)