--- zsh_user: "{{ ansible_facts['user_id'] }}" # .zshrc config zsh_hist_stamps: yyyy-mm-dd zsh_share_history: false zsh_update_interval: 30 # set 0 for disable autoupdates zsh_editor: # mcedit zsh_term: xterm-256color zsh_mc_solarized_skin: false zsh_path: - "{{ zsh_fzf_path }}" - /usr/local/sbin - /usr/local/bin - /usr/sbin - /usr/bin - /sbin - /bin - /opt/homebrew/bin - /usr/local/lib/npm/bin zsh_load_etc_profile: true fzf_widgets: viasite-ansible/fzf-widgets # fork of sorenson-axial/fzf-widgets # fzf_widgets: sorenson-axial/fzf-widgets # removed # fzf_widgets: ytet5uy4/fzf-widgets # has bug with * in history # zsh_antigen_repo: https://github.com/zsh-users/antigen.git # patch broken compdef - https://github.com/zsh-users/antigen/pull/737 zsh_antigen_repo: https://github.com/viasite-ansible/antigen zsh_antigen_version: patch-1 zsh_fzf_version: 0.74.1 zsh_antigen_bundles: - { name: command-not-found, when: "{{ ansible_facts['os_family'] != 'Darwin' }}" } # too slow on OSX - { name: brew, when: "{{ ansible_facts['os_family'] == 'Darwin' }}" } - { name: docker, command: docker } - { name: docker-compose, command: docker-compose } - { name: docker-compose, command: docker compose } - fancy-ctrl-z - git-extras - gnu-utils - { name: httpie, command: http } - { name: golang, command: go } - { name: gulp, command: gulp } - { name: helm, command: helm } - { name: kubectl, command: kubectl } - { name: popstas/npm-run-zsh-completion, command: npm } - { name: pip, command: pip } - { name: rake, command: rake } - { name: symfony2, command: symfony } - { name: systemd, command: systemctl } - python - { name: tmux, command: tmux } - { name: vagrant, command: vagrant } - { name: viasite/server-scripts, command: dbdump } - { name: yarn, command: yarn } # on zsh 4.3.10 autosuggestions breaks multiline commands with \ - { name: zsh-users/zsh-autosuggestions, when: "{{ zsh_version is version_compare('5.0', '>=') }}" } - popstas/zsh-command-time - { name: unixorn/autoupdate-antigen.zshplugin, when: "{{ zsh_update_interval > 0 }}" } - { name: urbainvaes/fzf-marks, when: "{{ zsh_version is version_compare('5.1', '>=') }}" } # replaces jump plugin, mark, jump and Ctrl+G - "{{ fzf_widgets }}" # must be last, don't work on zsh < 4.3.17 # - { name: zsh-users/zsh-syntax-highlighting, when: "{{ zsh_version | default(false) is version_compare('4.3.17', '>=') }}" } - { name: zdharma-continuum/fast-syntax-highlighting, when: "{{ zsh_version is version_compare('4.3.17', '>=') }}" } zsh_antigen_bundles_extras: [] zsh_custom_before: "" # any code before include ~/.zshrc.local zsh_custom_after: "" # any code before include ~/.zshrc.local # useful for deploy many zsh users at host, without duplicate and without write access zsh_shared: false zsh_source_for_all_users: false zsh_change_user_shell: true # prompt theme selector, valid values: powerlevel10k, starship zsh_theme: starship zsh_antigen_theme: "romkatv/powerlevel10k powerlevel10k" # starship (used when zsh_theme == 'starship') zsh_starship_version: "1.26.0" zsh_starship_path: "$HOME/bin" zsh_starship_manage_config: true zsh_starship_config: "" # raw verbatim starship.toml override; empty = use generated preset zsh_starship_config_user_file: "~{{ zsh_user }}/.config/starship.user.toml" # user-editable override file; deep-merged over the generated preset if present zsh_starship_config_user: "" # inline TOML override string; highest priority, merged last (beats the user file) zsh_hide_username: # username to hide in the prompt (aliased to ''); unset = show username zsh_hotkeys: # home & end keys work - { hotkey: "\\e[1~", action: beginning-of-line } - { hotkey: "\\e[4~", action: end-of-line } - { hotkey: "^[[H", action: beginning-of-line, bundle: brew } # home/end has different codes on MacOS - { hotkey: "^[[F", action: end-of-line, bundle: brew } - { hotkey: "^[[1;5D", action: backward-word, bundle: brew } - { hotkey: "^[[1;5C", action: forward-word, bundle: brew } - { hotkey: "[D", action: backward-word, bundle: brew } - { hotkey: "[C", action: forward-word, bundle: brew } # alt+M for insert last word - { hotkey: "^[m", action: copy-earlier-word } # fzf-widgets - { hotkey: "^@", action: fzf-select-widget, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@.", action: fzf-edit-dotfiles, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@c", action: fzf-change-directory, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@f", action: fzf-edit-files, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@k", action: fzf-kill-processes, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@s", action: fzf-exec-ssh, bundle: "{{ fzf_widgets }}" } - { hotkey: "^\\", action: fzf-change-recent-directory, bundle: "{{ fzf_widgets }}" } - { hotkey: "^r", action: fzf-insert-history, bundle: "{{ fzf_widgets }}" } - { hotkey: "^xf", action: fzf-insert-files, bundle: "{{ fzf_widgets }}" } - { hotkey: "^xd", action: fzf-insert-directory, bundle: "{{ fzf_widgets }}" } # fzf-widgets: Git - { hotkey: "^@g", action: fzf-select-git-widget, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@ga", action: fzf-git-add-files, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@gc", action: fzf-git-change-repository, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@gco", action: fzf-git-checkout-branch, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@gd", action: fzf-git-delete-branches, bundle: "{{ fzf_widgets }}" } # fzf-widgets: GitHub - { hotkey: "^@gh", action: fzf-select-github-widget, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@ghi", action: fzf-github-show-issue, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@ghe", action: fzf-github-edit-issue, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@gho", action: fzf-github-open-issue, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@ghc", action: fzf-github-close-issue, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@ghco", action: fzf-github-comment-issue, bundle: "{{ fzf_widgets }}" } # fzf-widgets: Docker - { hotkey: "^@d", action: fzf-select-docker-widget, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@dk", action: fzf-docker-kill-containers, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@dl", action: fzf-docker-logs-container, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@dr", action: fzf-docker-remove-containers, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@dri", action: fzf-docker-remove-images, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@drv", action: fzf-docker-remove-volumes, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@dsa", action: fzf-docker-start-containers, bundle: "{{ fzf_widgets }}" } - { hotkey: "^@dso", action: fzf-docker-stop-containers, bundle: "{{ fzf_widgets }}" } # autosuggestions - { hotkey: "{{ zsh_autosuggestions_bind_key }}", action: autosuggest-accept, bundle: zsh-users/zsh-autosuggestions } - { hotkey: "{{ zsh_autosuggestions_bind_key_2 }}", action: autosuggest-accept, bundle: zsh-users/zsh-autosuggestions } zsh_hotkeys_extras: [] # only single quotes allowed in action zsh_aliases: - { alias: "apt-update-list-upgrade", action: "apt update && apt upgrade --dry-run | grep Inst | sort | fzf && apt upgrade" } - { alias: "dfh", action: "df -h | grep -v docker" } - { alias: "ubuntu-release", action: "lsb_release -a" } - { alias: "", action: "" } # zsh-autosuggestions zsh_autosuggestions_max_length: 15 zsh_autosuggestions_bind_key: "" zsh_autosuggestions_bind_key_2: "" # fzf zsh_fzf_path: "$HOME/bin" zsh_fzf_height: "100%" zsh_fzf_reverse: true zsh_fzf_border: false zsh_fzf_ctrl_r_opts: "--exact" # fzf options file ($FZF_DEFAULT_OPTS_FILE), for options that don't survive # the shell quoting of FZF_DEFAULT_OPTS (nested quotes, runtime $VARS). # Opt-in: enabling it overwrites ~/.fzfrc (a backup is kept) zsh_fzf_manage_opts_file: false zsh_fzf_opts_extra: [] # extra verbatim lines for the options file # below applies only when zsh_fzf_manage_opts_file is enabled: # ЙЦУКЕН -> QWERTY fallback for queries without matches, needs the `ruen` script # from viasite/server-scripts; without it the bind is a no-op zsh_fzf_ruen: true zsh_fzf_ruen_command: ruen # command-time zsh_command_time_min_seconds: 3 zsh_command_time_echo: "" # powerlevel9k zsh_powerlevel9k_left_prompt: - context - dir zsh_powerlevel9k_right_prompt: - status - virtualenv - background_jobs - vcs - command_execution_time - time zsh_powerlevel_custom_elements: - name: command_time command: "zsh_command_time" background: "248" foreground: "000" zsh_powerlevel9k_hide_host_on_local: true zsh_powerlevel9k_always_show_context: false # hide hostname and username from prompt on local machine zsh_powerlevel9k_always_show_user: false # hide username from prompt on local machine zsh_powerlevel9k_prompt_on_newline: false zsh_powerlevel9k_shorten_dir_length: 3 zsh_powerlevel9k_status_verbose: 0 # separators zsh_segment_separators: true # dir (context) colors zsh_powerlevel9k_context_default_foreground: "255" # white zsh_powerlevel9k_context_default_background: "024" # blue zsh_powerlevel9k_context_root_foreground: "255" # white zsh_powerlevel9k_context_root_background: "124" # red zsh_powerlevel9k_dir_foreground: "255" # white zsh_powerlevel9k_dir_background: "240" # gray zsh_powerlevel9k_dir_etc_foreground: "{{ zsh_powerlevel9k_dir_foreground }}" zsh_powerlevel9k_dir_etc_background: "{{ zsh_powerlevel9k_dir_background }}" zsh_powerlevel9k_dir_path_highlight_foreground: "{{ zsh_powerlevel9k_dir_foreground }}" zsh_powerlevel9k_dir_path_highlight_background: "{{ zsh_powerlevel9k_dir_background }}" # vcs colors # list colors: for code ({000..255}) print -P -- "$code: %F{white}%K{$code}user@hostname%f%k\n\n" zsh_powerlevel9k_vcs_foreground: "232" # about black on any palette zsh_powerlevel9k_vcs_clean_background: "100" # dirty green zsh_powerlevel9k_vcs_modified_background: "094" # orange zsh_powerlevel9k_vcs_untracked_background: "094" # orange # command execution time zsh_powerlevel9k_command_execution_time_foreground: "000" zsh_powerlevel9k_command_execution_time_background: "248" # powerlevel10k zsh_powerlevel10k_instant_prompt: true