{"id":33014877,"url":"https://github.com/danieltodor/blaze","last_synced_at":"2025-11-16T05:00:46.632Z","repository":{"id":214647444,"uuid":"569383631","full_name":"danieltodor/blaze","owner":"danieltodor","description":"A customizable and informative prompt for bash, zsh, fish, on linux and macOS.","archived":false,"fork":false,"pushed_at":"2025-08-03T14:38:24.000Z","size":1461,"stargazers_count":33,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-03T16:26:11.398Z","etag":null,"topics":["bash","bash-prompt","bash-theme","fish","fish-prompt","fish-theme","linux","prompt","shell-prompt","terminal","zsh","zsh-prompt","zsh-theme"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danieltodor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-11-22T17:47:22.000Z","updated_at":"2025-08-03T14:38:27.000Z","dependencies_parsed_at":"2024-08-14T13:31:04.604Z","dependency_job_id":"945c0273-acc8-4060-ae41-ec30f8356440","html_url":"https://github.com/danieltodor/blaze","commit_stats":null,"previous_names":["danieltodor/blaze"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/danieltodor/blaze","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieltodor%2Fblaze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieltodor%2Fblaze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieltodor%2Fblaze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieltodor%2Fblaze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danieltodor","download_url":"https://codeload.github.com/danieltodor/blaze/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danieltodor%2Fblaze/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":284662610,"owners_count":27043071,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-11-16T02:00:05.974Z","response_time":65,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","bash-prompt","bash-theme","fish","fish-prompt","fish-theme","linux","prompt","shell-prompt","terminal","zsh","zsh-prompt","zsh-theme"],"created_at":"2025-11-13T18:00:20.537Z","updated_at":"2025-11-16T05:00:46.611Z","avatar_url":"https://github.com/danieltodor.png","language":"C++","funding_links":[],"categories":["Themes","\u003ca name=\"prompt\"\u003e\u003c/a\u003ePrompts"],"sub_categories":["ZSH on Windows"],"readme":"# Blaze\n**A customizable and informative prompt for bash, fish, zsh, on linux and macOS.**\n\n**Features: easily configurable, transient prompt, git integration, command execution time,\nexit status, user defined modules, and more.**\n\n![](media/demo.png)\n\n[Installation](#installation)\\\n[Configuration](#configuration)\\\n[Builtin modules](#builtin-modules)\\\n[Creating your own modules](#creating-your-own-modules)\\\n[Update](#update)\\\n[Removal](#removal)\n\n## Installation\n1. Download and install blaze\\\n    Requirements: `git`, `make`, `g++`\n    ``` sh\n    git clone https://github.com/danieltodor/blaze.git \u0026\u0026\n    cd blaze \u0026\u0026\n    make install release=y\n    ```\n\n2. Setup your shell\\\n    Make sure `~/.local/bin` is added to PATH.\n    - Bash\n        ``` sh\n        echo 'eval \"$(blaze bash --init)\"' \u003e\u003e ~/.bashrc\n        ```\n    - Fish\\\n        Depending on your config, you should move the added line where only interactive shells will use it.\n        ``` sh\n        echo 'blaze fish --init | source' \u003e\u003e ~/.config/fish/config.fish\n        ```\n    - Zsh\n        ``` sh\n        echo 'eval \"$(blaze zsh --init)\"' \u003e\u003e ~/.zshrc\n        ```\n\n3. Configure\\\nOpen a new shell instance, and select a configuration with the `./use_config \u003cname\u003e` command.\\\nFor additional configuration options, check out the [configuration](#configuration) section.\\\nIt is recommended to use a [nerd font](https://www.nerdfonts.com) in your terminal emulator,\nso that the symbols are displayed correctly.\\\nNote that some of the configs are suitable only for shells with right prompt.\n\n## Configuration\nConfiguration files are read from these locations in order:\n1. `BLAZE_CONFIG` env variable\n2. `~/.config/blaze/config.toml`\n\n``` toml\n# For color values you can use named values like \"black\" \"red\" \"green\" \"yellow\" \"blue\" \"magenta\" \"cyan\" \"white\".\n# If your terminal emulator supports the aixterm specification, you can also use these colors with the \"bright_\" prefix.\n# You can use color ids from \"0\" to \"255\". https://www.ditig.com/256-colors-cheat-sheet\n# If your terminal emulator has truecolor support, you can also use RGB and hexadecimal colors like \"145, 255, 0\" or \"#3dff59\".\n# Special values:\n#   - \"default\" The background color of the (xterm compatible) terminal emulator.\n\n[global]\n# This will be added before and after the string in each module\npadding = \"\"\n\n[prompt]\n# Prompt string\nstring = \" ❯ \"\n# Foreground color to use\nforeground = \"\"\n# Foreground color to use when the last command was exited with non zero code. Use only if different from foreground\nerror_foreground = \"\"\n# Separate prompts with additional new line\nnew_line = false\n# Create a separator line between prompts from this character\nseparator = \"\"\n# Modules are displayed only for the last prompt\ntransient = false\n# Start prompt on the bottom of the terminal window\nbottom = false\n\n[connector]\n# This character will be used as spacing between the left and right side modules\ncharacter = \" \"\n# Foreground color to use\nforeground = \"\"\n# Background color to use\nbackground = \"\"\n# Text styling to use\ndim = false\n\n[[module]]\n# Name of a builtin module\nname = \"\"\n# Execute a user defined module\nexecute = \"\"\n# Optional content for certain modules\ncontent = \"\"\n# Which level the module should be displayed on (required only for multilevel prompt)\nlevel = 1\n# The position of the module (if omitted, modules will be displayed as they appear in config)\nposition = 1\n# Display it on left/right side. Or display it as right_prompt if the shell supports it\nalign = \"left\"\n# Same as global one, but takes precedence over it\npadding = \"\"\n# Displayed inside the module, before the content (foreground used as color)\ninner_prefix = \"\"\n# Displayed inside the module, after the content (foreground used as color)\ninner_suffix = \"\"\n# Displayed as the beginning of the module (background used as color)\nouter_prefix = \"\"\n# Displayed as the end of the module (background used as color)\nouter_suffix = \"\"\n# Foreground color to use\nforeground = \"\"\n# Background color to use\nbackground = \"\"\n# Text styling to use\nbold = false\ndim = false\nitalic = false\nunderline = false\n\n[directory]\n# Maximum number of parent folders to display. Use 0 to disable truncation\nlimit = 10\n# Show folders from the root of the repository\nfrom_repository = true\n\n[duration]\n# Display module if execution time exceeds threshold\nthreshold = 2.0\n# Digits displayed after seconds\nprecision = 1\n# Display franctional part if less than this\nfractional_until = 10.0\n\n[status]\n# Show exit status when it is 0 (success)\nshow_zero = false\n\n[git_branch]\n# Show branch name even when the HEAD is in a detached state\nshow_when_detached = false\n# Ignore branches that matches these regex patterns, e.g.: \"^master\"\nignore = []\n\n[git_commit]\n# Show commit hash even when the HEAD points to a branch\nshow_when_attached = false\n# Commit hash length (might be longer, depending on uniqueness). Use 0 to disable trimming\nlength = 7\n\n[git_status]\n# Show the number of changes\ncount = true\n# Spacing between the elements\nspacing = \" \"\n# Displayed when the repository is clean\nclean = \"✓\"\n# Displayed when the current branch is ahead of the remote branch\nahead = \"↑\"\n# Displayed when the current branch is behind the remote branch\nbehind = \"↓\"\n# Displayed when there are stashed files\nstashed = \"$\"\n# Displayed when there are untracked files\nuntracked = \"?\"\n# Displayed when there are conflicted files\nconflicted = \"=\"\n# Displayed when there are modified files\nmodified = \"!\"\n# Displayed when there are staged files\nstaged = \"+\"\n# Displayed when there are renamed files\nrenamed = \"»\"\n# Displayed when there are deleted files\ndeleted = \"✘\"\n\n[date]\n# Date format to use\nformat = \"%x\"\n\n[time]\n# Time format to use\nformat = \"%X\"\n```\n\n## Builtin modules\n| Name | Description |\n| - | - |\n| fixed | Can be used to display fixed text |\n| separator | Can be used for additional separation between modules |\n| directory | Current working directory |\n| duration | Execution time of the last command (wall time) |\n| status | Exit status of the last command |\n| git_branch | Active branch in the repository |\n| git_commit | Commit hash |\n| git_status | Symbols indicating the current state of the repository |\n| date | Current date [(format options)](https://en.cppreference.com/w/cpp/chrono/c/strftime) |\n| time | Current time [(format options)](https://en.cppreference.com/w/cpp/chrono/c/strftime) |\n| user | Current user |\n| host | Hostname |\n| shell | Currently active shell |\n\n## Creating your own modules\nYou can use the programming language of your choice to create a custom module.\n1. Create a script/binary that writes something to stdout.\n``` py\n# Check the PWD and/or the file/directory contents, or whatever you need.\n# At the end, write something to stdout.\n# If stdout is empty at the end, the module and its prefix/suffix content won't be displayed.\n# This way you can create modules that are only used in certain directories.\nprint('something')\n```\n2. Create a new module entry in your config file, and tell blaze how and where it can be executed.\n``` toml\n[[module]]\nexecute = \"python path/to/file.py\"\n# Additional styling like background, foreground, etc\n```\n\n## Update\n`cd` into the downloaded blaze directory and run this one-liner to update it.\n``` sh\ngit pull \u0026\u0026 make clean \u0026\u0026 make install release=y\n```\nIt is advised to also update the config either via the `./use_config \u003cname\u003e` command, or manually,\nas sometimes there are breaking changes.\n\n## Removal\n1. Delete the setup line from your shell's rc file.\n2. `cd` into the downloaded blaze directory and run `make uninstall`.\n3. Delete the `config.toml` file if you created one.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanieltodor%2Fblaze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanieltodor%2Fblaze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanieltodor%2Fblaze/lists"}