# Bashrc Dotfiles β€” Global & Portable Bash Prompt Elegant, portable, and easy-to-install Bash prompt with: ✨ Two color zones πŸŒ… Time-based emoji accents πŸ–₯️ Fallback when Nerd Fonts aren’t available πŸ“ Shortened but informative path πŸ”˜ Status-colored prompt arrow 🧠 Works on Linux, WSL, and macOS --- ## 🧠 Features - **Clean, modern powerline-style prompt** - Zone 1: date/time/user (cool gray-blue) - Zone 2: host/path (turquoise / cool green) - Automatically switches emoji during the day - Smart path shortening (keeps your home dir visible) - Fallback to ASCII/Unicode if Nerd Fonts are not installed - Per-user disable support - Simple per-user or global install --- ## πŸ—‚οΈ Repo Structure dotfiles/ β”œβ”€β”€ ps1/ β”‚ └── ps1.sh β”œβ”€β”€ install/ β”‚ β”œβ”€β”€ install-linux-global.sh β”‚ β”œβ”€β”€ install-macos-user.sh β”‚ └── install-nerdfont.sh └── README.md --- ## πŸš€ Installation ### 🐧 Linux / WSL (global, all users) ```bash sudo bash install/install-linux-global.sh This: Installs the prompt module to /etc/profile.d/ps1.sh Sources it in /etc/bash.bashrc so all users get the prompt After install, open a new shell to see the prompt. 🍏 macOS (per-user) bash install/install-macos-user.sh This: Copies ps1/ps1.sh to ~/.config/ps1/ps1.sh Adds source block in ~/.bashrc and ~/.bash_profile Open a new terminal or reload your shell: source ~/.bashrc πŸ–ΌοΈ Nerd Fonts (optional but recommended) Nerd Fonts provide the best display for glyphs (powerline symbols): bash install/install-nerdfont.sh After install: Open your terminal settings Set font to JetBrainsMono Nerd Font (or any Nerd Font) Terminal must use a Nerd Font for glyphs like ξ‚°, ξ‚Ά, ξ‚΄ to render correctly. βš™οΈ Overrides (Optional) Sometimes autodetection doesn’t work (e.g., on macOS without fontconfig): Force Nerd Font glyphs: export PS1_FORCE_NF=1 Force fallback (no powerline glyphs): export PS1_FORCE_ASCII=1 Add these to your ~/.bashrc or ~/.bash_profile. πŸ™… Disable Prompt (per user) If you want to disable the global prompt for your account: Temporarily in a shell: export DISABLE_GLOBAL_PS1=1 Permanently: mkdir -p ~/.config/ps1 touch ~/.config/ps1/disable To re-enable: rm -f ~/.config/ps1/disable πŸ§ͺ Testing After install, open a new shell and run: bash -i -c 'echo OK' If you see a prompt with colors and emoji, things are working. πŸ’‘ Usage Notes Font matters: Even with Nerd Fonts installed, you must select them in your terminal settings. Works on terminals like: GNOME Terminal iTerm2 Kitty VS Code integrated terminal Windows Terminal (WSL) If you see squares or missing glyphs, your terminal is likely using a non-Nerd font. πŸ“Έ Example Prompt This prompt shows: ![Prompt](images/image.png) With exit-status colored arrow and emoji reflecting time of day. πŸ› οΈ Contribution Want to help improve this project? Fork the repository Make your changes Open a merge request Please keep consistent colors and styles. πŸ“„ License MIT Β© 2026 Your Name