Compare commits

...

12 Commits

30 changed files with 306 additions and 29 deletions

View File

@@ -22,7 +22,8 @@
"global_installer_wrapper": "dotfiles/install/install-global-ps1.sh",
"readme": "README.md",
"library": "libary.md",
"palette_image": "images/bash-pallete.png"
"palette_image": "images/bash-pallete.png",
"theme_images_dir": "images/themes"
},
"install_behavior": {
"linux": {
@@ -503,6 +504,7 @@
"README uses images/bash-pallete.png.",
"Git capsule prefers __git_ps1 and falls back to git symbolic-ref/short hash when git-prompt is unavailable or returns empty.",
"Hawolex git capsule enables when PS1_GIT resolves to a truthy value (1/yes/true/on).",
"Custom pack adds bold styles (radar, synthwave, noir, topo, glitch, arcticfire, acidlime)."
"Custom pack adds bold styles (radar, synthwave, noir, topo, glitch, arcticfire, acidlime).",
"Library includes emoji usage blocks per theme (sets, fixed times, time slots, rotation)."
]
}

View File

@@ -71,6 +71,34 @@ bash dotfiles/install/install-macos-user.sh
source ~/.bashrc
```
<details>
<summary><strong>Installer menu (structure)</strong></summary>
```text
Install options
├─ 1) PS1 only
├─ 2) Banner only
└─ 3) Both (PS1 + banner)
└─ PS1 mode
├─ 1) Single season (static)
│ ├─ Pick season (Winter/Spring/Summer/Autumn)
│ └─ Layout order (day-time-user / user-time / time-user / day-time)
├─ 2) Dynamic season (auto)
│ └─ Layout order (day-time-user / user-time / time-user / day-time)
├─ 3) Contest pack (static)
│ ├─ Layout order
│ └─ Style preset (Aurora/Neon/Forge/Circuit/Mono/Git/Hawolex/HawolexV2)
├─ 4) Holidays pack (static)
│ ├─ Pick holiday (Christmas/Easter/Halloween/Valentine/Thanksgiving/NewYear)
│ └─ Layout order
└─ 5) Custom pack (static)
└─ Style (Radar/Synthwave/Noir/Topo/Glitch/ArcticFire/AcidLime)
Final prompt:
└─ Enable git capsule for all themes? [y/N]
```
</details>
<details>
<summary><strong>Installer choices</strong></summary>
@@ -264,6 +292,7 @@ Meaning:
├── images/
│ ├── bash-pallete.png
│ └── contest.png
│ └── themes/
├── dotfiles/
│ ├── banner/
│ │ └── banner.sh
@@ -358,16 +387,46 @@ If you see squares or missing glyphs, your terminal is likely using a non-Nerd f
---
## 📸 Seasonal Previews
## 📸 Theme Gallery
Placeholders for the four seasonal prompts (screenshots will be added here):
Seasonal (Aurora):
- Winter: `images/season-winter.png` (placeholder)
- Spring: `images/season-spring.png` (placeholder)
- Summer: `images/season-summer.png` (placeholder)
- Autumn: `images/season-autumn.png` (placeholder)
![Winter](images/themes/season-winter.png)
![Spring](images/themes/season-spring.png)
![Summer](images/themes/season-summer.png)
![Autumn](images/themes/season-autumn.png)
Current combined palette reference:
Contest pack:
![Aurora (contest)](images/themes/aurora.png)
![Neon](images/themes/neon.png)
![Forge](images/themes/forge.png)
![Circuit](images/themes/circuit.png)
![Mono](images/themes/mono.png)
![Git](images/themes/git.png)
![Hawolex](images/themes/hawolex.png)
![HawolexV2](images/themes/hawolexv2.png)
Holidays pack:
![Christmas](images/themes/christmas.png)
![Easter](images/themes/easter.png)
![Halloween](images/themes/halloween.png)
![Valentine](images/themes/valentine.png)
![Thanksgiving](images/themes/thanksgiving.png)
![NewYear](images/themes/newyear.png)
Custom pack:
![Radar](images/themes/radar.png)
![Synthwave](images/themes/synthwave.png)
![Noir](images/themes/noir.png)
![Topo](images/themes/topo.png)
![Glitch](images/themes/glitch.png)
![ArcticFire](images/themes/arcticfire.png)
![AcidLime](images/themes/acidlime.png)
Palette reference:
<p align="center">
<img src="images/bash-pallete.png" width="900">

View File

@@ -33,6 +33,20 @@
"emoji_padding": 2,
"note": "Two spaces after the emoji before the cursor"
},
"emoji_rules": {
"fixed_times": [
"11:00-11:29 => 🥪",
"16:00-16:59 => 🍲"
],
"time_slots": {
"sunrise": "05:00-08:59",
"coffee": "09:00-10:59",
"work": "11:30-15:59",
"evening": "17:00-22:59",
"night": "23:00-04:59"
},
"rotation": "Daily rotation by day-of-year with season offsets."
},
"holiday_pack": {
"layout_options": [
"day-time-user",

View File

@@ -211,6 +211,7 @@ _ps1_path_topo() {
printf "%s" "$out"
}
# ---- Load Git prompt helper (best effort) ----
__try_source_git_prompt() {
local candidates=(

BIN
images/themes/acidlime.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

BIN
images/themes/aurora.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
images/themes/christmas.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

BIN
images/themes/circuit.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

BIN
images/themes/easter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
images/themes/forge.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
images/themes/git.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

BIN
images/themes/glitch.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

BIN
images/themes/halloween.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
images/themes/hawolex.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
images/themes/hawolexv2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

BIN
images/themes/mono.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

BIN
images/themes/neon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

BIN
images/themes/newyear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

BIN
images/themes/noir.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

BIN
images/themes/radar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.1 KiB

BIN
images/themes/synthwave.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

BIN
images/themes/topo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
images/themes/valentine.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

201
libary.md
View File

@@ -10,6 +10,14 @@ Design intent: calm, readable, long-session comfort with a subtle five-step grad
Layout: two-line powerline, host+path on line 1, status + emoji on line 2.
Winter:
![Winter](./images/themes/season-winter.png)
Emoji:
- Set: sunrise 🏔️ 🌨️ ❄️ 🌌; work 🎿 ⛷️ 🏂 🧊; coffee ☕; evening 🌆; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=59 Z2_BG=61 Z3_BG=63 Z4_BG=38 Z5_BG=37
Z1_FG=255 Z2_FG=255
@@ -18,6 +26,14 @@ FRAME=60
```
Spring:
![Spring](./images/themes/season-spring.png)
Emoji:
- Set: sunrise 🌷 🌱 🐣 🌤; work 🌿 🪴 🐝 🌼; coffee ☕; evening 🌤; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=68 Z2_BG=70 Z3_BG=72 Z4_BG=121 Z5_BG=120
Z1_FG=255 Z2_FG=22
@@ -26,6 +42,14 @@ FRAME=65
```
Summer:
![Summer](./images/themes/season-summer.png)
Emoji:
- Set: sunrise 🌞 🏖️ 🌅 🌤; work 🏄 🏖️ 🚤 🌴; coffee 🧃; evening 🌇; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=141 Z2_BG=142 Z3_BG=143 Z4_BG=214 Z5_BG=208
Z1_FG=255 Z2_FG=0
@@ -34,6 +58,14 @@ FRAME=130
```
Autumn:
![Autumn](./images/themes/season-autumn.png)
Emoji:
- Set: sunrise 🍁 🍂 🌫️ 🌦️; work 🍂 🍄 🎃 🪵; coffee ☕; evening 🌆; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=93 Z2_BG=95 Z3_BG=97 Z4_BG=166 Z5_BG=136
Z1_FG=255 Z2_FG=255
@@ -48,6 +80,14 @@ Design intent: high-contrast silhouettes, fast scanning, stage-ready presence.
Layout: configurable order for the left segment, always ends with "@host - /path".
Aurora (contest palette):
![Aurora (contest)](./images/themes/aurora.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=24 Z2_BG=31
Z1_FG=255 Z2_FG=255
@@ -56,6 +96,14 @@ FRAME=23
```
Neon:
![Neon](./images/themes/neon.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=201 Z1_FG=255
Z2_BG=45 Z2_FG=16
@@ -64,6 +112,14 @@ FRAME=199
```
Forge:
![Forge](./images/themes/forge.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=94 Z1_FG=230
Z2_BG=166 Z2_FG=231
@@ -72,6 +128,14 @@ FRAME=130
```
Circuit:
![Circuit](./images/themes/circuit.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
FG_MAIN=46
FG_DIM=22
@@ -79,12 +143,28 @@ PATH_FG=120
```
Mono:
![Mono](./images/themes/mono.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
FG_MAIN=250
FG_DIM=240
```
Git:
![Git](./images/themes/git.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=61 Z1_FG=255
Z2_BG=37 Z2_FG=255
@@ -93,6 +173,14 @@ FRAME=60
```
Hawolex:
![Hawolex](./images/themes/hawolex.png)
Emoji:
- Set: sunrise 💻 🚗 🔊 🎮; work 🎧 🕹️ 📟 🧩; coffee ☕; evening 🌆; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=54 Z1_FG=255
Z2_BG=31 Z2_FG=255
@@ -101,6 +189,14 @@ FRAME=24
```
HawolexV2 (gradient):
![HawolexV2](./images/themes/hawolexv2.png)
Emoji:
- Set: sunrise ⚡️ 🛰️ 🧬 🧠; work 🛠️ 💾 🧪 🧩; coffee ☕; evening 🎛️; night 🕶️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=54 Z2_BG=55 Z3_BG=56 Z4_BG=31 Z5_BG=30
Z_FG=255
@@ -108,12 +204,21 @@ PATH_FG=230
FRAME=24
```
## Holidays Pack (style_pack=holiday)
Design intent: themed color + emoji without sacrificing readability.
Layout uses contest order and ends with "@host - /path".
Christmas:
![Christmas](./images/themes/christmas.png)
Emoji:
- Set: sunrise 🎄 🎅 ❄️ ⛄; work 🎁 🧤 🧣 🦌; coffee ☕; evening 🌟; night 🕯️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=52 Z2_BG=28
Z1_FG=255 Z2_FG=255
@@ -122,6 +227,14 @@ FRAME=88
```
Easter:
![Easter](./images/themes/easter.png)
Emoji:
- Set: sunrise 🐣 🥚 🌷 🌤; work 🐰 🌼 🧺 🍫; coffee ☕; evening 🌅; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=186 Z2_BG=150
Z1_FG=16 Z2_FG=16
@@ -130,6 +243,14 @@ FRAME=143
```
Halloween:
![Halloween](./images/themes/halloween.png)
Emoji:
- Set: sunrise 🎃 🦇 🌕 🕸️; work 👻 💀 🕯️ 🧪; coffee ☕; evening 🌆; night 🕷️
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=53 Z2_BG=166
Z1_FG=255 Z2_FG=16
@@ -138,6 +259,14 @@ FRAME=89
```
Valentine:
![Valentine](./images/themes/valentine.png)
Emoji:
- Set: sunrise 💖 🌹 💘 💕; work 💌 🍫 🕊️ 💗; coffee ☕; evening 🌆; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=198 Z2_BG=205
Z1_FG=255 Z2_FG=255
@@ -146,6 +275,14 @@ FRAME=162
```
Thanksgiving:
![Thanksgiving](./images/themes/thanksgiving.png)
Emoji:
- Set: sunrise 🦃 🍁 🥧 🍂; work 🍽️ 🌾 🧺 🥖; coffee ☕; evening 🌆; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=94 Z2_BG=136
Z1_FG=230 Z2_FG=231
@@ -154,6 +291,14 @@ FRAME=130
```
NewYear:
![NewYear](./images/themes/newyear.png)
Emoji:
- Set: sunrise 🎆 🥂 🎇 ✨; work 🗓️ ⏳ 🚀 ✨; coffee ☕; evening 🌆; night 🌙
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=17 Z2_BG=20
Z1_FG=255 Z2_FG=255
@@ -167,6 +312,14 @@ Design intent: experimental, high-signal styles with bold contrast and distinct
Custom styles include a context badge when relevant (ssh, ctr, git).
Radar:
![Radar](./images/themes/radar.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
FRAME=22
FG_MAIN=46
@@ -175,6 +328,14 @@ PATH_FG=120
```
Synthwave:
![Synthwave](./images/themes/synthwave.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=198 Z1_FG=255
Z2_BG=45 Z2_FG=16
@@ -183,6 +344,14 @@ FRAME=201
```
Noir:
![Noir](./images/themes/noir.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
FG_MAIN=250
FG_DIM=242
@@ -191,12 +360,28 @@ FRAME=236
```
Topo:
![Topo](./images/themes/topo.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
PATH_FG_LIST=109,110,111,110
FRAME=24
```
Glitch:
![Glitch](./images/themes/glitch.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
FG_MAIN=118
FG_DIM=60
@@ -204,6 +389,14 @@ FRAME=129
```
ArcticFire:
![ArcticFire](./images/themes/arcticfire.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
Z1_BG=24 Z1_FG=255
Z2_BG=31 Z2_FG=255
@@ -212,6 +405,14 @@ FRAME=25
```
AcidLime:
![AcidLime](./images/themes/acidlime.png)
Emoji:
- Set: seasonal (Spring/Summer/Autumn/Winter sets, same as Seasonal section)
- Fixed times: 🥪 11:0011:29, 🍲 16:0016:59
- Interval: time slots (Sunrise 05:0008:59, Coffee 09:0010:59, Work 11:3015:59, Evening 17:0022:59, Night 23:0004:59), daily rotation
```
FG_MAIN=46
FG_DIM=40