We use Homebrew a.k.a. brew to install software on our Cloud Native Base Camp macOS computers.
This repository has our Brew, which manages much of the software that we use for projects.
This Brew helps us install:
- Hundreds of desktop applications, such as browsers, players, editors, etc.
- Hundreds of system utilities, such as command line interfaces, sysop helpers, etc.
- Dozens of programming capabilties, such as languages, toolchains, servers, etc.
To learn about brew and Brewfile capabilties, please see:
- https://brew.sh/
- https://homebrew-file.readthedocs.io/
- https://github.com/Homebrew/homebrew-bundle
- https://github.com/mas-cli/mas
Using a Brew helps us with our Infrastructure as Code (IaC) initiatives.
Feedback welcome. Pull requests welcome.
With the bee42 honeypod brewup installer
- https://github.com/nvm-sh/nvm
- https://github.com/moovweb/gvm
- https://github.com/rupa/z.git
- https://github.com/gmarik/vundle.git
- https://krew.sigs.k8s.io
- https://dagger.io
tmux
-
https://hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
-
https://dev.to/techspresso/tmux-and-vscode-persist-terminals-for-productivity-and-profit-2nd1
-
https://arcolinux.com/everything-you-need-to-know-about-tmux-status-bar/
-
https://gist.github.com/endersonmaia/3902b94585ef46a9956c0ca9e901cbdf
-
https://gist.github.com/dmytro/3984680
- multiple ssh sessions
mkdir -p $HOME/.tmux/
cd $HOME/.tmux/
git clone --depth 1 https://github.com/jonmosco/kube-tmux
#curl -sL -o $HOME/.tmux/kube-tmux/kube.tmux \
# https://raw.githubusercontent.com/jonmosco/kube-tmux/master/kube.tmux
#chmod +x $HOME/.tmux/kube-tmux/kube.tmux
cat >>~/.tmux.conf <<EOF
set -g status-right "#(/bin/bash $HOME/.tmux/kube-tmux/kube.tmux 250 red cyan)"
EOF
tmux source ~/.tmux.conf
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519-github
cat >>~/.ssh/config <<EOF
Host github.com
User git
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519-github
EOF
ssh-add --apple-use-keychain ~/.ssh/id_ed25519-github
# Add new key to your github account
cat ~/.ssh/id_ed25519-github.pub | pbcopy
Mac Apps
- https://rectangleapp.com
- https://daisydiskapp.com
- https://bjango.com/mac/istatmenus/
- https://github.com/chipmk/docker-mac-net-connect
- forward all ports from your docker for mac vm :)
- Wireguard
- XCode
On a fresh mac - make backup with timemachine first!
xcode-select --install
# find dialog and install the developer tools
mkdir -p ~/develop && cd ~develop
git clone --depth 1 https://github.com/rossbachp/brewup
cd brewup
# install brew
./happiness -b
(echo; echo 'eval "$(/opt/homebrew/bin/brew shellenv)"') >> $HOME/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
# brew full
./happiness -f
./happiness -D
# add defaults
./sync.sh
# start docker services
./happiness -c
# add docker plugins
./happiness -d
Full installation
curl -fsSL -o happiness https://raw.githubusercontent.com/rossbachp/brewup/main/happiness | bash
Features:
-
check_macos_updated
-
install_brew
-
install_brewup
-
install_terminal_profiles
-
install_brew_packages
Find more options to brewup with happiness ๐
./happiness --help
- container image registries and local git server
- install MAS apps
- install more krew plugins
- create CNBC smart kubernetes clusters
- docker tap support for better access LB and docker network
-
Create kubernetes Resource graphs with kubectl-graph
docker run -d -p 7474:7474 -p 7687:7687 -e NEO4J_AUTH=neo4j/secret neo4j
# argodb?
kubectl graph pods --field-selector status.phase=Running -n kube-system | dot -T svg -o pods.svg
-
Start kubernetes cluster with k3d or kind
- add fluxcd support :)
- cloudflared tunnel
-
support 1password vault
mas search Xcode
497799835 Xcode (15.2)
mas search wireguard
1451685025 WireGuard (1.0.16)
mas search Whatsapp
310633997 WhatsApp Messenger (24.4.4)
mas search BlackMagic
425264550 Blackmagic Disk Speed Test (3.4.2)
- Support Docker extensions cli
docker extension list --format="json" | jq -r ".[].image"
- Support containerd immage store
Start a shell at your Docker VM
Sorry is readonly file system.... exit
docker run -it --rm --privileged --pid=host justincormack/nsenter1
cat >>/etc/containerd/config.toml <<EOF
[plugins."io.containerd.grpc.v1.cri".registry]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["http://host.docker.internal:5001"]
[plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
endpoint = ["http://host.docker.internal:5002"]
EOF
- Use NIX
- Use taskfile
curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install
nix --version
echo "Hello Nix" | nix run "nixpkgs#ponysay"
Copyright (c) 2024 Peter Rossbach [email protected]
MIT License, see LICENSE.txt for more details.
Regards,