refactor: sheldon is dead long live chezmoi
This commit is contained in:
parent
b449a96b8e
commit
d343002dde
7 changed files with 78 additions and 8 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -159,3 +159,4 @@ cython_debug/
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/python
|
# End of https://www.toptal.com/developers/gitignore/api/python
|
||||||
|
|
||||||
.task.mk
|
.task.mk
|
||||||
|
lib/plugins/
|
||||||
|
|
52
home/.chezmoiexternal.yaml
Normal file
52
home/.chezmoiexternal.yaml
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
.dotfiles/lib/plugins/base16:
|
||||||
|
rereshPeriod: 168h
|
||||||
|
type: git-repo
|
||||||
|
url: https://github.com/chriskempson/base16-shell.git
|
||||||
|
|
||||||
|
.dotfiles/lib/plugins/zsh-defer:
|
||||||
|
rereshPeriod: 168h
|
||||||
|
type: git-repo
|
||||||
|
url: https://github.com/romkatv/zsh-defer.git
|
||||||
|
|
||||||
|
.dotfiles/lib/plugins/zsh-syntax-highlighting:
|
||||||
|
rereshPeriod: 168h
|
||||||
|
type: git-repo
|
||||||
|
url: https://github.com/zsh-users/zsh-syntax-highlighting.git
|
||||||
|
|
||||||
|
.dotfiles/lib/plugins/fzf-tab:
|
||||||
|
rereshPeriod: 168h
|
||||||
|
type: git-repo
|
||||||
|
url: https://github.com/Aloxaf/fzf-tab.git
|
||||||
|
.dotfiles/lib/plugins/oh-my-zsh:
|
||||||
|
type: "archive"
|
||||||
|
url: https://github.com/ohmyzsh/ohmyzsh/archive/master.tar.gz
|
||||||
|
# exact: true
|
||||||
|
# chezmoi refuses to mkdir with nested directories
|
||||||
|
stripComponents: 2
|
||||||
|
refreshPeriod: "168h"
|
||||||
|
include:
|
||||||
|
- "*/lib/{clipboard,completion}.zsh"
|
||||||
|
- "*/plugins/{dotenv,extract}/**"
|
||||||
|
#
|
||||||
|
# include:
|
||||||
|
#
|
||||||
|
# - "*/plugins/{dotenv,extract}/**/*"
|
||||||
|
# include: ["plugins/dotenv/**", "plugins/extract/**"]
|
||||||
|
|
||||||
|
# .oh-my-zsh:
|
||||||
|
# exact: true
|
||||||
|
# refreshPeriod: 168h
|
||||||
|
# stripComponents: 1
|
||||||
|
# type: archive
|
||||||
|
# url: https://github.com/ohmyzsh/ohmyzsh/archive/master.tar.gz
|
||||||
|
# .oh-my-zsh/custom/plugins/zsh-syntax-highlighting:
|
||||||
|
# exact: true
|
||||||
|
# refreshPeriod: 168h
|
||||||
|
# stripComponents: 1
|
||||||
|
# type: archive
|
||||||
|
# url: https://github.com/zsh-users/zsh-syntax-highlighting/archive/master.tar.gz
|
||||||
|
# .oh-my-zsh/custom/themes/powerlevel10k:
|
||||||
|
# exact: true
|
||||||
|
# stripComponents: 1
|
||||||
|
# type: archive
|
||||||
|
# url: https://github.com/romkatv/powerlevel10k/archive/v1.15.0.tar.gz
|
|
@ -12,7 +12,7 @@ fi
|
||||||
PATH="$DOTFILES_DIR/bin:$PATH"
|
PATH="$DOTFILES_DIR/bin:$PATH"
|
||||||
. $DOTFILES_DIR/lib/function.zsh
|
. $DOTFILES_DIR/lib/function.zsh
|
||||||
|
|
||||||
for DOTFILE in "$DOTFILES_DIR"/lib/{path,env,prompt,alias,conda,custom}.zsh; do
|
for DOTFILE in "$DOTFILES_DIR"/lib/{path,env,prompt,alias,conda,plugins,custom}.zsh; do
|
||||||
[ -f "$DOTFILE" ] && . "$DOTFILE"
|
[ -f "$DOTFILE" ] && . "$DOTFILE"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ CURDIR=${0:a:h}
|
||||||
gen() {
|
gen() {
|
||||||
if is-executable $1; then
|
if is-executable $1; then
|
||||||
echo "$1 updated"
|
echo "$1 updated"
|
||||||
"$@" | sed "s#$HOME#\$HOME#g" > $CURDIR/"_$argv[1]"
|
"$@" | sed "s#$HOME#\$HOME#g" >$CURDIR/"_$argv[1]"
|
||||||
else
|
else
|
||||||
echo "skipping $1"
|
echo "skipping $1"
|
||||||
fi
|
fi
|
||||||
|
|
|
@ -34,6 +34,7 @@ export FZF_DEFAULT_OPTS=${FZF_COLORS}${FZF_LAYOUT}
|
||||||
export FZF_CTRL_GENERAL="--height=100% --margin=0,0,0"
|
export FZF_CTRL_GENERAL="--height=100% --margin=0,0,0"
|
||||||
|
|
||||||
#adapted from https://github.com/zimfw/fzf/blob/master/init.zsh
|
#adapted from https://github.com/zimfw/fzf/blob/master/init.zsh
|
||||||
|
# TODO: fix this so it works with $ **<tab>
|
||||||
if [ -x "$(command -v fd)" ]; then
|
if [ -x "$(command -v fd)" ]; then
|
||||||
export FZF_DEFAULT_COMMAND="command fd --type file --exclude ".git/" --hidden --no-ignore"
|
export FZF_DEFAULT_COMMAND="command fd --type file --exclude ".git/" --hidden --no-ignore"
|
||||||
_fzf_compgen_path() {
|
_fzf_compgen_path() {
|
||||||
|
|
22
lib/plugins.zsh
Executable file
22
lib/plugins.zsh
Executable file
|
@ -0,0 +1,22 @@
|
||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
PLUGINS_DIR=$DOTFILES_DIR/lib/plugins
|
||||||
|
|
||||||
|
source $PLUGINS_DIR/zsh-defer/zsh-defer.plugin.zsh
|
||||||
|
|
||||||
|
# TODO: automate collection of plugin files
|
||||||
|
plugins=(
|
||||||
|
base16/base16-shell.plugin.zsh
|
||||||
|
fzf-tab/fzf-tab.plugin.zsh
|
||||||
|
zsh-syntax-highlighting/zsh-syntax-highlighting.plugin.zsh
|
||||||
|
oh-my-zsh/clipboard.zsh
|
||||||
|
oh-my-zsh/completion.zsh
|
||||||
|
oh-my-zsh/dotenv/dotenv.plugin.zsh
|
||||||
|
oh-my-zsh/extract/extract.plugin.zsh
|
||||||
|
)
|
||||||
|
|
||||||
|
for plugin in $plugins; do
|
||||||
|
zsh-defer source $PLUGINS_DIR/$plugin
|
||||||
|
done
|
||||||
|
|
||||||
|
unset PLUGINS_DIR plugins
|
|
@ -3,12 +3,6 @@
|
||||||
autoload -Uz compinit
|
autoload -Uz compinit
|
||||||
compinit
|
compinit
|
||||||
|
|
||||||
if is-executable sheldon; then
|
|
||||||
eval "$(sheldon -q --config-file ~/.config/sheldon/plugins.toml source)"
|
|
||||||
else
|
|
||||||
echo "no sheldon = no shell extensions loaded"
|
|
||||||
fi
|
|
||||||
|
|
||||||
is-executable zoxide && eval eval "$(zoxide init zsh --cmd cd)"
|
is-executable zoxide && eval eval "$(zoxide init zsh --cmd cd)"
|
||||||
|
|
||||||
if is-executable starship; then
|
if is-executable starship; then
|
||||||
|
|
Loading…
Reference in a new issue