-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathinstall.sh
More file actions
177 lines (142 loc) · 8.51 KB
/
install.sh
File metadata and controls
177 lines (142 loc) · 8.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
#!/bin/bash
##
# Install Libraries, Services, and Applications
##
# Install brew (package manager) https://brew.sh/
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Enable brew
eval "$(/opt/homebrew/bin/brew shellenv)"
# Install libraries
# 1. bat (cat improvement) https://github.com/sharkdp/bat
# 2. btop (htop on steriods) https://github.com/aristocratos/btop
# 3. caddy (web server) https://caddyserver.com/
# 4. cmake (Cross-platform make) https://www.cmake.org/
# 5. deno (opensource javascript runtime) http://deno.com
# 6. fastfetch (cute system info) https://github.com/fastfetch-cli/fastfetch
# 7. ffmpeg (record, convert and stream A/V) https://ffmpeg.org/
# 8. fish (RAD shell) https://fishshell.com/
# 9. fzf (fuzzy finder used in zoxide) https://github.com/junegunn/fzf
# 10. git-filter-repo (rewrite git history) https://github.com/newren/git-filter-repo
# 11. gh. (GitHub CLI) https://cli.github.com/
# 12. go (golang) https://go.dev/
# 13. lazygit (fun git TUI) https://github.com/jesseduffield/lazygit
# 14. libffi (needed for ruby installs) https://github.com/libffi/libffi
# 15. libyaml (needed for ruby installs) https://github.com/yaml/libyaml
# 16. llvm (needed for ruby installs) https://www.llvm.org/
# 17. lsd (list improvement) https://github.com/lsd-rs/lsd
# 18. maccy (clipboard manager) https://github.com/p0deje/Maccy
# 19. mise (development environment setup tool) https://mise.jdx.dev/
# 20. mysql (relational database) https://dev.mysql.com/doc/
# 21. neovim (vim alternative) https://neovim.io
# 22. ninja (Small build system) https://ninja-build.org/
# 23. pnpm (space efficient package manager) https://pnpm.io/
# 24. redis (in memory database) https://redis.io/docs/latest/
# 25. starship (shell prompt) https://starship.rs/
# 26. tlrc (simplified man pages) https://tldr.sh/tlrc/
# 27. vips. (Image processing library) https://github.com/libvips/libvips
# 28. wget (better web getter) https://www.gnu.org/software/wget/
# 29. zoxide (smarter cd command) https://github.com/ajeetdsouza/zoxide
brew install bat btop caddy cmake deno fastfetch ffmpeg fish fzf git-filter-repo gh go lazygit libffi libyaml llvm lsd maccy mise mysql neovim ninja pnpm starship tldr vips wget zoxide
# Render for Rails production deploys
brew tap render-oss/render && brew install render
# Install cask apps
# 1. Android Studio. (Build Android apps) https://developer.android.com/studio/
# 2. Discord (Voice and text chat) https://discord.com/
# 3. GPG Suite (manage GPG keys) https://gpgtools.org/
# 4. Keeping You Awake (prevent system sleep) https://keepingyouawake.app/
# 5. Krita (painting program) https://krita.org/en/
# 6. LibreWolf (Firefox clone) https://librewolf.net/
# 7. Logitech G HUB (light controller) https://www.logitechg.com/en-us/innovation/g-hub.html
# 8. Medis (Modern GUI for Redis) https://getmedis.com/
# 9. pgAdmin (PostgresSQL admin) https://www.pgadmin.org/
# 10. PostgresApp (Postgres App) https://postgresapp.com/
# 11. QuickLook Plugins (makes quicklook better) https://www.quicklookplugins.com/
# 12. RapidAPI (api client) https://rapidapi.com
# 13. Raspberry Pi (raspberry pi imager) https://www.raspberrypi.org/downloads/
# 14. Rectangle (window manager) https://rectangleapp.com/
# 15. Rocket (emoji app) https://matthewpalmer.net/rocket/
# 16. Sequel Ace (database client) https://sequel-ace.com/
# 17. Slack (chat client) https://slack.com/
# 18. SQLiteStudio (sqlite database client) https://sqlitestudio.pl/
# 19. StreamLabs (streaming software) https://streamlabs.com/
# 20. Transmission. (BitTorrent client). https://transmissionbt.com/
# 21. UTM. (VM UI using QEMU). https://mac.getutm.app/
# 22. VSCode (text editor) https://code.visualstudio.com/
# 23. WezTerm (terminal emulator) https://wezfurlong.org/wezterm/
# 24. Whiskey (Wine Wrapper for Mac) https://github.com/Whisky-App/Whisky
# 25. Zulu. (OpenJDK distribution). https://www.azul.com/downloads/
brew install --cask android-studio discord gpg-suite keepingyouawake krita logitech-g-hub medis pgadmin4 qlcolocode qlmarkdown qlprettypatch qlvideo quicklook-csv quicklook-json quicklookase rapidapi raspberry-pi-imager rectangle rocket sequel-ace slack sqlitestudio streamlabs transmission utm visual-studio-code webquicklook wezterm whiskey zulu@21
# https://librewolf.net/docs/faq/#why-is-librewolf-marked-as-broken
brew install --cask librewolf
# You can remove the quarantine attribute from the Application using this command:
# xattr -dr com.apple.quarantine /Applications/LibreWolf.app
# How do I get native messaging to work?
# You need to add the following symbolic link:
# ln -s ~/Library/Application\ Support/Mozilla/NativeMessagingHosts ~/Library/Application\ Support/LibreWolf/NativeMessagingHosts
# Start services
brew services start mysql
brew services start redis
# Install lazyvim https://www.lazyvim.org/
git clone https://github.com/LazyVim/starter ~/.config/nvim && rm -rf ~/.config/nvim/.git
##
# Configuration
##
# Add tokyonight themes
# WezTerm https://github.com/folke/tokyonight.nvim/tree/main/extras/wezterm
mkdir -p ~/.config/wezterm
ln -fs $(pwd)/wezterm/wezterm.lua ~/.config/wezterm/wezterm.lua
# NeoVim https://github.com/folke/tokyonight.nvim/tree/main
ln -fs $(pwd)/nvim/lua/plugins/colorscheme.lua ~/.config/nvim/lua/plugins/colorscheme.lua
# Lazygit https://github.com/folke/tokyonight.nvim/tree/main/extras/lazygit
mkdir -p ~/.config/lazygit
ln -fs $(pwd)/lazygit/tokyonight_night.yml ~/.config/lazygit/config.yml
# Symlink fish configs
mkdir -p ~/.config/fish/conf.d
ln -fs $(pwd)/fish/config.fish ~/.config/fish/config.fish
ln -fs $(pwd)/fish/conf.d/* ~/.config/fish/conf.d
ln -fs $(pwd)/fish/themes ~/.config/fish
# Symlink .dotfiles
ln -fs $(pwd)/dotfiles/gemrc ~/.gemrc
ln -fs $(pwd)/dotfiles/gitconfig ~/.gitconfig
ln -fs $(pwd)/dotfiles/gitignore ~/.gitignore
ln -fs $(pwd)/dotfiles/rspec ~/.rspec
# Set fish as login shell
echo $(brew --prefix)/bin/fish | sudo tee -a /etc/shells && chsh -s $(brew --prefix)/bin/fish
# Install fisher plugin manager https://github.com/jorgebucaran/fisher
curl -sL https://raw.githubusercontent.com/jorgebucaran/fisher/main/functions/fisher.fish | source && fisher install jorgebucaran/fisher
# Install sponge plugin (removes typos from fish history) https://github.com/meaningful-ooo/sponge
fisher install meaningful-ooo/sponge
# Enable starship if not already enabled
starship init fish | source
# Set starship theme
starship preset pastel-powerline -o ~/.config/starship.toml
##
# NerdFont Integration
##
# Download NerdFont https://www.nerdfonts.com/font-downloads
curl -L -o ~/Downloads/JetBrainsMono.zip https://github.com/ryanoasis/nerd-fonts/releases/download/v3.2.1/JetBrainsMono.zip
# Unzip into Downloads
unzip ~/Downloads/JetBrainsMono.zip -d ~/Downloads/JetBrainsMono
# Open Fontbook and drag all downloaded fonts there
open -b com.apple.Fontbook
##
# App (Web and Mobile) prep
##
# Install node & ruby
mise use --global node@latest && mise use --global ruby@latest
# Insall mysql2 gem https://stackoverflow.com/questions/67840691/ld-library-not-found-for-lzstd-while-bundle-install-for-mysql2-gem-ruby-on-mac
gem install mysql2 -- --with-opt-dir=$(brew --prefix openssl) --with-ldflags=-L/opt/homebrew/opt/zstd/lib
# Insall yarn 2 in yarn 1 app https://yarnpkg.com/migration/guide#migration-steps
corepack enable
yarn set version stable
yarn install
##
# VS Code
##
# Login to vscode for settings syncing...done!
##
# Xcode
##
xcode-select --install
sudo xcode-select -s /Applications/Xcode.app
# 1. Login to AppleId & Github in Settings -> accounts