{"id":13815649,"url":"https://github.com/eendroroy/alien","last_synced_at":"2025-05-16T05:04:11.799Z","repository":{"id":9708253,"uuid":"64047228","full_name":"eendroroy/alien","owner":"eendroroy","description":"An asynchronous zsh prompt","archived":false,"fork":false,"pushed_at":"2024-12-09T09:22:15.000Z","size":1302,"stargazers_count":329,"open_issues_count":9,"forks_count":49,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-05-16T05:03:34.146Z","etag":null,"topics":["aliens","terminal-theme","zsh","zsh-theme"],"latest_commit_sha":null,"homepage":"https://eendroroy.github.io/alien","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-07-24T03:41:54.000Z","updated_at":"2025-05-10T16:55:28.000Z","dependencies_parsed_at":"2024-04-16T14:49:48.454Z","dependency_job_id":"74b20501-075d-470e-a531-5850b2df6fce","html_url":"https://github.com/eendroroy/alien","commit_stats":null,"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/eendroroy%2Falien/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/eendroroy","download_url":"https://codeload.github.com/eendroroy/alien/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254471061,"owners_count":22076585,"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":["aliens","terminal-theme","zsh","zsh-theme"],"created_at":"2024-08-04T04:03:49.291Z","updated_at":"2025-05-16T05:04:11.746Z","avatar_url":"https://github.com/eendroroy.png","language":"Shell","readme":"# alien\n\n[![GitHub tag](https://img.shields.io/github/tag/eendroroy/alien.svg)](https://github.com/eendroroy/alien/tags)\n\n[![Contributors](https://img.shields.io/github/contributors/eendroroy/alien.svg)](https://github.com/eendroroy/alien/graphs/contributors)\n[![GitHub last commit (branch)](https://img.shields.io/github/last-commit/eendroroy/alien/master.svg)](https://github.com/eendroroy/alien)\n[![license](https://img.shields.io/github/license/eendroroy/alien.svg)](https://github.com/eendroroy/alien/blob/master/LICENSE)\n[![GitHub issues](https://img.shields.io/github/issues/eendroroy/alien.svg)](https://github.com/eendroroy/alien/issues)\n[![GitHub closed issues](https://img.shields.io/github/issues-closed/eendroroy/alien.svg)](https://github.com/eendroroy/alien/issues?q=is%3Aissue+is%3Aclosed)\n[![GitHub pull requests](https://img.shields.io/github/issues-pr/eendroroy/alien.svg)](https://github.com/eendroroy/alien/pulls)\n[![GitHub closed pull requests](https://img.shields.io/github/issues-pr-closed/eendroroy/alien.svg)](https://github.com/eendroroy/alien/pulls?q=is%3Apr+is%3Aclosed)\n\n**alien** theme is faster than a lot other themes.\n\n**Why?** It updates part of the prompt asyncronously - the time consuming processings like git status checking,\ngit dirty copy checking etc.\n\n**How?** It starts a background job for these process, and in the mean time draws initial prompt and lets you use the\nterminal as you would normally.\n\nalien theme is **independent** of any library like Oh-My-Zsh or Prezto. Whatever it needs already included inside.\nThe only exception is font. You need to **install the powerline patched fonts** to properly display the prompt.\n\n## Asciicast v2.0.0\n\n[![asciicast](http://asciinema.org/a/237118.svg)](http://asciinema.org/a/237118)\n\n## Requirements\n\n- zsh (obviously)\n- powerline patched fonts [**see here**](https://github.com/powerline/fonts)\n\n## Installation\n\nAdd the following line to your `.zshrc` depending on your zsh plugin manager\n\n#### [antigen](https://github.com/zsh-users/antigen):\n\n    antigen theme eendroroy/alien alien\n\n#### [zgen](https://github.com/tarjoilija/zgen):\n\n    zgen load eendroroy/alien\n\n#### [zplug](https://github.com/zplug/zplug):\n\n    zplug \"eendroroy/alien\"\n\n#### [oh-my-zsh: Overriding and Adding Themes](https://github.com/robbyrussell/oh-my-zsh/wiki/Customization#overriding-and-adding-themes)\n\n#### Manually cloning\n\n```bash\ngit clone https://github.com/eendroroy/alien.git\ncd alien\ngit submodule update --init --recursive --remote\n```\n\nAdd the following line to your `~/.zshrc`\n\n```bash\nsource ~/alien/alien.zsh\n```\n\n## Configuration\n\n**add all configurations before plugin definitions (or sourcing the theme)**\n\n### sections\n\nTo define the order of sections to display:\n\n```bash\nexport ALIEN_SECTIONS_LEFT=(\n  exit\n  battery\n  user\n  path\n  newline\n  ssh\n  venv\n  prompt\n)\n\nexport ALIEN_SECTIONS_RIGHT=(\n  time\n)\n```\n\nTo define if sections are to be loaded asyncronously add `:async` to the section-name:\n\n```bash\nexport ALIEN_SECTIONS_LEFT=(\n  exit\n  battery\n  user\n  path\n  vcs_branch:async\n  vcs_status:async\n  vcs_dirty:async\n  newline\n  ssh\n  venv\n  prompt\n)\n```\n\n#### section seperator\n\nTo change the section-separator:\n\n```bash\nexport ALIEN_SECTIONS_LEFT_SEP_SYM=\nexport ALIEN_SECTIONS_RIGHT_SEP_SYM=\n```\n\n\n#### `prompt`-section\n\nTo change the symbol of the input-prompt:\n\n```bash\nexport ALIEN_PROMPT_SYM=\n```\n\nTo change colors:\n\n```bash\nexport ALIEN_PROMPT_FG=100\n```\n\n#### `exit`-section\n\nTo disable the numeric exit-code:\n\n```bash\nexport ALIEN_SECTION_EXIT_CODE=0\n```\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_EXIT_FG=100\nexport ALIEN_SECTION_EXIT_BG=150\nexport ALIEN_SECTION_EXIT_BG_ERROR=200\n```\n\n#### `time`-section\n\nTo change the format::\n\n```bash\nexport ALIEN_SECTION_TIME_FORMAT=%H:%M:%S # default is %r\n```\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_TIME_FG=100\nexport ALIEN_SECTION_TIME_BG=150\n```\n\n#### `battery`-section\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_BATTERY_FG=100\nexport ALIEN_SECTION_BATTERY_BG=150\n```\n\n#### `user`-section\n\nTo show the hostname:\n\n```bash\nexport ALIEN_SECTION_USER_HOST=1\n```\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_USER_FG=100\nexport ALIEN_SECTION_USER_BG=150\n```\n\n#### `path`-section\n\nTo change the number of path-components to display:\n\n```bash\nexport ALIEN_SECTION_PATH_COMPONENTS=2\n```\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_PATH_FG=100\nexport ALIEN_SECTION_PATH_BG=150\n```\n\n#### `vcs_branch`-section\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_VCS_BRANCH_FG=100\nexport ALIEN_SECTION_VCS_BRANCH_BG=150\n```\n\n#### `vcs_status`-section\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_VCS_STATUS_FG=100\nexport ALIEN_SECTION_VCS_STATUS_BG=150\n```\n\n#### `vcs_dirty`-section\n\nTo change colors:\n\n```bash\nexport ALIEN_SECTION_VCS_DIRTY_FG=100\nexport ALIEN_SECTION_VCS_DIRTY_BG=150\n```\n\n### `versions`-section\n\nDefine versions to show:\n\n```bash\nexport ALIEN_VERSIONS_PROMPT='PYTHON_S RUBY_S NODE_S'\n```\n\nSupported versions:\n`PYTHON` `PYTHON_S` `RUBY` `RUBY_S` `JAVA` `JAVA_S`\n`GO` `GO_S` `ELIXIR` `ELIXIR_S` `CRYSTAL` `CRYSTAL_S` `NODE` `NODE_S` `PHP` `PHP_S`\n\n### color scheme\n\nyou can chose from 6 different color schemes (blue is the default)\n\nin ~/.zshrc just add any from the following three lines before your `antigen theme ...` line\n\n```bash\nexport ALIEN_THEME=\"blue\"\n```\n\n![blue](screenshots/blue.png)\n\n```bash\nexport ALIEN_THEME=\"green\"\n```\n\n![green](screenshots/green.png)\n\n```bash\nexport ALIEN_THEME=\"red\"\n```\n\n![red](screenshots/red.png)\n\n```bash\nexport ALIEN_THEME=\"soft\"\n```\n\n![soft](screenshots/soft.png)\n\n```bash\nexport ALIEN_THEME=\"gruvbox\"\n```\n\n![gruvbox](screenshots/gruvbox.png)\n\n\n```bash\nexport ALIEN_THEME=\"bnw\"\n```\n\n![gruvbox](screenshots/bnw.png)\n\n\n**Custom Color**\n\n```bash\nALIEN_PROMPT_FG=87\nALIEN_SECTION_EXIT_FG=0\nALIEN_SECTION_EXIT_BG=87\nALIEN_SECTION_EXIT_BG_ERROR=202\nALIEN_SECTION_TIME_FG=0\nALIEN_SECTION_TIME_BG=193\nALIEN_SECTION_BATTERY_FG=0\nALIEN_SECTION_BATTERY_BG=193\nALIEN_SECTION_USER_FG=0\nALIEN_SECTION_USER_BG=87\nALIEN_SECTION_PATH_FG=0\nALIEN_SECTION_PATH_BG=45\nALIEN_SECTION_VCS_BRANCH_FG=87\nALIEN_SECTION_VCS_BRANCH_BG=238\nALIEN_SECTION_VCS_STATUS_FG=87\nALIEN_SECTION_VCS_STATUS_BG=238\nALIEN_SECTION_VCS_DIRTY_FG=87\nALIEN_SECTION_VCS_DIRTY_BG=238\nALIEN_SECTION_SSH_FG=238\nALIEN_SECTION_VENV_FG=238\nALIEN_GIT_TRACKED_COLOR=193\nALIEN_GIT_UN_TRACKED_COLOR=87\nALIEN_SECTION_VERSION_BG=237\nALIEN_PYTHON_COLOR=40\nALIEN_RUBY_COLOR=196\nALIEN_JAVA_COLOR=178\nALIEN_GO_COLOR=81\nALIEN_ELIXIR_COLOR=99\nALIEN_CRYSTAL_COLOR=8\nALIEN_NODE_COLOR=41\nALIEN_PHP_COLOR=57\n```\n\nOr creating a new theme file:\n\n__/path/to/custom/theme.zsh__\n\n```bash\n#!/usr/bin/env zsh\n\nalien_theme(){\n  ALIEN_PROMPT_FG=87\n  ALIEN_SECTION_EXIT_FG=0\n  ALIEN_SECTION_EXIT_BG=87\n  ALIEN_SECTION_EXIT_BG_ERROR=202\n  ALIEN_SECTION_TIME_FG=0\n  ALIEN_SECTION_TIME_BG=193\n  ALIEN_SECTION_BATTERY_FG=0\n  ALIEN_SECTION_BATTERY_BG=193\n  ALIEN_SECTION_USER_FG=0\n  ALIEN_SECTION_USER_BG=87\n  ALIEN_SECTION_PATH_FG=0\n  ALIEN_SECTION_PATH_BG=45\n  ALIEN_SECTION_VCS_BRANCH_FG=87\n  ALIEN_SECTION_VCS_BRANCH_BG=238\n  ALIEN_SECTION_VCS_STATUS_FG=87\n  ALIEN_SECTION_VCS_STATUS_BG=238\n  ALIEN_SECTION_VCS_DIRTY_FG=87\n  ALIEN_SECTION_VCS_DIRTY_BG=238\n  ALIEN_SECTION_SSH_FG=238\n  ALIEN_SECTION_VENV_FG=238\n  ALIEN_GIT_TRACKED_COLOR=193\n  ALIEN_GIT_UN_TRACKED_COLOR=87\n  ALIEN_SECTION_VERSION_BG=237\n  ALIEN_PYTHON_COLOR=40\n  ALIEN_RUBY_COLOR=196\n  ALIEN_JAVA_COLOR=178\n  ALIEN_GO_COLOR=81\n  ALIEN_ELIXIR_COLOR=99\n  ALIEN_CRYSTAL_COLOR=8\n  ALIEN_NODE_COLOR=41\n  ALIEN_PHP_COLOR=57\n}\n```\n\nThen activate the theme using:\n\n```bash\nexport ALIEN_CUSTOM_THEME_PATH=/path/to/custom/theme.zsh\n```\n\n### Keep previous PROMPT:\n\n```bash\nexport ALIEN_KEEP_PROMPT=1\n```\n\nThis will keep previous prompt while new prompt is being rendered.\n\n### nerd font\n\nEnable Nerd Font\n\n```bash\nexport ALIEN_USE_NERD_FONT=1\n```\n\n_*Note: [Nerd fonts](https://github.com/ryanoasis/nerd-fonts)*_\n\n\n### promptlib-zsh Configs:\n\n#### customize symbols\n\n```bash\nexport ALIEN_GIT_STASH_SYM=@\nexport ALIEN_GIT_SYM=G\nexport ALIEN_HG_SYM=H\nexport ALIEN_SVN_SYM=S\nexport ALIEN_BRANCH_SYM=\nexport ALIEN_GIT_ADD_SYM=+\nexport ALIEN_GIT_DEL_SYM=-\nexport ALIEN_GIT_MOD_SYM=⭑\nexport ALIEN_GIT_NEW_SYM=?\nexport ALIEN_GIT_PUSH_SYM=↑\nexport ALIEN_GIT_PULL_SYM=↓\nexport ALIEN_JAVA_SYM='JAVA:'\nexport ALIEN_PY_SYM='PY:'\nexport ALIEN_RB_SYM='RB:'\nexport ALIEN_GO_SYM='GO:'\nexport ALIEN_ELIXIR_SYM='EX:'\nexport ALIEN_CRYSTAL_SYM='CR:'\nexport ALIEN_NODE_SYM='⬡ '\nexport ALIEN_PHP_SYM='PHP:'\n```\n\n_Note: this overrides `ALIEN_USE_NERD_FONT` configuration._\n\n## Libraries Used\n\n- ['256color'](https://github.com/chrissicool/zsh-256color) by **[@chrissicool](https://github.com/chrissicool)**\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## Author\n\n* **indrajit** - *Owner* - [eendroroy](https://github.com/eendroroy)\n\n## Contributing\n\nBug reports and pull requests are welcome on GitHub at [alien](https://github.com/eendroroy/alien) repository.\nThis project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to\nthe [Contributor Covenant](http://contributor-covenant.org) code of conduct.\n\n  1. Fork it ( https://github.com/eendroroy/alien/fork )\n  1. Create your feature branch (`git checkout -b my-new-feature`)\n  1. Commit your changes (`git commit -am 'Add some feature'`)\n  1. Push to the branch (`git push origin my-new-feature`)\n  1. Create a new Pull Request\n\n\n## License\n\nThe project is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","funding_links":[],"categories":["Themes","Shell"],"sub_categories":["ZSH on Windows","Zinit (née zplugin)"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feendroroy%2Falien","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Feendroroy%2Falien","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Feendroroy%2Falien/lists"}