diff --git a/.gitignore b/.gitignore index 823c9d3..e708f7c 100644 --- a/.gitignore +++ b/.gitignore @@ -58,6 +58,7 @@ espanso/match/*.backup # --- Generated files --- dotfiles.conf.wizard +dotfiles.conf git/.gitconfig # --- Package managers --- diff --git a/dotfiles.conf.template b/dotfiles.conf.template new file mode 100644 index 0000000..a3fdc31 --- /dev/null +++ b/dotfiles.conf.template @@ -0,0 +1,157 @@ +# ============================================================================ +# Dotfiles Configuration (Arch/CachyOS) +# ============================================================================ +# This is the SINGLE SOURCE OF TRUTH for all dotfiles configuration. +# All scripts and functions should ultimately pull values from here. +# +# Edit this file to customize your dotfiles installation. +# ============================================================================ + +# ============================================================================ +# Core Settings +# ============================================================================ + +DOTFILES_VERSION="1.2.4" +DOTFILES_DIR="$HOME/.dotfiles" +DOTFILES_BRANCH="main" +DOTFILES_BACKUP_PREFIX="$HOME/.dotfiles_backup" + +# ============================================================================ +# GitHub Settings +# ============================================================================ + +DOTFILES_GITHUB_USER="adlee-was-taken" +DOTFILES_REPO_NAME="dotfiles" + +# Derived URLs (computed from above) +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}" + +# ============================================================================ +# User Identity +# ============================================================================ +# Used by git config, espanso, and vault +# Leave blank to be prompted during setup + +USER_FULLNAME="Aaron D. Lee" +USER_EMAIL="aaron.daniel.lee@gmail.com" +USER_GITHUB="adlee-was-taken" +USER_PHONE="" +USER_WEBSITE="" + +# ============================================================================ +# Git Configuration +# ============================================================================ +# If blank, falls back to USER_FULLNAME/USER_EMAIL above + +GIT_USER_NAME="adlee-was-taken" +GIT_USER_EMAIL="aaron.daniel.lee@gmail.com" +GIT_DEFAULT_BRANCH="main" +GIT_CREDENTIAL_HELPER="store" + +# ============================================================================ +# Display Settings +# ============================================================================ + +# Width for header boxes and MOTD displays (in characters) +DF_WIDTH="74" + +# MOTD (Message of the Day) +ENABLE_MOTD="true" +MOTD_STYLE="compact" # compact, mini, full, or none +MOTD_SHOW_FAILED_SERVICES="true" +MOTD_SHOW_UPDATES="true" + +# ============================================================================ +# Theme Settings +# ============================================================================ + +ZSH_THEME_NAME="adlee" +THEME_TIMER_THRESHOLD="10" +THEME_PATH_TRUNCATE_LENGTH="32" + +# ============================================================================ +# 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" +INSTALL_ZSH_PLUGINS="true" +INSTALL_FZF="ask" +INSTALL_BAT="ask" +INSTALL_EZA="ask" +INSTALL_NEOVIM="ask" +SET_ZSH_DEFAULT="ask" + +# ============================================================================ +# Advanced Features +# ============================================================================ + +ENABLE_SMART_SUGGESTIONS="true" # Typo correction +ENABLE_COMMAND_PALETTE="true" # Ctrl+Space launcher +ENABLE_SHELL_ANALYTICS="false" # Command usage stats +ENABLE_VAULT="true" # Encrypted secrets storage +DOTFILES_AUTO_SYNC_CHECK="true" # Check for updates on shell start + +# ============================================================================ +# Btrfs Settings +# ============================================================================ + +BTRFS_DEFAULT_MOUNT="/" + +# ============================================================================ +# Snapper Settings (Arch/CachyOS with btrfs) +# ============================================================================ + +SNAPPER_CONFIG="root" +LIMINE_CONF="/boot/limine.conf" + +# ============================================================================ +# Tmux Workspace Settings +# ============================================================================ + +TW_SESSION_PREFIX="work" +TW_DEFAULT_TEMPLATE="dev" + +# ============================================================================ +# Tmuxinator Settings +# ============================================================================ + +TMUXINATOR_ENABLED="auto" # auto, true, false +TMUXINATOR_CONFIG_DIR="$HOME/.config/tmuxinator" + +# When both a simple template and tmuxinator project exist with the same name, +# tmuxinator takes precedence. Set to "false" to prefer simple templates. +TW_PREFER_TMUXINATOR="true" + +# ============================================================================ +# Python Template Settings +# ============================================================================ + +PY_TEMPLATE_BASE_DIR="$HOME/projects" +PY_TEMPLATE_PYTHON="python3" +PY_TEMPLATE_VENV_NAME="venv" +PY_TEMPLATE_USE_POETRY="false" +PY_TEMPLATE_GIT_INIT="true" + +# ============================================================================ +# SSH Manager Settings +# ============================================================================ + +SSH_AUTO_TMUX="true" +SSH_TMUX_SESSION_PREFIX="ssh" +SSH_SYNC_DOTFILES="ask" + +# ============================================================================ +# Password Manager Settings +# ============================================================================ + +PW_CLIP_TIME="45" # Seconds before clipboard clears + +# ============================================================================ +# Package Manager +# ============================================================================ + +# Preferred AUR helper: paru, yay, or auto (auto-detect) +AUR_HELPER="auto"