Add PS1 style data to context

- Expand .context.json with style presets and emoji rotation

- Add contest-styles.json for render tooling
This commit is contained in:
2026-01-24 10:10:30 +00:00
parent ade4a74f18
commit 91e0725b23
2 changed files with 204 additions and 11 deletions

View File

@@ -46,9 +46,11 @@
"sources_from": "/etc/bash.bashrc",
"prompts": [
"PS1 only / Banner only / Both",
"Season mode: Dynamic or Static (if PS1 selected)"
"Season mode: Dynamic or Static (if PS1 selected)",
"Style preset selection (if PS1 selected)"
],
"season_config_file": "/etc/ps1-season",
"style_config_file": "/etc/ps1-style",
"banner_punchline_file": "/etc/ps1-punchline"
},
"macos": {
@@ -62,9 +64,11 @@
"~/.bash_profile"
],
"prompts": [
"Season mode: Dynamic or Static"
"Season mode: Dynamic or Static",
"Style preset selection"
],
"season_config_file": "~/.config/ps1/season"
"season_config_file": "~/.config/ps1/season",
"style_config_file": "~/.config/ps1/style"
},
"global_installer_wrapper": {
"script": "dotfiles/install/install-global-ps1.sh",
@@ -122,37 +126,124 @@
"FRAME": 95
}
},
"styles": {
"default": "aurora",
"available": [
{
"id": "aurora",
"name": "Aurora",
"description": "Powerline blocks with seasonal palette, two-line calm layout.",
"layout": "two-line, segmented blocks",
"preview": "[date time user] > [@host /path]"
},
{
"id": "neon",
"name": "Neon",
"description": "Magenta/cyan cyber blocks, high contrast, two-line.",
"layout": "two-line, neon blocks",
"preview": "[user time] > [@host /path]"
},
{
"id": "forge",
"name": "Forge",
"description": "Warm copper blocks, heavy frame, assertive.",
"layout": "two-line, bold blocks",
"preview": "[date time user] > [@host /path]"
},
{
"id": "circuit",
"name": "Circuit",
"description": "Green scanline rail, minimal chrome, compact.",
"layout": "two-line, rail style",
"preview": "[user time] - @host /path"
},
{
"id": "mono",
"name": "Mono",
"description": "Clean monochrome, fast read, low noise.",
"layout": "two-line, minimal",
"preview": "[date time user] @host /path"
}
],
"config": {
"env": "PS1_STYLE=aurora|neon|forge|circuit|mono",
"config_file_keys": [
"PS1_STYLE"
]
}
},
"emoji_rules": {
"fixed_times": {
"lunch": "11:00-11:29 => 🥪",
"dinner": "16:00-16:59 => 🍲"
},
"rotation": "Daily rotation by day-of-year with season offsets.",
"seasonal_accents": {
"spring": {
"sunrise": "🌷",
"sunrise": [
"🌷",
"🌱",
"🐣",
"🌤"
],
"coffee": "☕",
"work": "🌿",
"work": [
"🌿",
"🪴",
"🐝",
"🌼"
],
"evening": "🌤",
"night": "🌙"
},
"summer": {
"sunrise": "🌞",
"sunrise": [
"🌞",
"🏖️",
"🌅",
"🌤"
],
"coffee": "🧃",
"work": "🪴",
"work": [
"🏄",
"🏖️",
"🚤",
"🌴"
],
"evening": "🌇",
"night": "🌙"
},
"autumn": {
"sunrise": "🍁",
"sunrise": [
"🍁",
"🍂",
"🌫️",
"🌦️"
],
"coffee": "☕",
"work": "🍂",
"work": [
"🍂",
"🍄",
"🎃",
"🪵"
],
"evening": "🌆",
"night": "🌙"
},
"winter": {
"sunrise": "🌅",
"sunrise": [
"🏔️",
"🌨️",
"❄️",
"🌌"
],
"coffee": "☕",
"work": "❄️",
"work": [
"🎿",
"⛷️",
"🏂",
"🧊"
],
"evening": "🌆",
"night": "🌙"
}

102
contest-styles.json Normal file
View File

@@ -0,0 +1,102 @@
{
"project": "Bashrc Dotfiles",
"branch": "dev",
"purpose": "DEFCON contest render pack for PS1 styles",
"styles": [
{
"id": "aurora",
"name": "Aurora",
"tagline": "Seasonal powerline glow",
"description": "Two-line powerline blocks with seasonal palette and calm hierarchy.",
"layout": {
"line1": "date time user | @host path",
"line2": "status arrow + emoji"
},
"colors": {
"palette_source": "seasonal",
"seasonal": true
},
"preview": "[date time user] > [@host /path]"
},
{
"id": "neon",
"name": "Neon",
"tagline": "Cyber-magenta strike",
"description": "Magenta + cyan blocks, high contrast, aggressive read.",
"layout": {
"line1": "user time | @host path",
"line2": "status arrow + emoji"
},
"colors": {
"zone1_bg": 201,
"zone1_fg": 255,
"zone2_bg": 45,
"zone2_fg": 16,
"path_fg": 16,
"frame": 199
},
"preview": "[user time] > [@host /path]"
},
{
"id": "forge",
"name": "Forge",
"tagline": "Copper heatline",
"description": "Warm copper blocks with heavy frame and bold emphasis.",
"layout": {
"line1": "date time user | @host path",
"line2": "status arrow + emoji"
},
"colors": {
"zone1_bg": 94,
"zone1_fg": 230,
"zone2_bg": 166,
"zone2_fg": 231,
"path_fg": 224,
"frame": 130
},
"preview": "[date time user] > [@host /path]"
},
{
"id": "circuit",
"name": "Circuit",
"tagline": "Green scanline rail",
"description": "Minimal rails, green scanline glow, compact density.",
"layout": {
"line1": "user time - @host path",
"line2": "status arrow + emoji"
},
"colors": {
"fg_primary": 46,
"fg_dim": 22,
"path_fg": 120
},
"preview": "[user time] - @host /path"
},
{
"id": "mono",
"name": "Mono",
"tagline": "No-frills sniper view",
"description": "Monochrome clarity with minimal chrome.",
"layout": {
"line1": "date time user @host path",
"line2": "status arrow + emoji"
},
"colors": {
"fg_primary": 250,
"fg_dim": 240
},
"preview": "[date time user] @host /path"
}
],
"seasonal_palettes": {
"winter": { "Z1_BG": 61, "Z1_FG": 255, "Z2_BG": 37, "Z2_FG": 255, "PATH_FG": 194, "FRAME": 60 },
"spring": { "Z1_BG": 71, "Z1_FG": 255, "Z2_BG": 120, "Z2_FG": 22, "PATH_FG": 22, "FRAME": 65 },
"summer": { "Z1_BG": 142, "Z1_FG": 255, "Z2_BG": 214, "Z2_FG": 0, "PATH_FG": 232, "FRAME": 130 },
"autumn": { "Z1_BG": 95, "Z1_FG": 255, "Z2_BG": 173, "Z2_FG": 255, "PATH_FG": 223, "FRAME": 95 }
},
"notes": [
"Palette values are 256-color codes.",
"Aurora uses seasonal palettes; other styles use fixed palettes.",
"Previews are textual layout hints for rendering."
]
}