# Bashrc Dotfiles β€” Global & Portable Bash Prompt Production-ready on `main`. 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 --- ## πŸš€ Install ### 🐧 Linux / WSL (global, all users) 1) Clone the repo: ```bash git clone ``` 2) Enter the folder: ```bash cd Bashrc ``` 3) Run the global installer (auto-installs deps + prompts for punchline): ```bash sudo bash dotfiles/install/install-linux-global.sh ``` 4) Open a new shell to see the prompt and banner. ### 🍏 macOS (per-user) 1) Clone the repo: ```bash git clone ``` 2) Enter the folder: ```bash cd Bashrc ``` 3) Run the user installer: ```bash bash dotfiles/install/install-macos-user.sh ``` 4) Reload your shell (or open a new terminal): ```bash source ~/.bashrc ``` ### πŸ–ΌοΈ Nerd Fonts (optional but recommended) ```bash bash dotfiles/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 - Manual download: https://www.nerdfonts.com/font-downloads ---
Installer choices Linux/WSL: - PS1 only / Banner only / Both - PS1 modes: Single season, Dynamic season, Contest pack, Holidays pack macOS: - PS1 modes: Single season, Dynamic season, Contest pack, Holidays pack
---
What gets installed ### Linux / WSL - Installs the prompt module to `/etc/profile.d/ps1.sh` - Installs the banner module to `/etc/profile.d/banner.sh` - Sources both from `/etc/bash.bashrc` - Installs `landscape-common`, `figlet`, and `lolcat` if missing - Prompts for the global punchline used by the banner - You can change the selection or remove PS1/banner by running the installer again ### macOS - Copies `ps1/ps1.sh` to `~/.config/ps1/ps1.sh` - Adds a source block in `~/.bashrc` and `~/.bash_profile`
---
PS1 module (when it runs) - Linux/WSL: sourced from `/etc/bash.bashrc` (global) - macOS: sourced from `~/.bashrc` and `~/.bash_profile` (per-user) You normally do not need to run `ps1.sh` manually.
---
Banner (hostname + punchline + sysinfo) On Linux/WSL, a banner is also shown on login: - `figlet $(hostname) -c | lolcat` - `figlet -f digital "" -c | lolcat` - `landscape-sysinfo | lolcat` ### Punchline (global) The banner reads the punchline from: - `/etc/ps1-punchline` The install script prompts for a punchline and stores it in the file. You can also set it manually: ```bash echo "Your punchline" | sudo tee /etc/ps1-punchline >/dev/null ```
--- ## 🧠 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 --- ## πŸŽ›οΈ Themes & Style Packs ### 🏁 Contest Pack The contest pack is a bold, DEFCON-ready set of five styles (Aurora, Neon, Forge, Circuit, Mono) with optional layout order. It always starts on a new line and ends with `@host - /path`. Note: This repo was built with AI assistance, and the contest pack itself is fully AI-authored. ---
Git Theme (details) The Git theme adds a repo-aware capsule on line 2 that only appears inside a Git repo. The branch name is wrapped as `⟦branch⟧`, and status emojis reflect state: - Clean: ✨ - Dirty: πŸ”¨ - Staged: πŸ“Œ - Untracked: 🧷 - Stashed: πŸ“¦ It uses the same two-block layout as Aurora, but focuses on signal and minimal noise for fast scanning.
---
Holidays Pack (themes) Holidays pack uses themed palettes + emojis and the contest layout order: - Christmas, Easter, Halloween, Valentine, Thanksgiving, New Year
---
Emoji palette Fixed times (all seasons): - Lunch 11:00–11:29 = πŸ₯ͺ - Dinner 16:00–16:59 = 🍲 Seasonal sets (sunrise / work): - Spring: 🌷 🌱 🐣 🌀 / 🌿 πŸͺ΄ 🐝 🌼 - Summer: 🌞 πŸ–οΈ πŸŒ… 🌀 / πŸ„ πŸ–οΈ 🚀 🌴 - Autumn: 🍁 πŸ‚ 🌫️ 🌦️ / πŸ‚ πŸ„ πŸŽƒ πŸͺ΅ - Winter: πŸ”οΈ 🌨️ ❄️ 🌌 / 🎿 ⛷️ πŸ‚ 🧊
--- ## πŸ—‚οΈ Repo Structure ```text . β”œβ”€β”€ .context.json β”œβ”€β”€ contest-styles.json β”œβ”€β”€ images/ β”‚ β”œβ”€β”€ bash-pallete.png β”‚ └── contest.png β”œβ”€β”€ dotfiles/ β”‚ β”œβ”€β”€ banner/ β”‚ β”‚ └── banner.sh β”‚ β”œβ”€β”€ ps1/ β”‚ β”‚ └── ps1.sh β”‚ └── install/ β”‚ β”œβ”€β”€ install-global-ps1.sh β”‚ β”œβ”€β”€ install-linux-global.sh β”‚ β”œβ”€β”€ install-macos-user.sh β”‚ └── install-nerdfont.sh └── README.md ```
Overrides (Optional) Sometimes autodetection doesn’t work (e.g., on macOS without fontconfig): Force Nerd Font glyphs: ```bash export PS1_FORCE_NF=1 ``` Force fallback (no powerline glyphs): ```bash 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: ```bash export DISABLE_GLOBAL_PS1=1 ``` Permanently: ```bash mkdir -p ~/.config/ps1 touch ~/.config/ps1/disable ``` To re-enable: ```bash rm -f ~/.config/ps1/disable ```
---
Testing After install, open a new shell and run: ```bash 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:

With exit-status colored arrow and emoji reflecting time of day. --- ## πŸ”₯ Why this is real high-end PS1 design - Semantic color use (identity vs location) - Few colors, but with meaning - Path is visible, but never dominant - Emoji is an accent, not a gimmick - Prompt line is calm β†’ the command gets focus ### 🎨 Color palette (notes) | Role | BG | Description | | --- | --- | --- | | Zone 1 BG | 61 | gray-blue pastel | | Zone 1 FG | 255 | pure white | | Zone 2 BG | 37 | turquoise / cool green | | Path FG | 194 (FG) | light green, muted | | Frame | 60 | darker blue | --- ## πŸ› οΈ 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 Steffen Skui