{"id":27707705,"url":"https://github.com/vhstack/termpp","last_synced_at":"2026-04-20T03:02:04.471Z","repository":{"id":285584726,"uuid":"958483217","full_name":"vhstack/termpp","owner":"vhstack","description":"Advanced Terminal Setup for Devs and Admins","archived":false,"fork":false,"pushed_at":"2025-05-21T15:35:14.000Z","size":1335,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-21T16:45:05.079Z","etag":null,"topics":["bash","bash-prompt","config","configuration","nerd-fonts","oh-my-posh","terminal","windows-terminal","windows-terminal-theme","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vhstack.png","metadata":{"files":{"readme":"README.en.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-01T09:16:44.000Z","updated_at":"2025-05-21T15:35:18.000Z","dependencies_parsed_at":"2025-04-01T15:43:05.808Z","dependency_job_id":"4ef2907e-6790-437b-937c-59afaabb17bd","html_url":"https://github.com/vhstack/termpp","commit_stats":null,"previous_names":["vhstack/termpp"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vhstack/termpp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Ftermpp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Ftermpp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Ftermpp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Ftermpp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vhstack","download_url":"https://codeload.github.com/vhstack/termpp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vhstack%2Ftermpp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32031070,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-20T00:18:06.643Z","status":"online","status_checked_at":"2026-04-20T02:00:06.527Z","response_time":94,"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","config","configuration","nerd-fonts","oh-my-posh","terminal","windows-terminal","windows-terminal-theme","zsh"],"created_at":"2025-04-26T07:56:28.467Z","updated_at":"2026-04-20T03:02:04.457Z","avatar_url":"https://github.com/vhstack.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"right\"\u003e\n  \u003ca href=\"README.md\"\u003e\u003cimg src=\"https://flagcdn.com/16x12/de.png\" alt=\"Deutsch\" title=\"Zur deutschen Version wechseln\" /\u003e\u003c/a\u003e  \n  \u003ca href=\"README.en.md\"\u003e\u003cimg src=\"https://flagcdn.com/16x12/gb.png\" alt=\"English\" title=\"Switch to English\" /\u003e\u003c/a\u003e  \n  \u003ca href=\"README.ru.md\"\u003e\u003cimg src=\"https://flagcdn.com/16x12/ru.png\" alt=\"Русский\" title=\"Переключиться на русскую версию\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n# 🖥️ Modern Terminal Environment on Windows\n\nThis guide walks you through setting up a modern, high-performance, and visually appealing terminal environment on Windows.\nIt includes:\n\n- **Windows Terminal** (Preview version recommended)\n- A **Nerd Font** (e.g., Cascadia Code NF)\n- A modern **Bash prompt via Oh My Posh**\n\n![Screenshot](assets/screenshot.jpg)\n\n---\n\n## 📦 Terminal Choice: Windows Terminal\n\nThere are many terminal options on Windows. After testing several options, \nI went with [Windows Terminal](https://aka.ms/terminal) because it's:\n\n- Fast\n- Modern\n- Highly configurable\n- Lightweight\n\nI use the **Preview version** to access new features early.\n\n### 🔧 Installation\n\nWindows Terminal is available for free from the Microsoft Store:\n\n- ▶️ [Windows Terminal Preview](https://apps.microsoft.com/store/detail/windows-terminal-preview/9N8GZ8MR0MLW)\n\n---\n\n## 🔤 Font: Nerd Font with Icon Support\n\nTo properly display icons, Git symbols, and stylish prompt elements, you'll need a **Nerd Font**. \nI recommend:\n\n### 💎 Cascadia Code NF\n\n➡️ [Download on GitHub](https://github.com/microsoft/cascadia-code/releases)\n\nAdvantages:\n\n- Clear readability\n- Attractive design\n- **Ligature** support\n- Perfect for developer terminals\n\n\u003e After installing, set the font as default in Windows Terminal (e.g., via `settings.json`).\n\n#### ✨ Ligature Examples\n\n|Input | Display |\n|---|--- |\n|`-\u003e` | → |\n|`=\u003e` | ⇒ |\n|`!=` | ≠ |\n|`==` | ═ |\n|`===` | ≡ |\n|`\u003c=` | ≤ |\n\nAlternatively, install a Nerd Font that fits your preferences:\n\n➡️ [Download on nerdfonts.com](https://www.nerdfonts.com/)\n\n---\n\n## ⚙️ Configuring Windows Terminal\n\nConfiguration is done via the `settings.json` file.\n\n### 📝 Steps\n\n1. Open the terminal.\n2. Press `Ctrl + ,` (or access via the menu).\n3. Click on \"Settings\" (open JSON file).\n4. Replace or add your configuration.\n\nIn the `settings.json`, you can define custom SSH profiles under `profiles.list[]` for key-based \nor password-based access to remote servers.\n\n```json\n{\n    \"commandline\": \"ssh user@server.address\",\n    \"hidden\": false,\n    \"icon\": \"\\ud83d\\udda5\",\n    \"name\": \"My SSH Server\"\n}\n```\n\nTo use a specific SSH key, just include it like this:\n\n```json\n\"commandline\": \"ssh -i ~/.ssh/id_ed25519 user@server.address\"\n```\n\n👉 Generate SSH keys:\n\n```bash\nssh-keygen -t ed25519 -C \"your-comment\"\n```\n\n👉 Using graphical applications on a remote Linux server (X11 forwarding)\n\nIf you want to use graphical applications on a remote server, it is recommended to use the XMing Server.\n\n➡️ [Download at www.straightrunning.com](http://www.straightrunning.com/XmingNotes)\n\nAfter installation, the display is forwarded to the Linux system via X11 forwarding using the `-X` switch.\n```json\n\"commandline\": \"cmd.exe /c \\\"set DISPLAY=127.0.0.1:0.0\u0026\u0026 ssh -X -i ~/.ssh/id_ed25519 user@server.adress\\\"\"\n```\n\n### ⌨️ Keybindings\n\nKey Combination | Function |\n|---|--- |\n|`Shift + ← / →` | Switch between Windows Terminal tabs |\n|`Alt + ← / →` | Switch between Tmux windows |\n|`Ctrl + ← / →` | Switch between NVim buffers |\n\nThese settings and the color scheme are aligned with my Neovim and Tmux configurations:\n\n- [vhstack/tmuxpp](https://github.com/vhstack/tmuxpp)\n- [vhstack/nvimpp](https://github.com/vhstack/nvimpp)\n\n---\n\n## 🎨 True Color Support\n\n### ✅ Set the TERM variable\n\nEnsure `TERM` is set to `xterm-256color`. Add to `.bashrc`, `.zshrc`, or `.profile`:\n\n```bash\nexport TERM=xterm-256color\n```\n\n### 🧪 Test Color Rendering\n\nUse the `truecolor-test.sh` script to verify true 24-bit color support:\n\n```bash\ncurl -sL https://raw.githubusercontent.com/vhstack/termpp/main/truecolor-test.sh | bash\n```\n\nThe script renders a smooth gradient. Visible banding indicates **only 256-color support**; a smooth gradient indicates **true color**.\n\n### 🖼️ Example Rendering\n\nThe 256-color version shows harsh transitions, while True Color provides a smooth gradient.\n\n**256 colors (xterm-256color with 8-bit fallback):**  \n![256 Farben Screenshot](assets/screenshot-256color.png)\n\n**True Color (24-bit):**  \n![True Color Screenshot](assets/screenshot-truecolor.png)\n\n---\n\n## 💠 Shell Prompt with Oh My Posh on a Remote Server\n\nA modern, informative Bash prompt can make a big difference. Oh My Posh provides:\n\n- Git branch display\n- Exit code indicator\n- Visual separation with icons and colors\n\n\u003e Important: Setup is **on the remote server under Bash**, **not locally**.\n\n### ⚡ Quick Installation\n\nYou can automatically install the `vhstack` prompt theme by downloading script:\n\n📥 [Download installation script](https://raw.githubusercontent.com/vhstack/termpp/main/install-termpp.sh)\n\nOr directly running the following script:\n\n```bash\ncurl -sL https://raw.githubusercontent.com/vhstack/termpp/main/install-termpp.sh | bash\n```\n\nOr with Zsh:\n\n```zsh\ncurl -sL https://raw.githubusercontent.com/vhstack/termpp/main/install-termpp.sh | zsh\n```\n\n🔧 The script will:\n\n- 📦 Install Oh My Posh if needed\n- 📁 Copy `vhstack.omp.json` to `~/.config/ohmyposh/`\n- ✍️ Append the init line to your `~/.bashrc` or `~/.zshrc`\n\n\u003e **Tip:** After installation, run source `~/.bashrc` or source `~/.zshrc` once – or simply restart the terminal.\n\n### 🛠️ Manual Installation Oh My Posh\n\n```bash\ncurl -s https://ohmyposh.dev/install.sh | bash -s\n```\n\nOr see the [Oh My Posh Linux installation guide](https://ohmyposh.dev/docs/linux).\n\n---\n\n## 🎨 Oh My Posh Theme Configuration\n\nUse the `vhstack.omp.json` theme or any other of your choice.\n\n### ✅ Steps\n\n1. Copy `vhstack.omp.json` to `~/.config/ohmyposh/`:\n\n   ```bash\n   mkdir -p ~/.config/ohmyposh\n   curl -L https://raw.githubusercontent.com/vhstack/termpp/main/vhstack.omp.json -o ~/.config/ohmyposh/vhstack.omp.json\n   ```\n\n2. Add the following to `~/.bashrc` or `~/.zshrc`:\n\n   ```bash\n   eval \"$(~/.local/bin/oh-my-posh init bash --config ~/.config/ohmyposh/vhstack.omp.json)\"\n   ```\n\n3. Reload shell:\n\n   ```bash\n   . ~/.bashrc\n   ```\n\nYour prompt will load automatically on login.\n\n---\n\n## 📎 Useful Links\n\n- 💻 [Windows Terminal on GitHub](https://github.com/microsoft/terminal)\n- 🔤 [Microsoft Cascadia Font](https://github.com/microsoft/cascadia-code)\n- 🔤 [Nerd Fonts overview](https://www.nerdfonts.com/)\n- 💻 [XMing Server](http://www.straightrunning.com/XmingNotes)\n- 🖌️ [Oh My Posh documentation](https://ohmyposh.dev/docs)\n\n---\n\n## 🎯 Final Words\n\nThis setup gives you a sleek, fast, and visually pleasing environment for daily work.\n\nAll components are modular—customize themes, fonts, keybindings, and colors.\n\nEnjoy your new setup and happy hacking! 🚀\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvhstack%2Ftermpp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvhstack%2Ftermpp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvhstack%2Ftermpp/lists"}