aboutsummaryrefslogtreecommitdiffstats
path: root/install.sh
diff options
context:
space:
mode:
Diffstat (limited to 'install.sh')
-rwxr-xr-xinstall.sh197
1 files changed, 0 insertions, 197 deletions
diff --git a/install.sh b/install.sh
deleted file mode 100755
index bd82d6da..00000000
--- a/install.sh
+++ /dev/null
@@ -1,197 +0,0 @@
-#! /bin/sh
-set -eu
-
-ATUIN_NON_INTERACTIVE="no"
-
-for arg in "$@"; do
- case "$arg" in
- --non-interactive) ATUIN_NON_INTERACTIVE="yes" ;;
- *) ;;
- esac
-done
-
-if [ "$ATUIN_NON_INTERACTIVE" != "yes" ]; then
- if [ -t 0 ] || { true </dev/tty; } 2>/dev/null; then
- ATUIN_NON_INTERACTIVE="no"
- else
- ATUIN_NON_INTERACTIVE="yes"
- fi
-fi
-
-cat << EOF
- _______ _______ __ __ ___ __ _
-| _ || || | | || | | | | |
-| |_| ||_ _|| | | || | | |_| |
-| | | | | |_| || | | |
-| | | | | || | | _ |
-| _ | | | | || | | | | |
-|__| |__| |___| |_______||___| |_| |__|
-
-Magical shell history
-
-Atuin setup
-https://github.com/atuinsh/atuin
-https://forum.atuin.sh
-
-Please file an issue or reach out on the forum if you encounter any problems!
-
-===============================================================================
-
-EOF
-
-__atuin_install_binary(){
- curl --proto '=https' --tlsv1.2 -LsSf https://github.com/atuinsh/atuin/releases/latest/download/atuin-installer.sh | sh
-}
-
-if ! command -v curl > /dev/null; then
- echo "curl not installed. Please install curl."
- exit
-fi
-
-
-__atuin_install_binary
-
-# TODO: Check which shell is in use
-# Use of single quotes around $() is intentional here
-# shellcheck disable=SC2016
-if ! grep -q "atuin init zsh" "${ZDOTDIR:-$HOME}/.zshrc"; then
- printf '\neval "$(atuin init zsh)"\n' >> "${ZDOTDIR:-$HOME}/.zshrc"
-fi
-
-# Use of single quotes around $() is intentional here
-# shellcheck disable=SC2016
-
-if ! grep -q "atuin init bash" ~/.bashrc; then
- curl --proto '=https' --tlsv1.2 -LsSf https://raw.githubusercontent.com/rcaloras/bash-preexec/master/bash-preexec.sh -o ~/.bash-preexec.sh
- printf '\n[[ -f ~/.bash-preexec.sh ]] && source ~/.bash-preexec.sh\n' >> ~/.bashrc
- echo 'eval "$(atuin init bash)"' >> ~/.bashrc
-fi
-
-if [ -f "$HOME/.config/fish/config.fish" ]; then
- if ! grep -q "atuin init fish" "$HOME/.config/fish/config.fish"; then
- printf '\nif status is-interactive\n atuin init fish | source\nend\n' >> "$HOME/.config/fish/config.fish"
- fi
-fi
-
-ATUIN_BIN="$HOME/.atuin/bin/atuin"
-
-__atuin_install_agent_hook(){
- agent="$1"
- agent_name="$2"
- agent_config_dir="$3"
- shift 3
-
- detected="no"
-
- if [ -d "$agent_config_dir" ]; then
- detected="yes"
- else
- for agent_command in "$@"; do
- if command -v "$agent_command" > /dev/null 2>&1; then
- detected="yes"
- break
- fi
- done
- fi
-
- if [ "$detected" = "yes" ]; then
- echo "Detected $agent_name — installing Atuin hooks..."
- if ! "$ATUIN_BIN" hook install "$agent"; then
- echo "Failed to install Atuin hooks for $agent_name (this version of Atuin may not support it yet)."
- fi
- echo ""
- fi
-}
-
-__atuin_install_agent_hook "claude-code" "Claude Code" "$HOME/.claude" claude
-__atuin_install_agent_hook "codex" "Codex" "$HOME/.codex" codex
-__atuin_install_agent_hook "pi" "pi" "$HOME/.config/pi" pi
-
-echo ""
-echo "Atuin installed successfully!"
-echo ""
-
-if [ "$ATUIN_NON_INTERACTIVE" != "yes" ]; then
-
- printf "Would you like to import your existing shell history into Atuin? [Y/n] "
- read -r import_answer </dev/tty || import_answer="n"
- import_answer="${import_answer:-y}"
-
- case "$import_answer" in
- [yY]*)
- echo ""
- if ! "$ATUIN_BIN" import auto; then
- echo ""
- echo "History import failed. You can retry later with 'atuin import auto'."
- fi
- echo ""
- ;;
- *)
- echo "Skipping history import. You can always run 'atuin import auto' later."
- echo ""
- ;;
- esac
-
- cat << EOF
-Sync your history across all your machines with Atuin Cloud:
-
- - End-to-end encrypted — only you can read your data
- - Access your history from any device
- - Never lose your history, even if you wipe a machine
-
-EOF
-
- printf "Sign up for a sync account? [Y/n] "
- read -r sync_answer </dev/tty || sync_answer="n"
- sync_answer="${sync_answer:-y}"
-
- case "$sync_answer" in
- [yY]*)
- echo ""
- if ! "$ATUIN_BIN" register </dev/tty; then
- echo ""
- echo "Registration did not complete. You can run 'atuin register' any time to try again."
- fi
- ;;
- *)
- echo ""
- printf "Already have an account? Log in with 'atuin login'.\n"
- echo "You can also run 'atuin register' any time to create one."
- ;;
- esac
-
-else
- echo "Non-interactive environment detected — skipping setup prompts."
- echo "You can run the following commands manually after installation:"
- echo ""
- echo " atuin import auto Import your existing shell history"
- echo " atuin register Sign up for a sync account"
- echo " atuin login Log in to an existing sync account"
-fi
-
-if [ "$ATUIN_NON_INTERACTIVE" != "yes" ]; then
- "$ATUIN_BIN" setup </dev/tty
-fi
-
-cat << EOF
-
- _______ __ __ _______ __ _ ___ _ __ __ _______ __ __
-| || | | || _ || | | || | | | | | | || || | | |
-|_ _|| |_| || |_| || |_| || |_| | | |_| || _ || | | |
- | | | || || || _| | || | | || |_| |
- | | | || || _ || |_ |_ _|| |_| || |
- | | | _ || _ || | | || _ | | | | || |
- |___| |__| |__||__| |__||_| |__||___| |_| |___| |_______||_______|
-
-Thanks for installing Atuin! I really hope you like it.
-
-If you have any issues, please open an issue on GitHub or visit our forum (https://forum.atuin.sh)!
-
-If you love Atuin, please give us a star on GitHub! It really helps ⭐️ https://github.com/atuinsh/atuin
-
-===============================================================================
-
- ⚠️ Please restart your shell or open a new terminal for Atuin to take effect!
-
-===============================================================================
-EOF