# Install seasonal zsh prompts with git status These themes work with plain zsh or with oh-my-zsh. The only dependency is git (for the branch name and clean/dirty emoji). ## With oh-my-zsh >- Clone me >- Run ```console cd seasonal-zshthemes sh add_themes.sh ``` This copies `lib.zsh` and all the theme files to `~/.oh-my-zsh/themes/`. ## With plain zsh No copying needed, just source a theme from your `~/.zshrc`: ```console source ~/seasonal-zshthemes/summer.zsh-theme ``` ## Automatically set the theme for the season you are experiencing. The script picks the matching holiday theme on the holiday, otherwise the theme for the current season. ### With oh-my-zsh Set your zsh theme to the get theme for season shell script. ```console $ vim ~/.zshrc ``` ``` ZSH_THEME=$(sh ~/seasonal-zshthemes/get_theme_season.sh) ``` ### With plain zsh ```console $ vim ~/.zshrc ``` ``` source ~/seasonal-zshthemes/$(sh ~/seasonal-zshthemes/get_theme_season.sh).zsh-theme ``` ## Themes All themes share the same layout: a status emoji (green on success, red on error), the current directory, and git status with a clean/dirty emoji. There is no right-side prompt, so copying from the terminal stays clean. ## Seasons | Theme | Success | Error | Clean | Dirty | | ------ | ------- | ----- | ----- | ----- | | winter | โ„๏ธ | ๐Ÿฅถ | โ›„ | ๐ŸŒจ๏ธ | | spring | ๐ŸŒธ | ๐ŸŒง๏ธ | ๐Ÿฐ | ๐ŸŒฑ | | summer | โ˜€๏ธ | ๐Ÿฆ‘ | โœจ | ๐Ÿฌ | | fall | ๐Ÿ | ๐ŸŽƒ | ๐Ÿฆ‰ | ๐Ÿ‚ | ## Holidays | Theme | Date | Success | Error | Clean | Dirty | | ----------- | ------------------- | ------- | ----- | ----- | ----- | | newyear | Jan 1 & Dec 31 | ๐ŸŽ† | ๐ŸŽ‡ | ๐ŸŽ‰ | ๐Ÿฅ‚ | | mlk | 3rd Mon of Jan | โœŠ | ๐Ÿ•ฏ๏ธ | ๐Ÿ•Š๏ธ | ๐Ÿ–ค | | valentine | Feb 14 | ๐Ÿ’˜ | ๐Ÿ’” | ๐ŸŒน | ๐Ÿ’Œ | | presidents | 3rd Mon of Feb | ๐ŸŽฉ | ๐Ÿฆ… | โš–๏ธ | ๐Ÿ›๏ธ | | stpatrick | Mar 17 | โ˜˜๏ธ | ๐Ÿ€ | ๐Ÿ‡ฎ๐Ÿ‡ช | ๐Ÿบ | | easter | Easter Sunday | ๐Ÿฃ | ๐Ÿฅš | ๐Ÿฐ | ๐Ÿงบ | | memorial | Last Mon of May | ๐Ÿ•Š๏ธ | ๐ŸŽ–๏ธ | ๐Ÿ•Š๏ธ | ๐Ÿฆ… | | juneteenth | Jun 19 | โœŠ๐Ÿพ | ๐Ÿ”ฅ | ๐Ÿ•Š๏ธ | ๐Ÿ–ค | | independence| Jul 4 | ๐Ÿฆ… | ๐ŸŽ† | ๐ŸŽ‡ | ๐Ÿงจ | | labor | 1st Mon of Sep | ๐Ÿ› ๏ธ | โš™๏ธ | ๐Ÿ—๏ธ | ๐Ÿ”ง | | columbus | 2nd Mon of Oct | ๐Ÿงญ | โ›ต | ๐ŸŒŽ | ๐Ÿ—บ๏ธ | | halloween | Oct 31 | ๐Ÿ’€ | ๐Ÿ‘ป | ๐ŸŒ• | ๐Ÿ•ธ๏ธ | | veterans | Nov 11 | ๐ŸŽ–๏ธ | ๐Ÿซก | ๐Ÿฆ… | ๐ŸŽ—๏ธ | | thanksgiving| 4th Thu of Nov | ๐Ÿฆƒ | ๐Ÿ— | ๐Ÿ | ๐Ÿฅง | | holiday | Dec 24 & 25 | ๐ŸŽ… | ๐ŸŽ | ๐ŸŽ„ | ๐Ÿ›ท | To set any theme manually, e.g.: ```console $ cp summer.zsh-theme ~/.oh-my-zsh/themes/ ``` > Add `ZSH_THEME="summer"` to your zshrc. ## Testing the date script ```console ZSHTHEME_DATE=2024-07-04 sh get_theme_season.sh ``` *More:* For more themes and plugins check out https://github.com/unixorn/awesome-zsh-plugins.