This commit is contained in:
2026-01-24 04:53:55 +00:00
parent d590a82645
commit a2839d0b5f
2 changed files with 134 additions and 9 deletions

143
README.md
View File

@@ -1,18 +1,143 @@
# PS1 dotfiles (Linux/WSL global + macOS user)
# Bashrc Dotfiles — Global & Portable Bash Prompt
## Hva du får
- 2-soners prompt (zone1: dato/tid/user i grå-blå pastell, zone2: host/path i turkis/sval grønn)
- tidsbasert emoji (Europe/Oslo)
- path forkorting med `/home/user` / `/Users/user` synlig
- Nerd Font powerline glyphs når mulig, fallback hvis ikke
- disable per bruker
Elegant, portable, and easy-to-install Bash prompt with:
## Install
✨ 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)
### Linux / WSL (global)
```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