2024-07-06 11:44:31 +01:00
|
|
|
# Sheldon configuration file
|
2022-07-16 11:34:53 +01:00
|
|
|
#
|
2024-07-06 11:44:31 +01:00
|
|
|
# See https://sheldon.cli.rs
|
2022-07-16 11:34:53 +01:00
|
|
|
#
|
2024-07-06 11:44:31 +01:00
|
|
|
# Also heavily inspired by https://github.com/rossmacarthur/dotfiles/tree/trunk
|
2022-07-16 11:34:53 +01:00
|
|
|
|
|
|
|
|
shell = "zsh"
|
|
|
|
|
|
|
|
|
|
[templates]
|
2025-08-10 11:37:13 +01:00
|
|
|
defer = '''
|
|
|
|
|
{{- hooks?.pre | nl }}
|
|
|
|
|
{%- for file in files %}zsh-defer source "{{ file }}"{{ "\n" }}
|
|
|
|
|
{%- endfor %}
|
|
|
|
|
{{- hooks?.post | nl }}'''
|
|
|
|
|
defer-more = '''
|
|
|
|
|
{{- hooks?.pre | nl }}
|
|
|
|
|
{%- for file in files %}zsh-defer -t 0.5 source "{{ file }}"{{ "\n" }}
|
|
|
|
|
{%- endfor %}
|
|
|
|
|
{{- hooks?.post | nl }}'''
|
2022-07-16 11:34:53 +01:00
|
|
|
|
2024-07-07 14:03:56 +01:00
|
|
|
# Loading indicator
|
|
|
|
|
# -----------------
|
|
|
|
|
|
|
|
|
|
[plugins.show]
|
|
|
|
|
local = "~/.zsh/plugins/loading"
|
2024-07-06 11:44:31 +01:00
|
|
|
|
|
|
|
|
# Completions
|
|
|
|
|
# -----------
|
|
|
|
|
|
|
|
|
|
[plugins.zsh-completions]
|
|
|
|
|
github = "zsh-users/zsh-completions"
|
|
|
|
|
|
|
|
|
|
# Sourced
|
|
|
|
|
# -------
|
2022-07-16 11:34:53 +01:00
|
|
|
|
2024-07-06 11:44:31 +01:00
|
|
|
[plugins.functions]
|
|
|
|
|
local = "~/.zsh/plugins"
|
|
|
|
|
|
2025-08-10 11:37:13 +01:00
|
|
|
[plugins.zsh-defer]
|
|
|
|
|
github = "romkatv/zsh-defer"
|
|
|
|
|
|
2024-07-06 11:44:31 +01:00
|
|
|
# Deferred plugins
|
|
|
|
|
# ----------------
|
|
|
|
|
|
|
|
|
|
[plugins.aliases]
|
|
|
|
|
local = "~/.zsh/plugins"
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
|
2024-07-07 14:29:58 +01:00
|
|
|
[plugins.fzf]
|
|
|
|
|
github = "junegunn/fzf"
|
|
|
|
|
use = ["shell/completion.zsh", "shell/key-bindings.zsh"]
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
|
2026-06-26 14:47:32 +01:00
|
|
|
# compinit must run before fzf-tab and before any plugin that calls `compdef`
|
|
|
|
|
# (fnm, zoxide). ZLE-wrapping plugins (autosuggestions, syntax-highlighting)
|
|
|
|
|
# must be sourced after fzf-tab.
|
|
|
|
|
[plugins.compinit]
|
2024-07-07 14:29:58 +01:00
|
|
|
local = "~/.zsh/plugins"
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
|
2026-06-26 14:47:32 +01:00
|
|
|
[plugins.fzf-tab]
|
|
|
|
|
github = "Aloxaf/fzf-tab"
|
2022-07-16 11:34:53 +01:00
|
|
|
apply = ["defer"]
|
|
|
|
|
|
|
|
|
|
[plugins.zsh-autosuggestions]
|
|
|
|
|
github = "zsh-users/zsh-autosuggestions"
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
use = ["{{ name }}.zsh"]
|
2024-07-06 11:44:31 +01:00
|
|
|
|
|
|
|
|
[plugins.zsh-you-should-use]
|
|
|
|
|
github = "MichaelAquilina/zsh-you-should-use"
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
hooks.pre = "export YSU_MODE=ALL"
|
|
|
|
|
|
|
|
|
|
[plugins.forgit]
|
|
|
|
|
github = "wfxr/forgit"
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
|
|
|
|
|
[plugins.fnm]
|
2025-08-10 11:37:13 +01:00
|
|
|
github = "dominik-schwabe/zsh-fnm"
|
2024-07-06 11:44:31 +01:00
|
|
|
apply = ["defer"]
|
2026-08-04 22:29:51 +01:00
|
|
|
# Linux boxes (e.g. the server) intentionally use the distro nodejs package
|
|
|
|
|
# instead of fnm, so only load this plugin on macOS. Otherwise the plugin's
|
|
|
|
|
# own fallback silently curl-installs fnm and its --use-on-cd hook then
|
|
|
|
|
# prompts on every cd since no version is fnm-managed there.
|
|
|
|
|
hooks.pre = '''
|
|
|
|
|
if [[ "$OSTYPE" == darwin* ]]; then
|
|
|
|
|
export ZSH_FNM_ENV_EXTRA_ARGS="--use-on-cd --version-file-strategy recursive --resolve-engines false"'''
|
|
|
|
|
hooks.post = "fi"
|
2024-07-06 11:44:31 +01:00
|
|
|
|
|
|
|
|
[plugins.zoxide]
|
2025-02-09 21:35:43 +00:00
|
|
|
github = "ajeetdsouza/zoxide"
|
2024-07-06 11:44:31 +01:00
|
|
|
apply = ["defer"]
|
|
|
|
|
|
|
|
|
|
[plugins.mcfly]
|
2025-02-09 21:35:43 +00:00
|
|
|
github = "cantino/mcfly"
|
2024-07-06 11:44:31 +01:00
|
|
|
apply = ["defer"]
|
|
|
|
|
|
2025-07-15 11:40:19 +01:00
|
|
|
[plugins.zsh-ssh]
|
|
|
|
|
github = 'sunlei/zsh-ssh'
|
2025-08-10 11:37:13 +01:00
|
|
|
apply = ["defer"]
|
2025-07-15 11:40:19 +01:00
|
|
|
|
2025-07-23 18:36:59 +01:00
|
|
|
[plugins.zsh-syntax-highlighting]
|
|
|
|
|
github = "zsh-users/zsh-syntax-highlighting"
|
|
|
|
|
apply = ["defer"]
|
|
|
|
|
|
2024-07-07 14:03:56 +01:00
|
|
|
# Loading indicator
|
|
|
|
|
# -----------------
|
|
|
|
|
|
|
|
|
|
[plugins.hide]
|
|
|
|
|
local = "~/.zsh/plugins/loading"
|
|
|
|
|
apply = ["defer-more"]
|