{ "project": { "name": "Bashrc Dotfiles", "purpose": "Global and per-user bash prompt + banner with seasonal palettes and time/season emoji accents.", "repo_root": "/home/steffen/Bashrc", "default_branch": "main" }, "branches": { "main": { "notes": [ "Shared PS1 module in dotfiles/ps1/ps1.sh is source of truth for both Linux and macOS installers.", "README documents 4seasons branch, seasonal ranges, static/dynamic choice.", "README example image uses images/bash-pallete.png." ] }, "dev": { "notes": [ "Active development branch for seasonal palettes and emoji updates.", "Seasonal palettes and installer prompts implemented.", "Seasonal emoji accents with fixed lunch/dinner are enabled." ] }, "4seasons": { "notes": [ "Branch with seasonal palettes feature set and README updates.", "Includes seasonal palette image and seasonal selection documentation." ] } }, "files": { "ps1_shared": "dotfiles/ps1/ps1.sh", "linux_installer": "dotfiles/install/install-linux-global.sh", "macos_installer": "dotfiles/install/install-macos-user.sh", "global_installer_wrapper": "dotfiles/install/install-global-ps1.sh", "readme": "README.md", "palette_image": "images/bash-pallete.png" }, "install_behavior": { "linux": { "script": "dotfiles/install/install-linux-global.sh", "scope": "global (all users)", "installs": [ "/etc/profile.d/ps1.sh", "/etc/profile.d/banner.sh" ], "sources_from": "/etc/bash.bashrc", "prompts": [ "PS1 only / Banner only / Both", "Season mode: Dynamic or Static (if PS1 selected)" ], "season_config_file": "/etc/ps1-season", "banner_punchline_file": "/etc/ps1-punchline" }, "macos": { "script": "dotfiles/install/install-macos-user.sh", "scope": "per-user", "installs": [ "~/.config/ps1/ps1.sh" ], "sources_from": [ "~/.bashrc", "~/.bash_profile" ], "prompts": [ "Season mode: Dynamic or Static" ], "season_config_file": "~/.config/ps1/season" }, "global_installer_wrapper": { "script": "dotfiles/install/install-global-ps1.sh", "behavior": "Copies shared PS1 module to /etc/profile.d/ps1.sh and updates /etc/bash.bashrc." } }, "season_rules": { "timezone": "Europe/Oslo", "dynamic_ranges": { "spring": "March-May", "summer": "June-August", "autumn": "September-mid November (before Nov 15)", "winter": "mid November-February" }, "config": { "mode_env": "PS1_SEASON_MODE=dynamic|static", "season_env": "PS1_SEASON=winter|spring|summer|autumn", "config_file_keys": [ "PS1_SEASON_MODE", "PS1_SEASON" ] } }, "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 } }, "emoji_rules": { "fixed_times": { "lunch": "11:00-11:29 => ðŸĨŠ", "dinner": "16:00-16:59 => ðŸē" }, "seasonal_accents": { "spring": { "sunrise": "🌷", "coffee": "☕", "work": "ðŸŒŋ", "evening": "ðŸŒĪ", "night": "🌙" }, "summer": { "sunrise": "🌞", "coffee": "🧃", "work": "ðŸŠī", "evening": "🌇", "night": "🌙" }, "autumn": { "sunrise": "🍁", "coffee": "☕", "work": "🍂", "evening": "🌆", "night": "🌙" }, "winter": { "sunrise": "🌅", "coffee": "☕", "work": "❄ïļ", "evening": "🌆", "night": "🌙" } }, "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" } }, "prompt_structure": { "zone1": "date time user", "zone2": "host path", "line2": "status arrow + emoji", "path_shortening": "Keeps /home/user or /Users/user visible and shortens middle if deep.", "nerd_font_caps": "Always enabled unless PS1_FORCE_ASCII=1" }, "overrides": { "force_nerd_font": "PS1_FORCE_NF=1", "force_ascii": "PS1_FORCE_ASCII=1", "disable_prompt_env": "DISABLE_GLOBAL_PS1=1", "disable_prompt_file": "~/.config/ps1/disable" }, "notes": [ "On Linux, installer affects all users by writing to /etc/profile.d and sourcing from /etc/bash.bashrc.", "On macOS, installer is per-user and sources from .bashrc/.bash_profile.", "README on main references 4seasons branch for seasonal palettes and uses images/bash-pallete.png." ] }