Play Zelda's secret door sound when you open a new terminal window - now with cross-platform support!
# Add the tap and install
brew tap quitequinn/zelda-login
brew install zelda-login
# Configure your terminal
zelda-login-install# Submit to scoop-main pending - use direct install for now
# Future: scoop install zelda-logincurl -sSL https://raw.githubusercontent.com/quitequinn/ZeldaLogin/master/install.sh | bashgit clone https://github.com/quitequinn/ZeldaLogin.git
cd ZeldaLogin
chmod +x install.sh
./install.shThe installer automatically detects your operating system and shell, then configures everything for you!
- β
bash (
~/.bash_profile,~/.bashrc) - β
zsh (
~/.zshrc,~/.zprofile) - β
fish (
~/.config/fish/config.fish) - Uses
afplay(built-in)
- β
bash (
~/.bash_profile,~/.bashrc) - β
zsh (
~/.zshrc,~/.zprofile) - β
fish (
~/.config/fish/config.fish) - Auto-detects:
paplay,aplay,play, ormpg123
- β
bash (
~/.bash_profile,~/.bashrc) - β
zsh (
~/.zshrc,~/.zprofile) - Uses PowerShell's
Media.SoundPlayer - Requires FFmpeg for MP3 β WAV conversion
If you prefer to set it up manually or the installer doesn't work:
# Download to your home directory
curl -L https://github.com/quitequinn/ZeldaLogin/raw/master/zelda-secret.mp3 -o ~/zelda-secret.mp3
# Hide the file (optional)
# macOS:
chflags hidden ~/zelda-secret.mp3
# Linux:
mv ~/zelda-secret.mp3 ~/.zelda-secret.mp3Choose the appropriate command for your system and add it to your shell configuration file:
afplay ~/zelda-secret.mp3 > /dev/null 2>&1 &Pick the command that matches your installed audio player:
# PulseAudio (most common)
paplay ~/zelda-secret.mp3 > /dev/null 2>&1 &
# ALSA
aplay ~/zelda-secret.mp3 > /dev/null 2>&1 &
# SoX
play ~/zelda-secret.mp3 > /dev/null 2>&1 &
# mpg123
mpg123 -q ~/zelda-secret.mp3 > /dev/null 2>&1 &powershell -c "(New-Object Media.SoundPlayer '~/zelda-secret.wav').PlaySync()" > /dev/null 2>&1 &Add the command to the appropriate file:
| Shell | Config Files (in order of preference) |
|---|---|
| bash | ~/.bash_profile β ~/.bashrc β ~/.profile |
| zsh | ~/.zshrc β ~/.zprofile β ~/.profile |
| fish | ~/.config/fish/config.fish |
Example for bash:
echo 'afplay ~/zelda-secret.mp3 > /dev/null 2>&1 &' >> ~/.bash_profileThe audio plays in the background (&) so your terminal is immediately usable. No more waiting for the sound to finish!
Output redirection (> /dev/null 2>&1) prevents any error messages or output from cluttering your terminal.
Works on macOS, Linux, and Windows with automatic detection of the best audio player for your system.
Supports bash, zsh, and fish shells with automatic configuration file detection.
Linux: Install an audio player:
# Ubuntu/Debian
sudo apt install pulseaudio-utils alsa-utils
# Fedora/RHEL
sudo dnf install pulseaudio-utils alsa-utils
# Arch Linux
sudo pacman -S pulseaudio alsa-utilsWindows: Install FFmpeg to convert MP3 to WAV:
# Using Chocolatey
choco install ffmpeg
# Using Scoop
scoop install ffmpegIf your terminal is still blocked when opening, check that you have the & at the end of the command. This runs the audio in the background.
Make sure the audio file is in your home directory:
ls -la ~/zelda-secret.mp3
# or for Linux hidden file:
ls -la ~/.zelda-secret.mp3Make sure you added the command to the correct shell configuration file. You can check which shell you're using:
echo $SHELLCheck the configs/ directory for example configuration files:
configs/bash_profile_example- Bash configurationconfigs/zshrc_example- Zsh configurationconfigs/fish_config_example- Fish configuration
To remove Zelda Login:
-
Remove the command from your shell config file:
# Edit your shell config and remove the zelda-secret line nano ~/.bash_profile # or ~/.zshrc, ~/.config/fish/config.fish, etc.
-
Delete the audio file:
rm ~/zelda-secret.mp3 # or if hidden on Linux: rm ~/.zelda-secret.mp3
- Audio: Dylan Savage (YouTube)
- Original Concept: The Legend of Zelda series by Nintendo
- Cross-platform Support: Community contributions
Found a bug or want to add support for another platform? Pull requests are welcome!
- β Added automatic installer script
- β Added Linux support with multiple audio players
- β Added Windows/WSL support
- β Added Fish shell support
- β Fixed blocking audio issue
- β Added comprehensive documentation
- β Basic macOS bash support
.--Β―Β―Β―Β―--.
.'' '.
/ _--_ _--_ \
/ .'####\ /####'. \
| /###############\ \
Β―''..||####--#####--####|..''Β―
'._\|##/_'. \#/ .'_ \#|_.'
|#\ ' Β―. .Β― ' /#| |
\|\ Β―Β― /\ Β―Β― /|/ \_
_ '._ / \_.' '. _
.. | |\ /Β―/ | / \|''''..__ \Β―\ /| | ..
\|'.\| \/Β―/ ...''|-/ \|''... \Β―\/ |/.'|/
.-.- | / \ | -.-.
'-'- ' | /__________\ | ' -'-'
' /\ /\ '
/ \ / \
/ \ / \
/ \ / \
/ \ / \
/__________\/__________\
\__________/\__________/"It's dangerous to go alone! Take this... sound effect."