{"id":14980439,"url":"https://github.com/bruxisma/atmosphere","last_synced_at":"2025-10-11T23:11:03.818Z","repository":{"id":40250157,"uuid":"220743854","full_name":"bruxisma/atmosphere","owner":"bruxisma","description":"PowerShell Cmdlet for working with Environment Variables","archived":false,"fork":false,"pushed_at":"2025-07-14T05:16:29.000Z","size":286,"stargazers_count":11,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-14T07:36:07.372Z","etag":null,"topics":["env-vars","environment-variables","environment-vars","powershell","powershell-core","powershell-module"],"latest_commit_sha":null,"homepage":"https://www.powershellgallery.com/packages/Atmosphere","language":"C#","has_issues":false,"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/bruxisma.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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},"funding":{"github":"bruxisma"}},"created_at":"2019-11-10T05:02:35.000Z","updated_at":"2025-07-14T05:16:31.000Z","dependencies_parsed_at":"2023-10-31T23:30:29.190Z","dependency_job_id":"97ca4859-1d76-4286-8025-899cf0bfabc1","html_url":"https://github.com/bruxisma/atmosphere","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/bruxisma/atmosphere","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruxisma%2Fatmosphere","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruxisma%2Fatmosphere/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruxisma%2Fatmosphere/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruxisma%2Fatmosphere/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bruxisma","download_url":"https://codeload.github.com/bruxisma/atmosphere/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bruxisma%2Fatmosphere/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279009353,"owners_count":26084578,"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","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"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":["env-vars","environment-variables","environment-vars","powershell","powershell-core","powershell-module"],"created_at":"2024-09-24T14:01:46.765Z","updated_at":"2025-10-11T23:11:03.787Z","avatar_url":"https://github.com/bruxisma.png","language":"C#","readme":"# Overview\n\nAtmosphere is a Powershell Core module for pushing, popping, getting, setting,\nupdating, and importing environment variables. It currently works on Windows,\nmacOS, and Linux. It's released under the MIT License.\n\n[![Build and Tests][test-badge]][test-link]\n[![Package][package-badge]][package-link]\n[![codecov][coverage-badge]][coverage-link]\n\n# Installation\n\n## Install-Module\n\nAtmosphere is currently published on the [Powershell Gallery][]:\n\n```powershell\nInstall-Module -Name Atmosphere\n```\n\nIf you are not in an administrator powershell instance, and lack the ability to\nlaunch one, simply install into `CurrentUser` scope.\n\n```powershell\nInstall-Module -Name Atmosphere -Scope CurrentUser\n```\n\nImplicit module importing should handle the rest.\n\n## Building from source\n\nAtmosphere is written directly in C# for performance, and as an example for\nothers who want to know how to write so-called \"native\" Powershell Modules. To\nbuild, simply use the `dotnet` command.\n\n```powershell\ndotnet build --nologo --configuration Release\n```\n\n# Usage\n\nAtmosphere provides several cmdlets for use\n\n## Basic Usage\n\nThe most basic commands are setting and getting environment variables\n\n```powershell\nSet-EnvironmentVariable -Name \u003cString\u003e -Value \u003cString\u003e -Scope {Process|Machine|User}\n```\n\nSets the environment variable `-Name` to the `-Value` given.\nUse `Set-EnvironmentPathVariable` if setting multiple filepaths is desired.\n\nIf `-Scope` is not `Process` and the current operating system is not Windows,\nit will be set to `Process`. The default value for `-Scope` is `Process`, and\nrarely needs to be specified.\n\n```powershell\nGet-EnvironmentVariable -Name \u003cName\u003e -Scope {Process|Machine|User}\n```\n\nReturns the value of the Environment Variable `-Name`. If no value is set, or\nthe variable does not exist, an empty string is returned.\n\nSee `Set-EnvironmentVariable` for information on the `-Scope` parameter.\n\n## Getting Lists of Paths\n\nThere are some environment variables where a path separator is provided.\nHaving to constantly split these apart can be time consuming and as a result\nAtmosphere provides *both* a generalized command to receive any environment\nvariable as a list of paths or specific well known environment variables as a\nlist of paths.\n\n```powershell\nGet-EnvironmentPath -Name PSModulePath\n```\n\nThe following command (`Get-PSModulePath`) is functionally the same as the\nexample found above.\n\n```powershell\nGet-PSModulePath\n```\n\n## Pushing and Popping\n\nAtmosphere has an internal \"stack\" of environment variable states. This allows\nusers to push and pop their current state to permit temporary modifications to\nand rollbacks of the set of environment variables in a given powershell\ninstance.\n\n```powershell\nPush-Environment\nSet-EnvironmentVariable -Name DOCKER_BUILDKIT -Value 1\n\u003c# Put Docker Related Commands Here #\u003e\nPop-Environment\n```\n\n## Updating and Importing\n\nAtmosphere provides a small command to permit appending (or prepending)\ndata to an environment variable. Additionally, we can also \"import\"\nenvironments, such as dotenv (.env), JSON, and PSD1 (powershell data) files.\n\nPlease note that at the moment we *only* support importing from a JSON file,\nwhere the expected layout is `{ \"key\": \"value\" }`.\n\n[Powershell Gallery]: https://www.powershellgallery.com/\n[coverage-badge]: https://codecov.io/gh/bruxisma/atmosphere/branch/main/graph/badge.svg?token=8NXYMFOUP7\n[coverage-link]: https://codecov.io/gh/bruxisma/atmosphere\n[package-badge]: https://github.com/bruxisma/atmosphere/workflows/Package/badge.svg\n[package-link]: https://github.com/bruxisma/atmosphere/actions/workflows/package.yml\n[test-badge]: https://github.com/bruxisma/atmosphere/workflows/Build%20and%20Test/badge.svg\n[test-link]: https://github.com/bruxisma/atmosphere/actions/workflows/build.yml\n","funding_links":["https://github.com/sponsors/bruxisma"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbruxisma%2Fatmosphere","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbruxisma%2Fatmosphere","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbruxisma%2Fatmosphere/lists"}