Files
ps1-craft/README.md
2026-01-24 04:53:55 +00:00

143 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 arent 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 doesnt 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:
![alt text](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