Skip to content

Instantly share code, notes, and snippets.

@shurick81
Last active July 19, 2025 10:54
Show Gist options
  • Save shurick81/aacc7f8b67005bbf76bd2958523ecc37 to your computer and use it in GitHub Desktop.
Save shurick81/aacc7f8b67005bbf76bd2958523ecc37 to your computer and use it in GitHub Desktop.
Mac Provisioning
pkg_url=$(mist list installer 24F74 -o yaml -q | yq '.[].packages[] | select(.url | test("InstallAssistant.pkg")) | .url');
curl -L $pkg_url -o InstallAssistant.pkg
ipsw_url=$(mist list ipsw 24F74 -o yaml -q | yq '.[0].url');
filename=$(basename "$ipsw_url");
curl -L $ipsw_url -o $filename -C - --retry 5 --retry-all-errors;
vm_name="macOS-Sequoia"
vm_dir="~/Library/Containers/com.utmapp.UTM/Data/Documents/$vm_name.utm"
mkdir -p "$vm_dir/Images"
mkdir -p "$vm_dir/Data"
cat > "$vm_dir/config.plist" <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>UTMConfigurationVersion</key>
<string>2.0</string>
<key>Virtualization</key>
<dict>
<key>Architecture</key>
<string>aarch64</string>
<key>CPUs</key>
<integer>4</integer>
<key>MemorySize</key>
<integer>8589934592</integer>
<key>DiskImages</key>
<array>
<dict>
<key>Path</key>
<string>Images/macOS.qcow2</string>
<key>Size</key>
<integer>68719476736</integer>
</dict>
</array>
<key>RestoreImage</key>
<string>$PWD/UniversalMac_15.5_24F74_Restore.ipsw</string>
</dict>
</dict>
</plist>
EOF
qemu-img create -f qcow2 "$vm_dir/Images/macOS.qcow2" 64G;
open -a UTM "~/Library/Containers/com.utmapp.UTM/Data/Documents/$vm_name.utm"
utmctl start "$vm_name";
# xcode-select --install
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
cd /opt/homebrew/bin/
ls
PATH=$PATH:/opt/homebrew/bin
cd
touch .zshrc
echo export PATH=$PATH:/opt/homebrew/bin -> .zshrc
brew install ubuntu/microk8s/microk8s
multipass delete microk8s-vm
multipass purge
microk8s install --channel=1.33/stable --cpu 6 --mem 6
microk8s status --wait-ready
microk8s kubectl create deployment hello-web --image=nginx
microk8s kubectl expose deployment hello-web --type=NodePort --port=80
port=$(microk8s kubectl get svc hello-web -o jsonpath='{.spec.ports[0].nodePort}')
internal_ip=$(microk8s kubectl get nodes -o jsonpath="{.items[0].status.addresses[?(@.type=='InternalIP')].address}")
curl http://$internal_ip:$port
microk8s kubectl delete svc hello-web
microk8s kubectl delete deployment hello-web
multipass exec microk8s-vm -- sudo snap install juju --channel=3.6/stable
multipass exec microk8s-vm -- juju version
multipass exec microk8s-vm -- sudo usermod -a -G microk8s ubuntu
multipass exec microk8s-vm -- mkdir /home/ubuntu/.kube
multipass exec microk8s-vm -- sudo chown -R ubuntu /home/ubuntu/.kube
multipass stop microk8s-vm
multipass start microk8s-vm
microk8s enable hostpath-storage
multipass exec microk8s-vm -- sh -c 'microk8s config | juju add-k8s local-k8s --client'
multipass exec microk8s-vm -- juju clouds
multipass exec microk8s-vm -- juju bootstrap local-k8s
multipass exec microk8s-vm -- juju controllers
multipass exec microk8s-vm -- juju add-model kubeflow
multipass exec microk8s-vm -- sh -c 'cat <<EOF > arm-overlay.yaml
applications:
kubeflow-dashboard:
options:
node-selector: "kubernetes.io/arch=arm64"
EOF'
multipass exec microk8s-vm -- juju deploy kubeflow --channel=1.10/edge --overlay ./arm-overlay.yaml --trust
multipass exec microk8s-vm -- juju status --watch 5s
brew doctor
brew install --cask keepassxc
brew install --cask cursor
brew install --cask visual-studio-code
brew install --cask drawio
brew install git
brew install --cask docker
brew install docker-buildx
brew install --cask telegram
brew install --cask microsoft-remote-desktop
brew install --cask microsoft-onenote
brew install --cask yubico-yubikey-manager
brew install --cask vlc
brew install --cask microsoft-teams
brew install --cask paintbrush
brew install --cask gimp
brew install --cask google-chrome
brew install --cask whatsapp
brew install --cask microsoft-outlook
brew install --cask microsoft-word
brew install --cask audacity
brew install --cask steam
brew install --cask battle-net
brew install --cask logitech-g-hub
brew install --cask nx-studio
brew install --cask claude
brew install caddy
brew install azure-cli
brew install --cask superwhisper
brew install mist
brew install yq
brew install --cask utm
brew install qemu
code --install-extension eamodio.gitlens
code --install-extension ms-azure-devops.azure-pipelines
code --install-extension HashiCorp.terraform
code --install-extension redhat.vscode-xml
code --install-extension bierner.markdown-mermaid
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-azuretools.vscode-docker
code --install-extension GitHub.codespaces
code --install-extension ms-vscode.live-server
code --install-extension DotJoshJohnson.xml
code --install-extension ms-azuretools.vscode-bicep
code --install-extension donjayamanne.githistory
code --install-extension hashicorp.hcl
code --install-extension GitHub.copilot
code --install-extension ms-python.python
mkdir ~/Desktop/Screenshots
defaults write com.apple.screencapture location ~/Desktop/Screenshots/
killall SystemUIServer
git config --global user.email "[email protected]"
git config --global user.name "Aleksandr Sapozhkov"
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
cd /opt/homebrew/bin/
ls
PATH=$PATH:/opt/homebrew/bin
cd
touch .zshrc
echo export PATH=$PATH:/opt/homebrew/bin -> .zshrc
brew install --cask cursor
brew install --cask visual-studio-code
brew install --cask drawio
brew install --cask docker
brew install --cask superwhisper
brew install azure-cli
code --install-extension eamodio.gitlens
code --install-extension ms-azure-devops.azure-pipelines
code --install-extension HashiCorp.terraform
code --install-extension bierner.markdown-mermaid
code --install-extension ms-vscode-remote.remote-containers
code --install-extension ms-azuretools.vscode-docker
code --install-extension GitHub.codespaces
code --install-extension DotJoshJohnson.xml
code --install-extension ms-azuretools.vscode-bicep
code --install-extension ms-azuretools.vscode-azurefunctions
code --install-extension HashiCorp.HCL
code --install-extension shardulm94.trailing-spaces
mkdir ~/Desktop/Screenshots
defaults write com.apple.screencapture location ~/Desktop/Screenshots/
killall SystemUIServer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment