From a2839d0b5f31f533b56be2f928442999905855a7 Mon Sep 17 00:00:00 2001 From: steffen Date: Sat, 24 Jan 2026 04:53:55 +0000 Subject: [PATCH] README --- README.md | 143 ++++++++++++++++++++++++++++++++++++++++++++++++++---- image.png | Bin 0 -> 5990 bytes 2 files changed, 134 insertions(+), 9 deletions(-) create mode 100644 image.png diff --git a/README.md b/README.md index 88bba32..6544bc6 100644 --- a/README.md +++ b/README.md @@ -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 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) -### 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 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: + +![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 \ No newline at end of file diff --git a/image.png b/image.png new file mode 100644 index 0000000000000000000000000000000000000000..1c5e9ac80828ec1000dcdf50b6fa69acd3422c7c GIT binary patch literal 5990 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 literal 0 HcmV?d00001