Install cfg alias on every machine (~/.bash_aliases) #9

Merged
yuri merged 1 commits from feat/cfg-alias-install into main 2026-10-27 20:20:08 +01:00
+27 -1
View File
@@ -17,8 +17,34 @@ if [[ ! -d "$HOME/.config" ]]; then
mkdir -p "$HOME/.config"
fi
# --- Install the cfg command, ALWAYS (even if the repo exists already) ---
# The alias lives in ~/.bash_aliases (user-owned, trackable in fedora-dots),
# and ~/.bashrc sources that file. Without this, `cfg` exists only on the
# machine where it was typed by hand (VM-proven: "cfg pull: command not found").
ALIASES_FILE="$HOME/.bash_aliases"
BASHRC="$HOME/.bashrc"
if ! grep -q "alias cfg=" "$ALIASES_FILE" 2>/dev/null; then
info "Installing cfg alias into ~/.bash_aliases..."
cat >> "$ALIASES_FILE" <<'EOF'
# cfg: manage the bare dotfiles repo (~/.cfg.git, work tree $HOME)
alias cfg='git --git-dir=$HOME/.cfg.git --work-tree=$HOME'
EOF
fi
if ! grep -q "bash_aliases" "$BASHRC" 2>/dev/null; then
info "Making ~/.bashrc load ~/.bash_aliases..."
touch "$BASHRC"
cat >> "$BASHRC" <<'EOF'
# user aliases
if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases; fi
EOF
fi
if [[ -d "$CFG_DIR" ]]; then
ok "Dotfiles already set up ($CFG_DIR exists). Skipping."
ok "Dotfiles already set up ($CFG_DIR exists)."
ok "cfg alias ensured. Open a new shell or run: source ~/.bashrc"
exit 0
fi