{"id":13602428,"url":"https://github.com/nberlette/gitpod-enhanced","last_synced_at":"2025-04-14T16:21:07.390Z","repository":{"id":38244727,"uuid":"434992208","full_name":"nberlette/gitpod-enhanced","owner":"nberlette","description":"Turbocharge your Gitpod Workspaces with my custom built version of gitpod/workspace-full.","archived":false,"fork":false,"pushed_at":"2023-09-11T03:38:31.000Z","size":1304,"stargazers_count":11,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-28T05:05:24.884Z","etag":null,"topics":["automation","bash","cli","docker","dockerfile","dotfiles","git-prompt","gitpod","gitpod-enhanced","gitpod-workspace","ide","starship","starship-prompt","typescript","vscode"],"latest_commit_sha":null,"homepage":"https://gitpod.tk","language":"Dockerfile","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/nberlette.png","metadata":{"funding":{"ko_fi":"nberlette"},"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","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":"2021-12-04T19:35:12.000Z","updated_at":"2024-08-29T00:08:30.000Z","dependencies_parsed_at":"2024-11-07T05:45:31.521Z","dependency_job_id":null,"html_url":"https://github.com/nberlette/gitpod-enhanced","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fgitpod-enhanced","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fgitpod-enhanced/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fgitpod-enhanced/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nberlette%2Fgitpod-enhanced/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nberlette","download_url":"https://codeload.github.com/nberlette/gitpod-enhanced/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248914127,"owners_count":21182360,"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":["automation","bash","cli","docker","dockerfile","dotfiles","git-prompt","gitpod","gitpod-enhanced","gitpod-workspace","ide","starship","starship-prompt","typescript","vscode"],"created_at":"2024-08-01T18:01:22.939Z","updated_at":"2025-04-14T16:21:07.367Z","avatar_url":"https://github.com/nberlette.png","language":"Dockerfile","funding_links":["https://ko-fi.com/nberlette"],"categories":["cli"],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003e\u003ca href=\"https://github.com/nberlette/gitpod-enhanced\"\u003e\u003ccode\u003egitpod-enhanced\u003c/code\u003e\u003c/a\u003e\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://gitpod.io/#https://github.com/nberlette/gitpod-enhanced\" target=\"_blank\" title=\"Open in Gitpod: Ready to Code\"\u003e\u003cimg src=\"https://img.shields.io/badge/Prebuild-READY%20%E2%86%97-brightgreen.svg?logo=gitpod\u0026style=for-the-badge\" alt=\"Open in Gitpod: Ready to Code\" /\u003e\u003c/a\u003e\n  \u003cimg src=\"https://img.shields.io/badge/Bash-gray.svg?logo=gnubash\u0026logoColor=white\u0026style=for-the-badge\" alt=\"GNU Bash: Bourne Again Shell\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PNPM-gray.svg?logo=pnpm\u0026logoColor=white\u0026style=for-the-badge\" alt=\"PNPM: Performant Node Package Management\" /\u003e\n  \u003cimg src=\"https://img.shields.io/badge/TypeScript-gray.svg?logo=typescript\u0026logoColor=white\u0026style=for-the-badge\" alt=\"PNPM: Performant Node Package Management\" /\u003e\n\u003c/div\u003e\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\nTurbocharged [Gitpod.io](https://gitpod.io) [workspace image](https://hub.docker.com/r/nberlette/gitpod-enhanced) (built on-top of the official [**gitpod/workspace-full**](https://hub.docker.com/r/gitpod/workspace-full)) with some tasteful enhancements to improve developer experience.\n\n\u003c/div\u003e\n\n\n---  \n\n## Getting Started\n\n```yaml\n# add to .gitpod.yml\n\nimage: nberlette/gitpod-enhanced\n```\n\n\n---\n\n## Features\n\n### Git Enhancements\n\n- Displays git info with ([`git-prompt.sh` from official git repo](https://git.io/git-ps1))\n- [GitHub CLI](https://cli.github.com), [`git-extras`](https://github.com/tj/git-extras), `fzf`, and `neovim`\n- [GPG support](#gpg-support) for PGP-signing commits (with VSCode integration)\n\n### Package Management\n\n- [`pnpm`](https://npm.im/pnpm), [`degit`](https://npm.im/degit), [`@antfu/ni`](https://npm.im/@antfu/ni) for simple package management\n- [`typescript`](https://typescriptlang.org), [`ts-node`](https://npm.im/ts-node), [`ts-standard`](https://npm.im/ts-standard)\n- `yarn global bin` prepended to the `$PATH` (e.g. allows command `next` instead of `npx next`!)\n\n### Other terminal addons\n\n- Installs sensible defaults for `ls`, `diff`, `grep` - all with `color`\n- Bundled with many useful aliases, tools, and various other functional upgrades\n- Removes duplicate entries from `$PATH` variable\n\n---  \n\n## Configuration\n\n\u003e For more details on builtin workspace features, see the [Gitpod documentation](https://gitpod.io/docs/configuration.html).  \n\n\n### GitHub CLI Authentication\n\nI'm currently working (on minimal bandwidth) to integrate the newly-released `dotfiles` support with gitpod-enhanced, which will allow for a lot more streamlined configuration for settings such as this.\n\nUntil then, however, we have only the finest of janky solutions!\n\n```bash\nGITHUB_TOKEN=\"ghp_2ed23idj023ijmdjqkfewjdsnfe\"\n\n# set with gitpod's CLI:\neval $(gp env -e GITHUB_TOKEN=$GITHUB_TOKEN)\n```\n\nSetting the $GITHUB_TOKEN variable with a properly-scoped PAT (personal access token), will direct `gitpod-enhanced` to automatically authenticate your account with the GitHub CLI.  \n\nThis means you'll be able to use the full list of features as soon as you fire up your workspaces!  \n\n---  \n\n### GPG Support\n\nI've recently included (experimental) support for GPG commit signatures, via the command line or Visual Studio Code UI.\n\nIf you create a new PGP key within a Gitpod workspace using the GitHub CLI (`gh`), it's pretty straightforward:\n\n```bash\n# find \u003ckey-id\u003e using gpg (or in output of `gh keys`)\ngpg --list-secret-keys --keyid-format LONG\n\n# save as $GPG_KEY_ID\nGPG_KEY_ID=\"\u003ckey-id\u003e\"\n\n# export to gitpod\ngp env GPG_KEY=$(gpg --export-secret-keys $GPG_KEY_ID | base64 -w 0)\n\n# saves key-id; exports all gp vars to current workspace\neval $(gp env -e GPG_KEY_ID=$GPG_KEY_ID)\n\n# source our .bashrc file for changes to take effect\nsource ~/.bashrc\n```\n\n---\n\n### Formatting `PS1` and `GIT_PS1`\n\nThe `GIT_PS1_` environment variables control the functions and display of the git-integrated shell prompt.\n\nThese are the currently available options and their default:\n\n```bash\nGIT_PS1_SHOWCOLORHINTS=\"1\"\nGIT_PS1_SHOWDIRTYSTATE=\"1\"\nGIT_PS1_SHOWSTASHSTATE=\"\"\nGIT_PS1_SHOWUNTRACKEDFILES=\"\"\nGIT_PS1_SHOWUPSTREAM=\"auto\"\nGIT_PS1_OMITSPARSESTATE=\"1\"\nGIT_PS1_STATESEPARATOR=\"\"\nGIT_PS1_DESCRIBE_STYLE=\"tag\"\nGIT_PS1_HIDE_IF_PWD_IGNORED=\"1\"\n```\n\nThe last three options are `GIT_PS1_PREFIX`, `GIT_PS1_SUFFIX`, `GIT_PS1_FORMAT`. \nThese allow you to change the colors and format of the surrounding `PS1` prompt string. \n\n```bash\nGIT_PS1_PREFIX=\"\\[\\e]0;\\u \\W\\e\\]\\[\\e[1;7;33m\\] \\u \\[\\e[0;7;36m\\] \\w \\[\\e[0;1m\\] git:(\"\nGIT_PS1_SUFFIX=\"\\[\\e[1m\\])\\[\\e[0m\\]\\n\\[\\e[1;32;6m\\]\\$\\[\\e[0m\\] \"\nGIT_PS1_FORMAT=\"%s\"\n```\n\nThey have no `git config` equivalent, and must be set in `settings.json`, the Gitpod Dashboard, or through the command `gp env` in the terminal:\n\n```bash\neval $(gp env -e GIT_PS1_PREFIX=\"\\[\\e[1m\\] \\w \\[\\e[0m\\] ... \")\n```\n\n---\n\n\u003e You may change/remove any of these (with scope!) in **Dashboard \u003e Settings \u003e Variables**.\n\n### Override via `.vscode/settings.json`\n\n```jsonc\n// .vscode/settings.json\n{\n  \"terminal.integrated.env.linux\": {\n    \"GIT_PS1_SHOWUPSTREAM\": \"auto verbose name\",\n    \"GIT_PS1_SHOWUNTRACKEDFILES\": \"\"\n  }\n}\n```\n\n---  \n\n### Override via `.gitpod.yml`\n\n```yaml\n# .gitpod.yml\ngitConfig:\n  bash.showUpstream: \"false\"\n  bash.hideIfPwdIgnored: \"false\"\n```\n\nNote: only ***some*** of the variables have an equivalent `git config` value, which allows you to override them on a per-repository level, right from the `.gitpod.yml` configuration file.\n\n---\n\n\n## Contributing\n\nCommunity contributions are paramount to the success of Open Source projects such as this, and maintainers like me rely on people like you to help keep the code alive. **You are more than welcome** to make any contributions, and I highly encourage you to make a pull request - regardless of whether you're adding, editing, or deleting code. It's all welcome here.\n\n---  \n\n## Code of Conduct\n\nPlease [read the guidelines for contributing](./.github/CONTRIBUTING.md), as well as our [community code of conduct](./.github/CODE_OF_CONDUCT.md) before you make any contributions. Once you feel familiar with them, if you have any questions just [open an issue](./issues) or contact me.\n\n---\n\n## License\n\n[MIT](https://mit-license.org) © 2022 [Nicholas Berlette](https://github.com/nberlette) • all rights reserved\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Fgitpod-enhanced","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnberlette%2Fgitpod-enhanced","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnberlette%2Fgitpod-enhanced/lists"}