MacOS: Difference between revisions

From DrewWiki
Jump to navigation Jump to search
m (add nvm)
m (missing ")
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
macOS Mojave 10.14.6 (at the time of this writing)
macOS Sonoma 14.5


First manually:
First manually:
* brew
* brew
* synergy
* synergy (not really needed for this setup)
* google chrome
* google chrome
* google drive
* insync (or google drive)
* firefox
* firefox
* audacity
* vscode
* keybase
* 8BitDo Firmware Updater
* PIA
* Tor Browser
* MongoDB Compass
* FTDIUSBSerialDextInstaller_1_5_0


Enable drag on ctrl+cmd gesture:
<syntaxhighlight lang-bash>
defaults write -g NSWindowShouldDragOnGesture -bool true
# reboot
</syntaxhighlight>
Then Via Brew:
Then Via Brew:
<syntaxhighlight lang="bash" line="1">
brew install android-file-transfer ansible ansible-lint atomicparsley audacity ffmpeg \
gimp git glance gnu-sed gnupg gh google-cloud-sdk inkscape iterm2 imagemagick \
iperf3 openjdk@11 openjdk@17 openjdk@21 jq keepassxc keybase mongosh \
nmap nvm openconnect openssl openvpn p7zip pstree psutils qbittorrent rename rbenv shellcheck \
slack telnet tfenv tunnelblick watch wget wireguard wireshark Ultimaker-Cura vlc \
vnc-viewer xpdf xz zsh-completion
# no longer in brew - encfs istats sqlitebrowser macfuse..
</syntaxhighlight>
With brew cask:
<syntaxhighlight lang="bash">
brew install --cask balenaetcher dia inkscape qflipper mqtt-explorer \
rar raspberry-pi-imager stats zoom
</syntaxhighlight>
After macfuse is installed, and may no longer work?
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
brew install ansible atomicparsley bash-completion ffmpeg git gnu-sed gnupg hub imagemagick jq kpcli nmap nvm openconnect openssl openvpn p7zip pstree psutils rename rbenv shellcheck sqlitebrowser telnet watch unrar wget xz
brew install sshfs encfs
</syntaxhighlight>
</syntaxhighlight>
~/.zshrc
<syntaxhighlight lang=bash>
export PATH="$HOME/.local/bin:$PATH"
# TODO how does this work in zsh
#export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
#export HISTSIZE=100000                  # big big history
#export HISTFILESIZE=100000              # big big history
#shopt -s histappend                      # append to history, don't overwrite it
# Save and reload the history after each command finishes
# export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"
export EDITOR=vim
export MVN_HOME=/usr/local/maven


~/.bashrc
export NVM_DIR="$HOME/.nvm"
<syntaxhighlight lang=bash>
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
# wget -O .bash_aliases https://raw.githubusercontent.com/drew-holt/ubuntu-setup-bash/master/bash_profile
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm"
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi


git-pers
function set_aws {
</syntaxhighlight>
  eval $(awsenv shell $1)
}
function login_aws {
  open $(awsenv console $1)
}


~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
<syntaxhighlight lang=bash>
eval "$(rbenv init -)"
. "$HOME/.bashrc"


[[ -r "/usr/local/etc/profile.d/bash_completion.sh" ]] && . "/usr/local/etc/profile.d/bash_completion.sh"
export PATH="$HOME/.tfenv/bin:$PATH"


# NVM
complete -C '$HOME/.local/bin/aws_completer' aws
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh


parse_git_branch() {
function set_aws {
    git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
  eval $(awsenv shell $1)
}
function login_aws {
  open $(awsenv console $1)
}
}
export PS1="\h:\[\033[32m\]\W\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
 
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"
 
source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"
 
# may need chmod -R go-w '/usr/local/share'
autoload -Uz compinit && compinit
 
echo 'export PATH="/usr/local/opt/openjdk@21/bin:$PATH"' >> ~/.zshrc
 
alias j11="export JAVA_HOME=/usr/local/opt/openjdk@11 ; java -version"
alias j17="export JAVA_HOME=/usr/local/opt/openjdk@17 ; java -version"
alias j21="export JAVA_HOME=/usr/local/opt/openjdk@21 ; java -version"
</syntaxhighlight>
</syntaxhighlight>
~/.gitconfig
~/.gitconfig
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 56: Line 109:
         diff = auto
         diff = auto
</syntaxhighlight>
</syntaxhighlight>
Then Via Brew Cask:
<syntaxhighlight lang=bash>
brew cask install android-file-transfer atom gimp inkscape java keepassxc osxfuse qbittorrent slack vlc tunnelblick vnc-viewer wireshark
</syntaxhighlight>
After osxfuse is installed
<syntaxhighlight lang=bash>
brew install sshfs encfs
</syntaxhighlight>
Install packages via apm (atom package manager):
<syntaxhighlight lang=bash>
Pull from github.com/drew-holt/ubuntu_setup_bash.sh
</syntaxhighlight>
Then Larger Via Brew Cask:
Then Larger Via Brew Cask:
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
brew cask install libreoffice
brew cask install libreoffice
</syntaxhighlight>
</syntaxhighlight>
Pipe to clipboard from terminal
Pipe to clipboard from terminal
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
cat list_of_stuff | pbcopy
cat list_of_stuff | pbcopy
</syntaxhighlight>
</syntaxhighlight>
Setup git
Setup git
<syntaxhighlight>
<syntaxhighlight>
Line 89: Line 124:
git config --global gpg.program /usr/local/bin/gpg
git config --global gpg.program /usr/local/bin/gpg
</syntaxhighlight>
</syntaxhighlight>
= Other OS X Software =
= Other OS X Software =
* XQuartz
* SoundFlower - https://github.com/mattingalls/Soundflower
* 32 Lives (32-bit to 64-bit Audio Units and VST plug-ins adapter)
* 32 Lives (32-bit to 64-bit Audio Units and VST plug-ins adapter)
* 3T MongoChef
* 3T MongoChef
Line 98: Line 130:
* Arduino
* Arduino
* Blender
* Blender
* ChefDK
* Cura
* Cura
* Gitter
* IntelliJ IDEA CE
* IntelliJ IDEA CE
* Minecraft
* OminGraffle
* OminGraffle
* PolyMC
* SketchUp
* Slic3r
* Slic3r
* SoundFlower - https://github.com/mattingalls/Soundflower
* VirtualBox
* VirtualBox
* XQuartz
* Xcode
* Xcode
* ChefDK
* SketchUp
* Gitter
== other brew ==
== other brew ==
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 114: Line 149:
rvm ** using rbenv now
rvm ** using rbenv now
</syntaxhighlight>
</syntaxhighlight>
= To-do =
= To-do =
*Time Machine Backup
*Time Machine Backup
*Proper Windows -> Mac modifier keys
*Proper Windows -> Mac modifier keys
*Make Windows key not invoke unity when in synergy or Virtualbox
*Make Windows key not invoke unity when in synergy or Virtualbox
*Add Ctrl+Command to move windows from anywhere with cursor

Latest revision as of 18:31, 2 July 2024

macOS Sonoma 14.5

First manually:

  • brew
  • synergy (not really needed for this setup)
  • google chrome
  • insync (or google drive)
  • firefox
  • vscode
  • 8BitDo Firmware Updater
  • PIA
  • Tor Browser
  • MongoDB Compass
  • FTDIUSBSerialDextInstaller_1_5_0


Enable drag on ctrl+cmd gesture:

defaults write -g NSWindowShouldDragOnGesture -bool true
# reboot

Then Via Brew:

brew install android-file-transfer ansible ansible-lint atomicparsley audacity ffmpeg \
gimp git glance gnu-sed gnupg gh google-cloud-sdk inkscape iterm2 imagemagick \
iperf3 openjdk@11 openjdk@17 openjdk@21 jq keepassxc keybase mongosh \
nmap nvm openconnect openssl openvpn p7zip pstree psutils qbittorrent rename rbenv shellcheck \
slack telnet tfenv tunnelblick watch wget wireguard wireshark Ultimaker-Cura vlc \
vnc-viewer xpdf xz zsh-completion

# no longer in brew - encfs istats sqlitebrowser macfuse..

With brew cask:

brew install --cask balenaetcher dia inkscape qflipper mqtt-explorer \
rar raspberry-pi-imager stats zoom

After macfuse is installed, and may no longer work?

brew install sshfs encfs

~/.zshrc

export PATH="$HOME/.local/bin:$PATH"

# TODO how does this work in zsh
#export HISTCONTROL=ignoredups:erasedups  # no duplicate entries
#export HISTSIZE=100000                   # big big history
#export HISTFILESIZE=100000               # big big history
#shopt -s histappend                      # append to history, don't overwrite it

# Save and reload the history after each command finishes
# export PROMPT_COMMAND="history -a; history -c; history -r; $PROMPT_COMMAND"

export EDITOR=vim
export MVN_HOME=/usr/local/maven

export NVM_DIR="$HOME/.nvm"
[ -s "/usr/local/opt/nvm/nvm.sh" ] && \. "/usr/local/opt/nvm/nvm.sh"  # This loads nvm
[ -s "/usr/local/opt/nvm/etc/bash_completion.d/nvm" ] && \. "/usr/local/opt/nvm/etc/bash_completion.d/nvm"

function set_aws {
  eval $(awsenv shell $1)
}
function login_aws {
  open $(awsenv console $1)
}

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

export PATH="$HOME/.tfenv/bin:$PATH"

complete -C '$HOME/.local/bin/aws_completer' aws

function set_aws {
  eval $(awsenv shell $1)
}
function login_aws {
  open $(awsenv console $1)
}

source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/path.zsh.inc"

source "/usr/local/Caskroom/google-cloud-sdk/latest/google-cloud-sdk/completion.zsh.inc"

# may need chmod -R go-w '/usr/local/share'
autoload -Uz compinit && compinit

echo 'export PATH="/usr/local/opt/openjdk@21/bin:$PATH"' >> ~/.zshrc

alias j11="export JAVA_HOME=/usr/local/opt/openjdk@11 ; java -version"
alias j17="export JAVA_HOME=/usr/local/opt/openjdk@17 ; java -version"
alias j21="export JAVA_HOME=/usr/local/opt/openjdk@21 ; java -version"

~/.gitconfig

[user]
        name = Drew Holt
        email = XXXXXXXXXXXXXXXX
[gpg]
        program = /usr/local/bin/gpg
#[credential]
#       helper = osxkeychain
[color]
        status = auto
        branch = auto
        interactive = auto
        diff = auto

Then Larger Via Brew Cask:

brew cask install libreoffice

Pipe to clipboard from terminal

cat list_of_stuff | pbcopy

Setup git

populate or import ~/.gnupg/
gpg --list-keys
brew install pinentry-mac
git config --global gpg.program /usr/local/bin/gpg

Other OS X Software

  • 32 Lives (32-bit to 64-bit Audio Units and VST plug-ins adapter)
  • 3T MongoChef
  • Android Studio
  • Arduino
  • Blender
  • ChefDK
  • Cura
  • Gitter
  • IntelliJ IDEA CE
  • Minecraft
  • OminGraffle
  • PolyMC
  • SketchUp
  • Slic3r
  • SoundFlower - https://github.com/mattingalls/Soundflower
  • VirtualBox
  • XQuartz
  • Xcode

other brew

gradle24
maven
rvm ** using rbenv now

To-do

  • Time Machine Backup
  • Proper Windows -> Mac modifier keys
  • Make Windows key not invoke unity when in synergy or Virtualbox
  • Add Ctrl+Command to move windows from anywhere with cursor