• MacOS

    • New Macs come with no git nor python3 - running these prompts you to install Xcode command line tools
  • Brew packages

    git-filter-repo
    
  • Apps to install on new Macbooks

    • Manual

      • https://github.com/schappim/macOCR
      • https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#installation
    • App store

      • MuteKey
    • Filesystems

      • Macfuse still working for me as of Sonoma: instructions

        brew tap gromgit/homebrew-fuse
        brew install --cask macfuse
        brew install ntfs-3g-mac 
        
      • Avoid FUSE-T for now: issue

        brew tap macos-fuse-t/homebrew-cask
        brew install fuse-t
        brew install fuse-t-sshfs
        
    • Homebrew

      # minimum, e.g. on TV computer
      xargs brew install --cask << "EOF"
      aldente
      alt-tab
      blackhole-2ch
      discretescroll
      google-chrome
      google-drive
      mullvadvpn
      qbittorrent
      signal
      stretchly
      tailscale
      trex
      vlc
      
      brew untap kde-mac/kde 2> /dev/null
      brew tap kde-mac/kde <https://invent.kde.org/packaging/homebrew-kde.git> --force-auto-update
      "$(brew --repo kde-mac/kde)/tools/do-caveats.sh"
      brew install --cask kde-mac/kde/kdeconnect
      
      # development
      xargs brew install --cask << "EOF"
      cdktf
      cloudflare/cloudflare/cloudflared
      cmake
      cyberduck
      descript
      docker
      homebrew/cask-versions/figma-beta
      flux
      gitui
      gitup
      intellij-idea
      iterm2
      kap
      rescuetime
      send-to-kindle
      visual-studio-code
      
      # more apps
      dropbox
      firefox-nightly
      handbrake
      keka
      notion
      rclone
      shadow
      stats
      steam
      syncthing
      trex
      virtualbox
      virtualbox-extension-pack
      grishka/grishka/neardrop
      
      # archived
      activitywatch
      adobe-digital-editions
      android-studio
      fluxcd/tap/flux
      keycastr
      obs
      skype
      xquartz
      code42-crashplan
      fanny
      karabiner-elements
      homebrew/cask-drivers/steelseries-exactmouse-tool
      lens
      zoom
      raycast
      EOF
      
      # for ffmpeg with all options
      brew install homebrew-ffmpeg/ffmpeg/ffmpeg $(brew options homebrew-ffmpeg/ffmpeg/ffmpeg --compact)
      
    • Homebrew over Macports

      { sed 's/#.*//' | while read line; do brew install $line; done ; } << "EOF"
      rye # doesn't include bash completions
      EOF
      
    • Macports

      { sed 's/#.*//' | while read line; do sudo port install $line; done ; } << "EOF"
      ast-grep
      bash
      bat
      broot
      cheat
      chezmoi
      choose
      curl-ca-bundle # <https://github.com/pypa/pip/issues/4205#issuecomment-360758571>
      coreutils 
      difftastic
      entr
      eza
      fd
      findutils
      fzf
      gdu
      gh
      git-delta
      git-review
      htop
      jq
      lazygit
      moreutils
      msmtp
      num-utils
      osxutils
      pcre # pcregrep
      pcre2 # pcre2grep
      pipx
      procs
      pstree 
      pv
      realpath
      ripgrep
      sd
      texlive
      texlive-latex-recommended
      trash
      zoxide
      youtube-dl +ffmpeg+python27
      yt-dlp
      
      # DB
      postgresql15 # TODO update version
      postgresql15-server # TODO update version
      
      # infra tools
      py-awscli2 # py310-awscli2
      kafkacat
      krew
      kubectl
      stern
      terraform
      act
      eksctl
      
      # more monitoring tools
      bottom
      glances
      gotop
      nnn
      zenith
      
      # more/archived tools
      dua-cli
      dotnet-cli
      dotnet-runtime-8
      dust
      fx
      pstree
      ranger
      scc
      pkgconfig # to build other stuff like postgresql
      ffmpeg
      wget +ssl
      cliclick
      croc
      fswatch
      graphviz
      grsync
      helm-3.6 # check latest version
      helmfile
      flyctl
      kdiff3
      nq
      steampipe
      rubber
      scc
      tree
      vim +cscope+huge+python27+python35
      watchman # needed for yarn test <https://github.com/facebook/create-react-app/issues/4540>
      nss
      mkcert
      stunnel
      openjdk11 # check latest LTS version: <https://adoptopenjdk.net/support.html>
      p5-image-exiftool
      py-protobuf
      python +readline
      python39 +readline # TODO update version (py39-virtualenvwrapper might not exist yet, so might want to stick to 38, or you can do: pip install --user virtualenvwrapper)
      py39-pip
      py39-virtualenvwrapper
      EOF
      
      • See what you requested installed:

        port installed requested
        
    • npm

      concurrently
      git-unsaved
      github-email
      tldr
      vercel
      yarn
      
    • pipx

    • kubectl krew plugins

      krew install lineage cnpg
      
  • Temporary brokenness

    • terraform not working in macports, use official brew tap:

      brew tap hashicorp/tap
      brew install hashicorp/tap/terraform
      
  • Install or configure manually

    • rustup
    • MacWhisper (Whisper Transcribe in App Store)
    • Screen Studio
    • chsh: sudo chsh -s /opt/local/bin/bash yang
    • git-redate
    • barrier: https://github.com/debauchee/barrier/issues/1609#issuecomment-1066938159
      • As a workaround, you can manually create a certificate for it to use.
      • In a terminal on the MacOS host:
      • cd /Users/USERNAME/Library/Application Support/barrier/SSL
      • openssl req -new -x509 -sha256 -days 999 -nodes -out Barrier.pem -keyout Barrier.pem
    • bash-it
      • bash-it enable completion git ssh
      • bash-it enable alias git osx vim
    • crashplan (MIT)
    • Dolphin: Tools > Export Wii Saves
    • font-bundles (icon fonts)
    • flux
    • https://linearmouse.org/
    • macos-fn-toggle (unless using fluor, which may be needed for newer OS? - note, neither works with touch bar!)
    • macports (to list: port installed requested)
      • Do NOT install the following, which are problematic:

        • google-cloud-sdk (didn’t work, but also this)
        • virtualbox (outdated)
      • Postscript:

        • krew install krew

        • sudo port select --set python python39

        • sudo port select --set virtualenv virtualenv39

        • https://stackoverflow.com/questions/28405556/how-to-install-postgresql-on-osx-yosemite-using-macports

          • sudo port select postgresql postgresql13
          • sudo mkdir -p /opt/local/var/db/postgresql13/defaultdb
          • sudo chown postgres:postgres /opt/local/var/db/postgresql13/defaultdb
          • sudo su postgres -c '/opt/local/lib/postgresql13/bin/initdb -D /opt/local/var/db/postgresql13/defaultdb'
          • sudo port load postgresql13-server
        • If using brew:

          brew services start postgresql@16
          # add to zshrc if needed
          # export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"
          
      • See script at bottom

    • https://mounty.app/
    • Office
    • PlayMemories (includes Wireless Auto Import - sony wireless auto importer is part of the general a6000 camera software suite)
    • SkyFonts
    • Slate
    • sourcetree
    • soundflower (if using old OS)
    • SoundflowerBed (if using old OS)
    • Spotify bluetooth headset listener
    • Steam
    • virtualbox: may fail installation the first time around, so you need to allow in system preferences
  • Configs

    • cron
    • OS X
      • Change default keyboard shortcuts:
        • Mission Control left/right spaces from control to control command, since IntelliJ uses control-left/right
        • disable cmd+shift+a
      • Remap keyboard modifier keys
    • Blackhole MIDI
      • You must set drift correction! On the “non-source-clock devices” which I think means the Blackhole device? And only needed on the multi-output and not the aggregate input? This seems to work:
    • Chrome
    • VS Code
    • intellij idea
    • iTerm
    • Karabiner for macvim right alt as right ctrl and numeric keypad