Files
dotfiles/dotfiles.conf
2025-12-15 21:11:15 -05:00

95 lines
4.0 KiB
Plaintext

# ============================================================================
# Dotfiles Configuration
# ============================================================================
# Fork this repo? Update the values below to match your setup.
# All scripts source this file for configuration.
# ============================================================================
# --- Version ---
DOTFILES_VERSION="1.0.0"
# --- GitHub Settings ---
DOTFILES_GITHUB_USER="adlee-was-taken"
DOTFILES_REPO_NAME="dotfiles"
DOTFILES_BRANCH="main"
# --- Local Paths ---
DOTFILES_DIR="$HOME/.dotfiles"
DOTFILES_BACKUP_PREFIX="$HOME/.dotfiles_backup"
# --- User Identity ---
# Used by setup-espanso.sh and git config generation
# Leave blank to be prompted during setup, or pre-fill for automated installs
USER_FULLNAME=""
USER_EMAIL=""
USER_PHONE=""
USER_WEBSITE=""
USER_GITHUB=""
# --- Git Configuration ---
# If blank, falls back to USER_FULLNAME/USER_EMAIL above
GIT_USER_NAME=""
GIT_USER_EMAIL=""
GIT_DEFAULT_BRANCH="master"
GIT_CREDENTIAL_HELPER="store" # "store", "cache", "osxkeychain", etc.
# --- Feature Toggles ---
# Set to "true", "false", or "ask" to control what gets installed
# Use "auto" to skip if already installed (default for deps)
INSTALL_DEPS="auto" # "auto" (skip if installed), "true", "false", or "ask"
INSTALL_ZSH_PLUGINS="true" # Auto-install zsh-autosuggestions & zsh-syntax-highlighting
INSTALL_ESPANSO="ask" # "true", "false", or "ask"
INSTALL_FZF="ask"
INSTALL_BAT="ask"
INSTALL_EZA="ask"
SET_ZSH_DEFAULT="ask"
# --- Password Manager Integration ---
# Enables CLI plugins for password managers (requires respective CLI tools)
INSTALL_1PASSWORD="ask" # 1Password CLI (op) - https://1password.com/downloads/command-line/
INSTALL_LASTPASS="ask" # LastPass CLI (lpass) - https://github.com/lastpass/lastpass-cli
INSTALL_BITWARDEN="ask" # Bitwarden CLI (bw) - https://bitwarden.com/help/cli/
# --- MOTD (Message of the Day) ---
ENABLE_MOTD="true" # Show system info on shell start
MOTD_STYLE="compact" # "compact" (box), "mini" (single line), or "off"
# --- Theme Settings ---
ZSH_THEME_NAME="adlee"
THEME_TIMER_THRESHOLD=10 # Show elapsed time for commands longer than N seconds
THEME_PATH_TRUNCATE_LENGTH=32 # Truncate path display after N characters
# --- Espanso Settings ---
ESPANSO_TRIGGER_PREFIX=".." # Prefix for all triggers (e.g., "..date")
# --- Snapper Settings (CachyOS/Arch with btrfs) ---
SNAPPER_CONFIG="root"
LIMINE_CONF="/boot/limine.conf"
# --- Advanced Features ---
ENABLE_SMART_SUGGESTIONS="true" # Typo correction and alias suggestions
ENABLE_COMMAND_PALETTE="true" # Ctrl+Space fuzzy launcher
ENABLE_SHELL_ANALYTICS="false" # Track command usage stats
ENABLE_VAULT="true" # Encrypted secrets storage
ENABLE_AUTO_SYNC="false" # Auto-sync dotfiles on shell start
DOTFILES_AUTO_SYNC_CHECK="true" # Check for updates on shell start
# ============================================================================
# Derived URLs (generally don't edit these)
# ============================================================================
DOTFILES_REPO_URL="https://github.com/${DOTFILES_GITHUB_USER}/${DOTFILES_REPO_NAME}.git"
DOTFILES_RAW_URL="https://raw.githubusercontent.com/${DOTFILES_GITHUB_USER}/${DOTFILES_REPO_NAME}/${DOTFILES_BRANCH}"
# ============================================================================
# Helper function to source this config from any script
# ============================================================================
# Add this to scripts that need config values:
#
# SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# DOTFILES_CONF="${SCRIPT_DIR}/dotfiles.conf"
# [[ -f "$DOTFILES_CONF" ]] || DOTFILES_CONF="${SCRIPT_DIR}/../dotfiles.conf"
# [[ -f "$DOTFILES_CONF" ]] || DOTFILES_CONF="$HOME/.dotfiles/dotfiles.conf"
# source "$DOTFILES_CONF" || { echo "Error: Cannot find dotfiles.conf"; exit 1; }
#
# ============================================================================