Compare commits

..

2 commits

Author SHA1 Message Date
ea5957f6d4 transform zsh files into templates 2024-11-20 12:12:03 -03:00
8ccda61811 prevent unecesary pre_deploy script executions 2024-11-20 11:29:46 -03:00
6 changed files with 72 additions and 21 deletions

View file

@ -7,7 +7,7 @@ header = ".dotter/handlebars_helpers/header.rhai"
# CLI package
[cli]
depends = ["nvim", "zsh"]
depends = ["nvim", "zsh", "fzf", "starship"]
[cli.variables]
nerd_font = "JetBrainsMono"
@ -15,7 +15,6 @@ nerd_font = "JetBrainsMono"
[cli.files]
"config/bat" = "~/.config/bat"
"config/sesh" = "~/.config/sesh"
"config/starship.toml" = "~/.config/starship.toml"
"config/tmux" = "~/.config/tmux"
"config/yazi" = "~/.config/yazi"
"config/zellij" = "~/.config/zellij"
@ -34,8 +33,13 @@ depends = ["rust"]
"config/zsh/aliases" = {target = "~/.config/zsh/aliases", type="symbolic"}
"config/zsh/completions" = {target = "~/.config/zsh/completions", type = "symbolic"}
"config/zsh/functions" = "~/.config/zsh/functions"
[fzf.files]
"config/fzf" = "~/.config/fzf"
[starship.files]
"config/starship.toml" = "~/.config/starship.toml"
[nushell.files]
"config/nushell" = "~/.config/nushell"
@ -44,3 +48,6 @@ depends = ["rust"]
[rust.variables]
cargo.packages = []
[mise.files]
"config/mise" = "~/.config/mise"

3
.dotter/post_deploy.sh Normal file
View file

@ -0,0 +1,3 @@
#!/usr/bin/env bash
sha256sum .dotter/cache/.dotter/pre_deploy.sh >.dotter/cache/pre_deploy.checksum

View file

@ -2,6 +2,15 @@
# shellcheck disable=all
# This is a handlerbars template, so ignore issues
checksum_file=".dotter/cache/pre_deploy.checksum"
if [[ -e "$checksum_file" ]] && sha256sum --check "$checksum_file" >/dev/null 2>&1; then
echo "Pre deploy script has not changed, skiping script execution"
echo "To override this, remove the checksum file: $checksum_file"
exit 0
fi
{{!~ Detect the distribution ~}}
{{~ assign "distro" (trim (command_output "awk -F= '/^ID=/ {print $2}' /etc/os-release | tr -d '\"'")) ~}}

View file

@ -1,5 +1,5 @@
includes = [".dotter/machines/fedora.toml"]
packages = ["cli", "dev"]
packages = ["cli", "dev", "mise"]
[files]

View file

@ -5,37 +5,46 @@ update_path() {
}
# Set manually
export DOTS="$HOME/.local/share/chezmoi"
export REPOS="$HOME/.local/share/chezmoi"
export DOTS="$REPOS/Private/dots"
export EDITOR=nvim
export VISUAL="$EDITOR"
export QT_STYLE_OVERRIDE=kvantum
export MOZ_ENABLE_WAYLAND=1
update_path "$DOTS/scripts"
update_path "$HOME/.local/bin"
update_path "$HOME/bin"
update_path "/usr/local/bin"
# Dev Stuff
{{ #if (is_executable "npm") }}
export NPM_PACKAGES="$HOME/.npm-packages"
export NODE_PATH="$NPM_PACKAGES/lib/node_modules${NODE_PATH:+:$NODE_PATH}"
export PNPM_HOME="$HOME/.local/share/pnpm"
export ESLINT_USE_FLAT_CONFIG=true
# . "$HOME/.cargo/env"
# source "$HOME/.rye/env"
# Unset manpath so we can inherit from /etc/manpath via the `manpath`
# command
unset MANPATH # delete if you already modified MANPATH elsewhere in your config
export MANPATH="$NPM_PACKAGES/share/man:$(manpath)"
# PATH
update_path "/usr/local/bin"
update_path "$HOME/.local/bin"
update_path "$HOME/.cargo/bin/"
update_path "$HOME/.spicetify"
update_path "$DOTS/scripts"
update_path "$HOME/bin"
update_path "$NPM_PACKAGES/bin"
update_path "$PNPM_HOME"
update_path "$HOME/.local/share/rtx/shims"
update_path "$HOME/.spicetify"
{{ /if }}
if [[ $OSTYPE =~ 'darwin' ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
fi
{{ #if (is_executable "pnpm") }}
export PNPM_HOME="$HOME/.local/share/pnpm"
export ESLINT_USE_FLAT_CONFIG=true
update_path "$PNPM_HOME"
{{ /if }}
{{ #if (is_executable "rye") }}
source "$HOME/.rye/env"
{{ /if }}
{{ #if (is_executable "cargo") }}
. "$HOME/.cargo/env"
update_path "$HOME/.cargo/bin/"
{{ /if }}
{{~ #if (eq (env_var "OS") "macos") }}
eval "$(/opt/homebrew/bin/brew shellenv)"
{{ /if ~}}

View file

@ -26,7 +26,10 @@ zinit snippet "https://raw.githubusercontent.com/catppuccin/zsh-syntax-highlight
zinit light zsh-users/zsh-syntax-highlighting
zinit light zsh-users/zsh-completions
zinit light zsh-users/zsh-autosuggestions
{{ #if dotter.packages.fzf }}
zinit light Aloxaf/fzf-tab
{{ /if }}
# ╭──────────────────────────────────────────────────────────╮
# │ Oh My Zsh snippets │
@ -115,6 +118,9 @@ setopt hist_find_no_dups
# case insensitive completion
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
{{ #if dotter.packages.fzf }}
zstyle ':completion:*' menu no
zstyle ':fzf-tab:*' show-group full
zstyle ':fzf-tab:*' continuous-trigger '/'
@ -153,6 +159,8 @@ zstyle ':fzf-tab:complete:git-checkout:*' fzf-preview \
# TLDR
zstyle ':fzf-tab:complete:tldr:argument-1' fzf-preview 'tldr --color always $word'
{{ /if }}
# ╭──────────────────────────────────────────────────────────╮
# │ ZSH Options │
# ╰──────────────────────────────────────────────────────────╯
@ -163,7 +171,10 @@ setopt GLOB_DOTS
# ╭──────────────────────────────────────────────────────────╮
# │ Source other files │
# ╰──────────────────────────────────────────────────────────╯
{{ #if dotter.packages.fzf }}
source $HOME/.config/fzf/fzfrc
{{ /if }}
# this prevents errors and not loading some files
for file in $HOME/.config/zsh/**/*.zsh; do
@ -173,7 +184,19 @@ done
# ╭──────────────────────────────────────────────────────────╮
# │ Init external programs │
# ╰──────────────────────────────────────────────────────────╯
{{ #if dotter.packages.fzf }}
eval "$(fzf --zsh)"
{{ /if ~}}
{{ #if (is_executable "zoxide") }}
eval "$(zoxide init --cmd cd zsh)"
{{ /if ~}}
{{ #if dotter.packages.starship }}
eval "$(starship init zsh)"
{{ /if ~}}
{{ #if dotter.packages.mise }}
eval "$(mise activate zsh)"
{{ /if ~}}