{"id":26922669,"url":"https://github.com/jmcombs/powershell","last_synced_at":"2026-05-08T09:34:16.669Z","repository":{"id":284188812,"uuid":"953219071","full_name":"jmcombs/powershell","owner":"jmcombs","description":"LTS versions of PowerShell Core and .NET Core in Linux Container","archived":false,"fork":false,"pushed_at":"2026-04-19T00:42:27.000Z","size":94,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-19T02:40:11.654Z","etag":null,"topics":["docker","dotnetcore","powershellcore"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jmcombs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"jmcombs"}},"created_at":"2025-03-22T20:56:54.000Z","updated_at":"2026-04-19T00:42:30.000Z","dependencies_parsed_at":"2025-08-20T01:19:08.747Z","dependency_job_id":"e83be93d-e622-47c2-9749-c9b7b3f600af","html_url":"https://github.com/jmcombs/powershell","commit_stats":null,"previous_names":["jmcombs/powershell"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jmcombs/powershell","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcombs%2Fpowershell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcombs%2Fpowershell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcombs%2Fpowershell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcombs%2Fpowershell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jmcombs","download_url":"https://codeload.github.com/jmcombs/powershell/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jmcombs%2Fpowershell/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32775024,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["docker","dotnetcore","powershellcore"],"created_at":"2025-04-02T00:29:18.370Z","updated_at":"2026-05-08T09:34:16.661Z","avatar_url":"https://github.com/jmcombs.png","language":"Shell","funding_links":["https://github.com/sponsors/jmcombs"],"categories":[],"sub_categories":[],"readme":"# powershell\n\nLTS versions of PowerShell Core and .NET Core in Linux. Published for 64-bit `x86` and `ARM` architectures.\n\n\u003cdiv align=\"center\"\u003e\n\n![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/jmcombs/powershell/ci.yml?logo=github)\n[![Docker Pulls](https://img.shields.io/docker/pulls/jmcombs/powershell)](https://hub.docker.com/r/jmcombs/powershell \"Click to view the image on Docker Hub\")\n[![Docker Stars](https://img.shields.io/docker/stars/jmcombs/powershell)](https://hub.docker.com/r/jmcombs/powershell \"Click to view the image on Docker Hub\")\n[![Github Issues](https://img.shields.io/github/issues/jmcombs/powershell)](https://github.com/jmcombs/powershell/issues \"Click to view or open issues\")\n[![GitHub Sponsors](https://img.shields.io/github/sponsors/jmcombs)](https://github.com/sponsors/jmcombs \"Sponsor this project\")\n[![Oh My Posh](https://img.shields.io/badge/Prompt-Oh%20My%20Posh-1abc9c?logo=powershell)](https://ohmyposh.dev/ \"Oh My Posh documentation\")\n[![Blue PSL 10K Theme](https://img.shields.io/badge/Theme-Blue%20PSL%2010K-3465a4?logo=powershell)](https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/blue-psl-10k.omp.json \"Blue PSL 10K theme\")\n\n\u003c/div\u003e\n\n## About\n\nThis container is based on the the latest Long Term Support (LTS) [Ubuntu (Docker Official Image)](https://hub.docker.com/_/ubuntu) image along with the latest LTS releases of .NET Core Runtime and PowerShell Core.\n\n### **Sponsorship**\n\nIf this image is part of your daily workflow—whether as an individual developer or in your team's CI/CD pipelines—consider [sponsoring on GitHub](https://github.com/sponsors/jmcombs). Sponsorship helps fund ongoing maintenance, timely .NET and PowerShell LTS updates, and improvements to the prompt and testing infrastructure relied on in automated environments.\n\n### Enhanced Prompt Features\n\nThis container includes an enhanced PowerShell experience with:\n\n- \u003ca href=\"https://ohmyposh.dev/\" target=\"_blank\" rel=\"noreferrer noopener\"\u003e\u003cstrong\u003eOh My Posh\u003c/strong\u003e\u003c/a\u003e with \u003ca href=\"https://github.com/JanDeDobbeleer/oh-my-posh/blob/main/themes/blue-psl-10k.omp.json\" target=\"_blank\" rel=\"noreferrer noopener\"\u003e\u003cstrong\u003eBlue PSL 10K theme\u003c/strong\u003e\u003c/a\u003e - Beautiful two-line prompt with Git integration, execution time, and multi-language support\n- \u003ca href=\"https://github.com/devblackops/Terminal-Icons\" target=\"_blank\" rel=\"noreferrer noopener\"\u003e\u003cstrong\u003eTerminal-Icons\u003c/strong\u003e\u003c/a\u003e - Colorized directory listings with file type icons (pre-installed)\n- \u003ca href=\"https://learn.microsoft.com/powershell/module/psreadline/\" target=\"_blank\" rel=\"noreferrer noopener\"\u003e\u003cstrong\u003ePSReadLine\u003c/strong\u003e\u003c/a\u003e - Enhanced command-line editing with predictive IntelliSense (pre-installed)\n- **Nerd Font support** - Icons and glyphs for improved visual experience (requires host font configuration)\n\n## Versions\n\nThis repository does automated weekly builds with the latest published LTS versions of .NET Core and PowerShell Core. Below are the current versions included in the latest build.\n\n| Component         | Version |\n| ----------------- | ------- |\n| .NET Core Runtime | 10.0.7  |\n| PowerShell Core   | 7.4.15   |\n\n## How to Use\n\n### **Requirements**\n\n- Container's non-root and default user is `coder`\n- Container's default shell is `pwsh`\n- Container's default working directory is `/home/coder`\n- Host terminal must use a Nerd Font (for example, MesloLGM Nerd Font) for prompt icons; fonts are installed on the host, not inside the container.\n- Oh My Posh with Blue PSL 10K theme is enabled by default; see [Environment Variables](#environment-variables) for customization options.\n\n### **Running Container**\n\n```shell\n# Default - Blue PSL 10K theme (works offline, no internet required)\ndocker run -it jmcombs/powershell\n```\n\n### **Environment Variables**\n\nCustomize the Oh My Posh prompt behavior at runtime using environment variables:\n\n| Variable          | Default   | Description                                                   |\n| ----------------- | --------- | ------------------------------------------------------------- |\n| `ENABLE_OHMYPOSH` | `true`    | Set to `false` or `0` to disable Oh My Posh entirely          |\n| `OHMYPOSH_THEME`  | _(empty)_ | Theme name or URL; if empty, uses embedded Blue PSL 10K theme |\n\n#### Examples\n\n```shell\n# Disable Oh My Posh (use basic PowerShell prompt)\ndocker run -it -e ENABLE_OHMYPOSH=false jmcombs/powershell\n\n# Use a built-in Oh My Posh theme (downloads from GitHub)\ndocker run -it -e OHMYPOSH_THEME=atomic jmcombs/powershell\ndocker run -it -e OHMYPOSH_THEME=jandedobbeleer jmcombs/powershell\ndocker run -it -e OHMYPOSH_THEME=paradox jmcombs/powershell\n\n# Use a custom theme from URL\ndocker run -it -e OHMYPOSH_THEME=https://example.com/my-theme.omp.json jmcombs/powershell\n```\n\n### **Theme Fallback Behavior**\n\nThe container implements a robust fallback hierarchy:\n\n1. **Primary**: Uses theme specified in `OHMYPOSH_THEME` (if set)\n2. **Fallback**: If the specified theme fails to load, automatically falls back to embedded Blue PSL 10K theme\n3. **Basic**: If all else fails, uses the basic PowerShell prompt\n\nThis ensures the container always starts with a working prompt, even without internet connectivity.\n\n## Development\n\n### **Testing**\n\nThis repository uses [bats-core](https://github.com/bats-core/bats-core) for both unit and integration tests.\n\n- **Unit tests (`tests/unit/`)** validate local behavior such as script structure, helper functions, environment file validation, and PowerShell profile logic. They do not require network access.\n- **Integration tests (`tests/integration/`)** run the version discovery script against the live Microsoft and GitHub endpoints and exercise the built Docker image with various environment variable configurations. These tests require network access and Docker.\n\n**Test Coverage:**\n\n- .NET and PowerShell LTS version discovery\n- Docker image build and runtime behavior\n- Oh My Posh environment variables (`ENABLE_OHMYPOSH`, `OHMYPOSH_THEME`)\n- Container info display control (`SHOW_CONTAINER_INFO`)\n- Theme loading (default, built-in, custom URL, fallback scenarios)\n- PowerShell profile initialization and module loading\n\nTo run tests locally:\n\n```shell\n# Install bats-core (if not already installed)\ngit clone https://github.com/bats-core/bats-core.git\ncd bats-core \u0026\u0026 sudo ./install.sh /usr/local\n\n# Run offline unit tests\nbats tests/unit/\n\n# Run live integration tests (requires network and Docker)\nbats tests/integration/\n```\n\n### **Contributing**\n\nPlease see [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines on contributing to this project.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmcombs%2Fpowershell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjmcombs%2Fpowershell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjmcombs%2Fpowershell/lists"}