diff --git a/.config/polybar/user_modules.ini b/.config/polybar/user_modules.ini
index 43c0c26..49b4315 100644
--- a/.config/polybar/user_modules.ini
+++ b/.config/polybar/user_modules.ini
@@ -12,7 +12,7 @@
[module/public_ip]
type = custom/text
content=
-click-left = curl -s ifconfig.co | while read OUTPUT; do notify-send "$OUTPUT"; done & curl -s ifconfig.co | xargs -I % sh -c "curl -s ipinfo.io/%/city" | while read OUTPUT; do notify-send "$OUTPUT"; done
+click-left = ip="$(curl -fsS --connect-timeout 3 --max-time 5 https://ifconfig.co/ip)" || exit; case "$ip" in ''|*[!0-9A-Fa-f.:]*) exit 1 ;; esac; notify-send "$ip"; city="$(curl -fsS --connect-timeout 3 --max-time 5 "https://ipinfo.io/${ip}/city")" || exit; notify-send "$city"
[module/mic_status]
type = custom/script
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
index 2ad192e..3c4e1ed 100644
--- a/.config/waybar/config.jsonc
+++ b/.config/waybar/config.jsonc
@@ -33,10 +33,10 @@
"interval": 1,
"tooltip-format": "\n{:%Y %B}\n{calendar}",
"calendar-weeks-pos": "right",
- "today-format": "{}",
- "format-calendar": "{}",
- "format-calendar-weeks": "W{:%V}",
- "format-calendar-weekdays": "{}"
+ "today-format": "{}",
+ "format-calendar": "{}",
+ "format-calendar-weeks": "W{:%V}",
+ "format-calendar-weekdays": "{}"
},
"disk": {
diff --git a/.config/waybar/scripts/amixer-toggle.sh b/.config/waybar/scripts/amixer-toggle.sh
index ca45bba..9a7b4ae 100755
--- a/.config/waybar/scripts/amixer-toggle.sh
+++ b/.config/waybar/scripts/amixer-toggle.sh
@@ -1,11 +1,4 @@
-#!/bin/bash
-
-# Check the current state of the speaker
-state=$(amixer -D pulse sget Master | awk '/\[on\]/{print "unmute"; exit} /\[off\]/{print "mute"; exit}')
-
-# Toggle the state of the speaker
-#
-if [ "$state" = "[on] "]; then
- amixer
-# amixer -D pulse sset Master "$state" > /dev/null
+#!/usr/bin/env bash
+# Toggle the default PulseAudio sink's mute state.
+amixer -D pulse sset Master toggle >/dev/null
diff --git a/.config/waybar/scripts/myUpdates.sh b/.config/waybar/scripts/myUpdates.sh
index 5011866..5061371 100755
--- a/.config/waybar/scripts/myUpdates.sh
+++ b/.config/waybar/scripts/myUpdates.sh
@@ -1,24 +1,24 @@
#!/bin/bash
format() {
- if [ "$1" -eq 0 ]; then
- echo '-'
- else
- echo "$1"
- fi
+ if [ "$1" -eq 0 ]; then
+ echo '-'
+ else
+ echo "$1"
+ fi
}
if ! updates_arch="$(checkupdates | wc -l)"; then
- updates_arch=0
+ updates_arch=0
fi
if ! updates_aur="$(yay -Qum 2>/dev/null | wc -l)"; then
- updates_aur=0
+ updates_aur=0
fi
updates="$((updates_arch + updates_aur))"
if [ "$updates" -gt 0 ]; then
- echo " ($(format $updates_arch)/$(format $updates_aur))"
+ echo " ($(format $updates_arch)/$(format $updates_aur))"
else
- echo
-fia
+ echo
+fi
diff --git a/.config/waybar/style.css b/.config/waybar/style.css
index b9127d8..bf8d0fa 100644
--- a/.config/waybar/style.css
+++ b/.config/waybar/style.css
@@ -1,22 +1,14 @@
+/* Noctalia Ember OLED: near-black surfaces, warm amber focus. */
* {
- font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF" ;
- color: white;
-}
-
-window#waybar {
- background: black;
-}
-
-.modules-right {
- background: #000000;
-}
-
-.modules-center {
- background: #000000;
+ font-family: "JetBrainsMono Nerd Font,JetBrainsMono NF";
+ color: #fff1e6;
}
+window#waybar,
+.modules-right,
+.modules-center,
.modules-left {
- background: #000000;
+ background: #050403;
}
#battery,
@@ -38,50 +30,59 @@ window#waybar {
#window,
#workspaces,
#clock {
- min-width: 1ex;
+ min-width: 1ex;
padding-right: 5px;
}
+
#tray menu * {
- color: black;
+ color: #050403;
}
-
+
+#cpu {
+ /* "100% " fits in this box; fixed width prevents sibling modules shifting. */
+ min-width: 7ch;
+ max-width: 7ch;
+ text-align: right;
+}
+
#temperature.critical,
#pulseaudio {
- min-width: 5ex;
-}
-#pulseaudio.muted {
- color: #FF0000;
-}
-#pulseaudio.mic.muted {
- color: #ffffff;
+ min-width: 5ex;
}
+
+#pulseaudio.muted,
#pulseaudio.mic:not(.source-muted) {
- color: #fc0202;
+ color: #ff6b4a;
}
-#clock{
- color: #f9780e;
+
+#pulseaudio.mic.muted {
+ color: #6e4a31;
+}
+
+#clock {
+ color: #ff8800;
}
#battery.charging {
- color: #ffffff;
- background-color: #26A65B;
+ color: #1a0d00;
+ background-color: #c98a45;
}
#battery.warning:not(.charging) {
- background-color: #ffbe61;
- color: black;
+ background-color: #ffb05c;
+ color: #2b1600;
}
#battery.critical:not(.charging) {
- background-color: #f53c3c;
- color: #ffffff;
- animation-name: blink;
- animation-duration: 0.5s;
- animation-timing-function: linear;
- animation-iteration-count: infinite;
- animation-direction: alternate;
+ background-color: #ff6b4a;
+ color: #2b0700;
+ animation-name: blink;
+ animation-duration: 0.5s;
+ animation-timing-function: linear;
+ animation-iteration-count: infinite;
+ animation-direction: alternate;
}
#network.speed {
- min-width: 30ex;
+ min-width: 30ex;
}
diff --git a/.pi/agent/models.json b/.pi/agent/models.json
index 15618e8..8be7933 100644
--- a/.pi/agent/models.json
+++ b/.pi/agent/models.json
@@ -12,6 +12,19 @@
"contextWindow": 1050000
}
}
+ },
+ "openai-codex": {
+ "modelOverrides": {
+ "gpt-5.6-sol": {
+ "contextWindow": 1050000
+ },
+ "gpt-5.6-terra": {
+ "contextWindow": 1050000
+ },
+ "gpt-5.6-luna": {
+ "contextWindow": 1050000
+ }
+ }
}
}
}
diff --git a/.tmux.conf b/.tmux.conf
index 42aab98..62c7442 100644
--- a/.tmux.conf
+++ b/.tmux.conf
@@ -1,186 +1,114 @@
-# -- general -------------------------------------------------------------------
+# ~/.tmux.conf — Vim-centric tmux configuration (tmux 3.7+)
+# Reload with: prefix + r
-set -g extended-keys on
-
-set -g default-terminal "screen-256color" # colors!
-setw -g xterm-keys on
-set -s escape-time 10 # faster command sequences
-set -sg repeat-time 600 # increase repeat timeout
+# --- Terminal and responsiveness ---------------------------------------------
+set -g default-terminal "tmux-256color"
+set -as terminal-features ",xterm-256color:RGB,screen-256color:RGB,tmux-256color:RGB"
+set -sg escape-time 10
+set -sg repeat-time 600
set -s focus-events on
+set -g allow-passthrough on
+set -g history-limit 100000
+set -g set-clipboard on
-set -g prefix2 C-a # GNU-Screen compatible prefix
-bind C-a send-prefix -2
+# --- Prefix and defaults ------------------------------------------------------
+unbind C-b
+set -g prefix C-a
+bind C-a send-prefix
-set -q -g status-utf8 on # expect UTF-8 (tmux < 2.2)
-set -q -g utf8 on
+setw -g mode-keys vi
+set -g status-keys vi
+set -g mouse on
+set -g base-index 1
+setw -g pane-base-index 1
+set -g renumber-windows on
+set -g detach-on-destroy off
+set -g display-panes-time 800
+set -g display-time 1500
-set -g history-limit 5000 # boost history
+# --- Reload and editing -------------------------------------------------------
+bind r source-file ~/.tmux.conf \; display-message "tmux config reloaded"
+bind e new-window -n tmux.conf "exec \${EDITOR:-nvim} ~/.tmux.conf"
-# edit configuration
-bind e new-window -n "~/.tmux.conf.local" "sh -c '\${EDITOR:-vim} ~/.tmux.conf.local && tmux source ~/.tmux.conf && tmux display \"~/.tmux.conf sourced\"'"
+# --- Vim-style panes ----------------------------------------------------------
+# Keep the familiar split keys and always inherit the active pane's directory.
+bind - split-window -v -c "#{pane_current_path}"
+bind | split-window -h -c "#{pane_current_path}"
+bind c new-window -c "#{pane_current_path}"
-# reload configuration
-bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'
+bind -r h select-pane -L
+bind -r j select-pane -D
+bind -r k select-pane -U
+bind -r l select-pane -R
+bind -r H resize-pane -L 5
+bind -r J resize-pane -D 5
+bind -r K resize-pane -U 5
+bind -r L resize-pane -R 5
+bind -r \{ swap-pane -U
+bind -r \} swap-pane -D
+bind z resize-pane -Z
+bind x confirm-before -p "kill pane #P? (y/n)" kill-pane
-# run the powerline daemon
-run-shell "powerline-daemon -q"
-# source powerline tmux bindings
-source "/usr/lib/python3.14/site-packages/powerline/bindings/tmux/powerline.conf"
+# --- Windows, sessions, and buffers ------------------------------------------
+bind -r n next-window
+bind -r p previous-window
+bind Tab last-window
+bind w choose-tree -Zw
+bind s choose-tree -Zs
+bind f command-prompt -p "switch to session:" "switch-client -t '%%'"
+bind [ choose-buffer
+bind ] paste-buffer
+bind C-l send-keys C-l \; clear-history
-bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel 'xclip -in -selection clipboard'
+# --- Copy mode ----------------------------------------------------------------
+bind Enter copy-mode
+bind -T copy-mode-vi v send -X begin-selection
+bind -T copy-mode-vi C-v send -X rectangle-toggle
+bind -T copy-mode-vi y send -X copy-selection-and-cancel
+bind -T copy-mode-vi Escape send -X cancel
+bind -T copy-mode-vi q send -X cancel
+bind -T copy-mode-vi H send -X start-of-line
+bind -T copy-mode-vi L send -X end-of-line
+bind -T copy-mode-vi C-u send -X halfpage-up
+bind -T copy-mode-vi C-d send -X halfpage-down
-# Prevent random characters from appearing during yank
-set -s set-clipboard off
+# Prefer a native Wayland clipboard; use xclip elsewhere. set-clipboard keeps
+# OSC 52-capable terminals in sync as well.
+if-shell 'command -v wl-copy >/dev/null 2>&1' 'bind -T copy-mode-vi y send -X copy-pipe-and-cancel "wl-copy"' 'bind -T copy-mode-vi y send -X copy-pipe-and-cancel "xclip -in -selection clipboard"'
-# -- display -------------------------------------------------------------------
+# --- Status line --------------------------------------------------------------
+set -g status on
+set -g status-position bottom
+set -g status-interval 5
+set -g status-justify left
+set -g status-left-length 40
+set -g status-right-length 100
+# Noctalia "Ember OLED" palette: deep near-black with restrained amber focus.
+set -g status-style "bg=#050403,fg=#fff1e6"
+set -g message-style "bg=#ff8800,fg=#1a0d00"
+set -g message-command-style "bg=#ff8800,fg=#1a0d00"
+set -g pane-border-style "fg=#6e4a31"
+set -g pane-active-border-style "fg=#ff8800"
+set -g mode-style "bg=#ffb05c,fg=#2b1600"
+# The left segment switches to a large amber cue while tmux waits for the
+# key following C-a, so prefix mode is visible rather than implicit.
+# Keep each style attribute in its own sequence: conditional-format commas then
+# cannot be mistaken for part of a #[fg=…,bg=…] style specification.
+set -g status-left "#{?client_prefix,#[bg=#ffb05c]#[fg=#2b1600]#[bold] C-a COMMAND ,#[bg=#ff8800]#[fg=#1a0d00]#[bold] #S }#[bg=#050403]#[fg=#ff8800]"
+set -g status-right "#[fg=#f4c7a1]#(whoami)@#H #[fg=#ff8800]| #[fg=#fff1e6]%Y-%m-%d %H:%M "
+setw -g window-status-format " #[fg=#f4c7a1]#I:#W "
+setw -g window-status-current-format "#[bg=#1a110c,fg=#fff1e6,bold] #I:#W "
-set -g base-index 1 # start windows numbering at 1
-setw -g pane-base-index 1 # make pane numbering consistent with windows
+# --- Optional TPM plugins -----------------------------------------------------
+# Install TPM once: git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
+# Then reload and press prefix + I to install these plugins.
+set -g @plugin 'tmux-plugins/tpm'
+set -g @plugin 'tmux-plugins/tmux-sensible'
+set -g @plugin 'tmux-plugins/tmux-resurrect'
+set -g @plugin 'tmux-plugins/tmux-continuum'
+set -g @resurrect-capture-pane-contents 'on'
+set -g @continuum-restore 'on'
+if-shell '[ -f ~/.tmux/plugins/tpm/tpm ]' 'run ~/.tmux/plugins/tpm/tpm'
-#setw -g automatic-rename on # rename window to reflect current program
-set -g renumber-windows on # renumber windows when a window is closed
-
-#set -g set-titles on # set terminal title
-
-set -g display-panes-time 800 # slightly longer pane indicators display time
-set -g display-time 1000 # slightly longer status messages display time
-
-set-option -g status on
-set-option -g status-interval 2
-set-option -g status-justify "centre"
-set-option -g status-left-length 60
-set-option -g status-right-length 90
-
-
-
-# clear both screen and history
-bind -n C-l send-keys C-l \; run 'sleep 0.1' \; clear-history
-
-# activity
-set -g monitor-activity on
-set -g visual-activity off
-
-# set border color for panes
-set -g pane-active-border-style bg=colour130,fg=colour250
-
-
-# -- navigation ----------------------------------------------------------------
-
-# create session
-bind C-c new-session
-
-# find session
-bind C-f command-prompt -p find-session 'switch-client -t %%'
-
-# split current window horizontally
-bind s split-window -v
-# split current window vertically
-bind v split-window -h
-
-# close pane
-bind w kill-pane
-
-# pane navigation
-bind -r h select-pane -L # move left
-bind -r j select-pane -D # move down
-bind -r k select-pane -U # move up
-bind -r l select-pane -R # move right
-bind > swap-pane -D # swap current pane with the next one
-bind < swap-pane -U # swap current pane with the previous one
-
-# maximize current pane
-bind + run 'cut -c3- ~/.tmux.conf | sh -s _maximize_pane "#{session_name}" #D'
-
-# pane resizing
-bind -r H resize-pane -L 2
-bind -r J resize-pane -D 2
-bind -r K resize-pane -U 2
-bind -r L resize-pane -R 2
-
-# window navigation
-unbind n
-unbind p
-bin -r C-n new-window
-bind -r C-h previous-window # select previous window
-bind -r C-l next-window # select next window
-bind Tab last-window # move to last active window
-
-# toggle mouse
-bind m run "cut -c3- ~/.tmux.conf | sh -s _toggle_mouse"
-
-
-# -- urlview -------------------------------------------------------------------
-
-bind U run "cut -c3- ~/.tmux.conf | sh -s _urlview #{pane_id}"
-
-
-# -- facebook pathpicker -------------------------------------------------------
-
-bind F run "cut -c3- ~/.tmux.conf | sh -s _fpp #{pane_id}"
-
-
-# -- list choice (tmux < 2.4) --------------------------------------------------
-
-# vi-choice is gone in tmux >= 2.4
-run -b 'tmux bind -t vi-choice h tree-collapse 2> /dev/null || true'
-run -b 'tmux bind -t vi-choice l tree-expand 2> /dev/null || true'
-run -b 'tmux bind -t vi-choice K start-of-list 2> /dev/null || true'
-run -b 'tmux bind -t vi-choice J end-of-list 2> /dev/null || true'
-run -b 'tmux bind -t vi-choice H tree-collapse-all 2> /dev/null || true'
-run -b 'tmux bind -t vi-choice L tree-expand-all 2> /dev/null || true'
-run -b 'tmux bind -t vi-choice Escape cancel 2> /dev/null || true'
-
-
-# -- edit mode (tmux < 2.4) ----------------------------------------------------
-
-# vi-edit is gone in tmux >= 2.4
-run -b 'tmux bind -ct vi-edit H start-of-line 2> /dev/null || true'
-run -b 'tmux bind -ct vi-edit L end-of-line 2> /dev/null || true'
-run -b 'tmux bind -ct vi-edit q cancel 2> /dev/null || true'
-run -b 'tmux bind -ct vi-edit Escape cancel 2> /dev/null || true'
-
-
-# -- copy mode -----------------------------------------------------------------
-
-bind Enter copy-mode # enter copy mode
-
-run -b 'tmux bind -t vi-copy v begin-selection 2> /dev/null || true'
-run -b 'tmux bind -T copy-mode-vi v send -X begin-selection 2> /dev/null || true'
-run -b 'tmux bind -t vi-copy C-v rectangle-toggle 2> /dev/null || true'
-run -b 'tmux bind -T copy-mode-vi C-v send -X rectangle-toggle 2> /dev/null || true'
-run -b 'tmux bind -t vi-copy y copy-selection 2> /dev/null || true'
-run -b 'tmux bind -T copy-mode-vi y send -X copy-selection-and-cancel 2> /dev/null || true'
-run -b 'tmux bind -t vi-copy Escape cancel 2> /dev/null || true'
-run -b 'tmux bind -T copy-mode-vi Escape send -X cancel 2> /dev/null || true'
-run -b 'tmux bind -t vi-copy H start-of-line 2> /dev/null || true'
-run -b 'tmux bind -T copy-mode-vi H send -X start-of-line 2> /dev/null || true'
-run -b 'tmux bind -t vi-copy L end-of-line 2> /dev/null || true'
-run -b 'tmux bind -T copy-mode-vi L send -X end-of-line 2> /dev/null || true'
-
-# copy to macOS clipboard
-if -b 'command -v pbcopy > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | pbcopy"'
-if -b 'command -v reattach-to-user-namespace > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | reattach-to-user-namespace pbcopy"'
-# copy to X11 clipboard
-if -b 'command -v xsel > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xsel -i -b"'
-if -b '! command -v xsel > /dev/null 2>&1 && command -v xclip > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | xclip -i -selection clipboard >/dev/null 2>&1"'
-# copy to Windows clipboard
-if -b 'command -v clip.exe > /dev/null 2>&1' 'bind y run -b "tmux save-buffer - | clip.exe"'
-if -b '[ -c /dev/clipboard ]' 'bind y run -b "tmux save-buffer - > /dev/clipboard"'
-
-
-# -- buffers -------------------------------------------------------------------
-
-bind b list-buffers # list paste buffers
-bind p paste-buffer # paste from the top paste buffer
-bind P choose-buffer # choose which buffer to paste from
-
-
-# -- user defined overrides ----------------------------------------------------
-
-if '[ -f ~/.tmux.conf.local ]' 'source ~/.tmux.conf.local'
-
-
-# -- 8< ------------------------------------------------------------------------
-
-run 'cut -c3- ~/.tmux.conf | sh -s _apply_configuration'
-run -b '[ -z "#{window_active}" ] && [ -z "#{version}" ] && tmux set display-time 3000 \; display "This configuration will soon require tmux >= 2.4" \; set -u display-time || true'
+# Keep machine-specific bindings and experiments out of this tracked base file.
+if-shell '[ -f ~/.tmux.conf.local ]' 'source-file ~/.tmux.conf.local'
diff --git a/.tmux.conf.local b/.tmux.conf.local
index 0cbf2a3..264672d 100644
--- a/.tmux.conf.local
+++ b/.tmux.conf.local
@@ -1,68 +1,7 @@
-# -- navigation ----------------------------------------------------------------
+# ~/.tmux.conf.local
+# Personal or machine-specific overrides for ~/.tmux.conf.
+# This file is deliberately small; its previous version was saved beside it.
-# if you're running tmux within iTerm2
-# - and tmux is 1.9 or 1.9a
-# - and iTerm2 is configured to let option key act as +Esc
-# - and iTerm2 is configured to send [1;9A -> [1;9D for option + arrow keys
-# then uncomment the following line to make Meta + arrow keys mapping work
-#set -ga terminal-overrides "*:kUP3=\e[1;9A,*:kDN3=\e[1;9B,*:kRIT3=\e[1;9C,*:kLFT3=\e[1;9D"
-
-
-# -- windows & pane creation ---------------------------------------------------
-
-# new window retains current path, possible values are:
-# - true
-# - false (default)
-tmux_conf_new_window_retain_current_path=false
-
-# new pane retains current path, possible values are:
-# - true (default)
-# - false
-tmux_conf_new_pane_retain_current_path=true
-
-# new pane tries to reconnect ssh sessions (experimental), possible values are:
-# - true
-# - false (default)
-tmux_conf_new_pane_reconnect_ssh=false
-
-# prompt for session name when creating a new session, possible values are:
-# - true
-# - false (default)
-tmux_conf_new_session_prompt=false
-
-
-# -- display -------------------------------------------------------------------
-
-# -- clipboard -----------------------------------------------------------------
-
-# in copy mode, copying selection also copies to the OS clipboard
-# - true
-# - false (default)
-# on macOS, this requires installing reattach-to-user-namespace, see README.md
-# on Linux, this requires xsel or xclip
-tmux_conf_copy_to_os_clipboard=true
-
-
-# -- user customizations -------------------------------------------------------
-# this is the place to override or undo settings
-
-# increase history size
-#set -g history-limit 10000
-
-# start with mouse mode enabled
-set -g mouse on
-
-# force Vi mode
-# really you should export VISUAL or EDITOR environment variable, see manual
-#set -g status-keys vi
-#set -g mode-keys vi
-
-# replace C-b by C-a instead of using both prefixes
-set -gu prefix2
-unbind C-a
-unbind C-b
-set -g prefix C-a
-bind C-a send-prefix
-
-# move status line to top
-#set -g status-position top
+# Examples:
+# set -g status-position top
+# bind -n M-Left select-pane -L
diff --git a/.zshrc b/.zshrc
index a7c746f..621a209 100644
--- a/.zshrc
+++ b/.zshrc
@@ -156,437 +156,15 @@ alias sudo='sudo '
export EDITOR=nvim
export VISUAL=nvim
-# add the custom functions from the .custom_functions file
+# Load the known shell helpers; do not source foreign-shell files.
custom_func_dir=$HOME/.scripts
-for f in $custom_func_dir/*; do source $f; done
+for f in "$custom_func_dir"/*.sh(N) "$custom_func_dir"/get_ip(N); do
+ source "$f"
+done
# add pyenv to the path
-echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.zshrc
-echo '[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.zshrc
-echo 'eval "$(pyenv init - zsh)"' >> ~/.zshrc
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
-export PYENV_ROOT="$HOME/.pyenv"
-[[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
-eval "$(pyenv init - zsh)"
+if (( $+commands[pyenv] )); then
+ export PYENV_ROOT="${PYENV_ROOT:-$HOME/.pyenv}"
+ [[ -d $PYENV_ROOT/bin ]] && export PATH="$PYENV_ROOT/bin:$PATH"
+ eval "$(pyenv init - zsh)"
+fi