From 91e0725b23b234322f12e7da26e0e8e24ee62365 Mon Sep 17 00:00:00 2001 From: steffen Date: Sat, 24 Jan 2026 10:10:30 +0000 Subject: [PATCH] Add PS1 style data to context - Expand .context.json with style presets and emoji rotation - Add contest-styles.json for render tooling --- .context.json | 113 +++++++++++++++++++++++++++++++++++++++----- contest-styles.json | 102 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 204 insertions(+), 11 deletions(-) create mode 100644 contest-styles.json diff --git a/.context.json b/.context.json index 47c73aa..4dd3e2e 100644 --- a/.context.json +++ b/.context.json @@ -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": "🌙" } diff --git a/contest-styles.json b/contest-styles.json new file mode 100644 index 0000000..7829306 --- /dev/null +++ b/contest-styles.json @@ -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." + ] +}