{"id":13610657,"url":"https://github.com/eendroroy/alien-minimal","last_synced_at":"2025-08-20T18:32:40.389Z","repository":{"id":49339506,"uuid":"75806049","full_name":"eendroroy/alien-minimal","owner":"eendroroy","description":"An asynchronous minimal zsh prompt","archived":false,"fork":false,"pushed_at":"2024-04-16T14:35:51.000Z","size":447,"stargazers_count":148,"open_issues_count":2,"forks_count":22,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-04-16T16:23:03.850Z","etag":null,"topics":["zsh","zsh-theme"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/eendroroy.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}},"created_at":"2016-12-07T06:22:03.000Z","updated_at":"2024-05-20T14:20:45.132Z","dependencies_parsed_at":"2024-05-20T14:20:44.689Z","dependency_job_id":"51405b8f-c42d-42a2-9a1b-e9bfb6e543ab","html_url":"https://github.com/eendroroy/alien-minimal","commit_stats":null,"previous_names":[],"tags_count":25,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien-minimal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien-minimal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien-minimal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien-minimal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eendroroy","download_url":"https://codeload.github.com/eendroroy/alien-minimal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230445926,"owners_count":18227060,"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","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":["zsh","zsh-theme"],"created_at":"2024-08-01T19:01:46.814Z","updated_at":"2025-08-20T18:32:40.367Z","avatar_url":"https://github.com/eendroroy.png","language":"Shell","funding_links":[],"categories":["Themes","Shell"],"sub_categories":["ZSH on Windows","Zinit (née zplugin)"],"readme":"# alien-minimal\n\n**alien-minimal** theme is faster than many other themes.\n\n**Why?** It updates part of the prompt asynchronously – the time-consuming processing like git status checking,\ngit dirty copy checking and so on\n\n**How?** It starts a background job for these processes, and in the meantime shows initial prompt and lets you use the\nterminal as you would normally.\n\n**alien-minimal** is **independent** of any library/framework like Oh-My-Zsh or Prezto.\n\n## Installation\n\nAdd the following line in `~/.zshrc` depending on zsh plugin manager\n\n##### [antigen](https://github.com/zsh-users/antigen):\n\n```zsh\nantigen theme eendroroy/alien-minimal alien-minimal\n```\n\n##### [zgen](https://github.com/tarjoilija/zgen):\n\n```zsh\nzgen load eendroroy/alien-minimal\n```\n\n##### [zplug](https://github.com/zplug/zplug):\n\n```zsh\nzplug \"eendroroy/alien-minimal\"\n```\n\n##### [oh-my-zsh: Overriding and Adding Themes](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes)\n\n```zsh\n# if using git 2.13 or higher\ngit clone --recurse-submodules https://github.com/eendroroy/alien-minimal.git ${ZSH_CUSTOM}/themes/alien-minimal\n\n# if lower version use\ncd ${ZSH_CUSTOM}/themes/alien-minimal\ngit clone https://github.com/eendroroy/alien-minimal.git\ngit submodule update --init --recursive # --remote\n```\n\nThen set `ZSH_THEME=\"alien-minimal/alien-minimal\"` in the `~/.zshrc` file.\n\n## Customizations\n\n**add configurations in `~/.amrc`**\n\n### Sections\n\n#### Available sections:\n\n- am_ssh_st\n- am_prompt_start_tag\n- am_prompt_dir\n- am_prompt_end_tag\n- am_venv\n- am_version_prompt\n- am_vcs_prompt\n- am_space\n- am_vi_prompt\n\n#### `am_vcs_prompt` configuration\n\nGit:\n\n- am_git_symbol\n- am_git_rebasing\n- am_git_branch\n- am_git_left_right_master\n- am_git_commit_time\n- am_git_rev\n- am_git_stash\n- am_git_left_right\n- am_git_dirty\n\nMercurial:\n\n- am_hg_symbol\n- am_hg_branch\n- am_hg_rev\n\nSubversion:\n\n- am_svn_symbol\n- am_svn_rev\n\n#### A sample sensible configuration\n\n```zsh\nAM_VERSIONS_PROMPT=()\n\nAM_GIT_SECTION=(\n  am_git_symbol\n  am_git_rebasing\n  am_git_branch\n  am_git_left_right_master\n  am_git_commit_time\n  am_git_rev\n  am_git_stash\n  am_git_left_right\n  am_git_dirty\n)\n\nAM_HG_SECTION=(\n  am_hg_symbol\n  am_hg_branch\n  am_hg_rev\n)\n\nAM_SVN_SECTION=(\n  am_svn_symbol\n  am_svn_rev\n)\n\nAM_LEFT_SECTION=(\n  am_space\n  am_ssh_st\n  am_prompt_start_tag\n  am_prompt_dir\n  am_prompt_end_tag\n  am_venv\n  am_space\n)\n\nAM_RIGHT_SECTION=(\n  am_version_prompt\n  am_vcs_prompt\n)\n```\n\n### Update left prompt asynchronously\n\n```zsh\nexport AM_ASYNC_L_PROMPT=1\n```\n\n### Show initial new line\n\nAlways show a new line\n\n```zsh\nexport AM_INITIAL_LINE_FEED=1\n```\n\nUnset `AM_INITIAL_LINE_FEED` to stop printing a new line.\n\n### Add start tag and end tag:\n\n```zsh\nexport AM_PROMPT_START_TAG='--\u003e'     # previously `PROMPT_START_TAG`     \nexport AM_PROMPT_END_TAG='\\ $'       # previously `PROMPT_END_TAG`       \nexport AM_PROMPT_START_TAG_COLOR=81  # previously `PROMPT_START_TAG_COLOR`  \nexport AM_PROMPT_END_TAG_COLOR=81    # previously `PROMPT_END_TAG_COLOR`    \n```\n\n**Result:**\n\n```zsh\n--\u003e ~ $\n--\u003e ~ $ 1\n(venv) --\u003e python-project $\n(venv) --\u003e python-project $ 130\n```\n\nYou can additionally show the error color on prompt start tag:\n\n```zsh\nexport AM_ERROR_ON_START_TAG=1\n```\n\n_Note: if `AM_PROMPT_START_TAG` is empty, this configuration will be ignored._\n\n### Show versions:\n\nAvailable version are:\n`PYTHON`,`PYTHON_S`,`RUBY`,`RUBY_S`,`JAVA`,`JAVA_S`,`GO`,`GO_S`,`ELIXIR`,`ELIXIR_S`,\n`CRYSTAL`,`CRYSTAL_S`,`NODE`,`NODE_S`,`PHP`,`PHP_S`,`GRADLE`,`MAVEN`\n\n```zsh\nexport AM_VERSIONS_PROMPT=(RUBY PYTHON JAVA GO CRYSTAL NODE PHP ELIXIR GRADLE)\n```\n\nCustomize Separator:\n\n```zsh\nexport AM_VERSION_PROMPT_SEP='|'\n```\n\n_Note: Prompt maintain declaration order._\n\n### Configure dirname in prompt:\n\n```zsh\nexport AM_DIR_EXPANSION_LEVEL=2\n```\n\n### Hide exit code:\n\n```zsh\nexport AM_HIDE_EXIT_CODE=1\n```\n\n### Keep previous RPROMPT:\n\n```zsh\nexport AM_KEEP_PROMPT=1\n```\n\n### Color themes:\n\n```zsh\n1. export AM_THEME=mono\n2. export AM_THEME=mono_bright\n3. export AM_THEME=terminal\n4. export AM_THEME=soft\n5. export AM_THEME=default\n```\n\n_Note: **Unset `AM_THEME` to use default color scheme.**_\n\n**Apart from these default themes, custom colors can be defined:**\n\nUse [previewer](https://eendroroy.github.io/alien-minimal/previewer/) to easily preview colors.\n\n```zsh\nexport AM_VCS_COLOR=1          # color for VCS (G: M: V:)\nexport AM_SSH_COLOR=11         # color for ssh indicator\nexport AM_VI_INSERT_COLOR=11   # color for vi insert mode indicator\nexport AM_VI_NORMAL_COLOR=11   # color for vi normal mode indicator\nexport AM_NORMAL_COLOR=12      # color for normal text\nexport AM_ERROR_COLOR=1        # color for ERROR\nexport AM_REV_COLOR=14         # color for VCS Revision number\nexport AM_BRANCH_COLOR=10      # color for VCS BRANCH name\nexport AM_LEFT_RIGHT_COLOR=3   # color for GIT Left-Right status\nexport AM_STASH_COLOR=3        # color for GIT stash count\nexport AM_BARE_COLOR=3         # color for GIT bare repo indicator\nexport AM_COMMIT_SINCE_COLOR=6 # color for last commit time\nexport AM_FADE_COLOR=8         # color for fade text color\nexport AM_VENV_COLOR=8         # color fir python virtual env text\nexport AM_PYTHON_COLOR=2       # color for python version text\nexport AM_RUBY_COLOR=1         # color for ruby version text\nexport AM_JAVA_COLOR=15        # color for java version text\nexport AM_TIMER_COLOR=14       # color for command execution time\n```\n\nOr creating a new theme file:\n\n__/path/to/custom/theme.zsh__\n\n```zsh\n#!/usr/bin/env zsh\n\nam_theme(){\n  AM_VCS_COLOR=248\n  AM_SSH_COLOR=143\n  AM_VI_INSERT_COLOR=143\n  AM_VI_NORMAL_COLOR=143\n  AM_NORMAL_COLOR=39\n  AM_ERROR_COLOR=208\n  AM_REV_COLOR=248\n  AM_BRANCH_COLOR=78\n  AM_LEFT_RIGHT_COLOR=222\n  AM_STASH_COLOR=222\n  AM_BARE_COLOR=222\n  AM_COMMIT_SINCE_COLOR=244\n  AM_FADE_COLOR=242\n  AM_VENV_COLOR=245\n  AM_PYTHON_COLOR=40\n  AM_RUBY_COLOR=196\n  AM_JAVA_COLOR=178\n  AM_GO_COLOR=81\n  AM_ELIXIR_COLOR=81\n  AM_CRYSTAL_COLOR=8\n  AM_NODE_COLOR=2\n  AM_PHP_COLOR=5\n  AM_GRADLE_COLOR=2\n  AM_MAVEN_COLOR=3\n  AM_TIMER_COLOR=248\n  AM_PROMPT_START_TAG_COLOR=39\n  AM_PROMPT_END_TAG_COLOR=39\n  AM_GIT_TRACKED_COLOR=78\n  AM_GIT_UN_TRACKED_COLOR=208\n  AM_LEFT_RIGHT_COLOR=252\n}\n```\n\nThen activate the theme using:\n\n```zsh\nexport AM_CUSTOM_THEME_PATH=/path/to/custom/theme.zsh\n```\n\n### Nerd Font:\n\n**Nerd Font must be installed [nerd-fonts](https://github.com/ryanoasis/nerd-fonts)**\n\nEnable Nerd Font\n\n```zsh\nexport AM_USE_NERD_FONT=1 # previously `USE_NERD_FONT`\n```\n\n### customize symbols\n\n```zsh\nexport AM_GIT_STASH_SYM='@'\nexport AM_GIT_BARE_SYM='☢'\nexport AM_GIT_SYM='G'\nexport AM_HG_SYM='H'\nexport AM_SVN_SYM='S'\nexport AM_SSH_SYM='[S]'\nexport AM_JAVA_SYM='JAVA:'\nexport AM_PY_SYM='PY:'\nexport AM_RB_SYM='RB:'\nexport AM_GO_SYM='GO:'\nexport AM_ELIXIR_SYM='EX:'\nexport AM_CRYSTAL_SYM='CR:'\nexport AM_NODE_SYM='⬡ '\nexport AM_PHP_SYM='PHP:'\nexport AM_GRADLE_SYM='GRADLE:'\nexport AM_MAVEN_SYM='MVN:'\nexport AM_GIT_REBASING_SYMBOL='⇋'\nexport AM_GIT_PUSH_SYM='↑'\nexport AM_GIT_PULL_SYM='↓'\nexport AM_LEFT_RIGHT_SEP='|'\nexport AM_VIM_INSERT_SYM='(i)'\nexport AM_VIM_NORMAL_SYM='(n)'\n```\n\n_Note: this overrides `AM_USE_NERD_FONT` configuration._\n\n## Libraries Used\n\n- ['zsh-async'](https://github.com/mafredri/zsh-async) by **[@mafredri](https://github.com/mafredri)**\n- ['promptlib-zsh'](https://github.com/eendroroy/promptlib-zsh) by **[@eendroroy](https://github.com/eendroroy)**\n\n## License\n\nThe project is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feendroroy%2Falien-minimal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feendroroy%2Falien-minimal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feendroroy%2Falien-minimal/lists"}