{ config, lib, ... }: let envExtra = '' export PATH="/opt/homebrew/bin:/usr/local/bin:$PATH" ''; # copied from the content generated by `conda init bash` initContent = '' arch=$(uname -m) if [ "aarch64" = "$arch" ] || [ "arm64" = "$arch" ]; then # >>> (miniforge)conda initialize >>> # !! Contents within this block are managed by 'conda init' !! if [ -f "/opt/homebrew/Caskroom/miniforge/base/etc/profile.d/conda.sh" ]; then . "/opt/homebrew/Caskroom/miniforge/base/etc/profile.d/conda.sh" else export PATH="/opt/homebrew/Caskroom/miniforge/base/bin:$PATH" fi # <<< conda initialize <<< elif [[ "x86_64" = "$arch" ]]; then # do nothing true fi ''; in { # Homebrew's default install location: # /opt/homebrew for Apple Silicon # /usr/local for macOS Intel # The prefix /opt/homebrew was chosen to allow installations # in /opt/homebrew for Apple Silicon and /usr/local for Rosetta 2 to coexist and use bottles. programs.bash = { enable = true; bashrcExtra = lib.mkAfter (envExtra + initContent); }; programs.zsh = { enable = true; dotDir = "${config.xdg.configHome}/zsh"; inherit envExtra initContent; }; }