{"id":19342161,"url":"https://github.com/dontlaugh/oils-container","last_synced_at":"2026-06-11T01:31:29.061Z","repository":{"id":250490303,"uuid":"834569766","full_name":"dontlaugh/oils-container","owner":"dontlaugh","description":"YSH and OSH shells in a container","archived":false,"fork":false,"pushed_at":"2024-07-27T21:18:36.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-11-17T01:21:31.245Z","etag":null,"topics":["oils","osh","shell","ysh"],"latest_commit_sha":null,"homepage":"https://quay.io/repository/chroot.club/oils","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/dontlaugh.png","metadata":{"files":{"readme":"README.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}},"created_at":"2024-07-27T17:07:09.000Z","updated_at":"2024-07-27T21:18:40.000Z","dependencies_parsed_at":"2024-11-10T03:34:01.216Z","dependency_job_id":null,"html_url":"https://github.com/dontlaugh/oils-container","commit_stats":null,"previous_names":["dontlaugh/ysh-container"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dontlaugh/oils-container","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontlaugh%2Foils-container","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontlaugh%2Foils-container/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontlaugh%2Foils-container/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontlaugh%2Foils-container/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dontlaugh","download_url":"https://codeload.github.com/dontlaugh/oils-container/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dontlaugh%2Foils-container/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34178819,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"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":["oils","osh","shell","ysh"],"created_at":"2024-11-10T03:33:54.555Z","updated_at":"2026-06-11T01:31:29.042Z","avatar_url":"https://github.com/dontlaugh.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# oils-container\n\n[![Container Repository on Quay](https://quay.io/repository/chroot.club/oils/status \"Container Repository on Quay\")](https://quay.io/repository/chroot.club/oils)\n\nYSH and OSH shells in a container\n\n## Build\n\nInstall `buildah` and `podman`.\n\nAvailable releases are listed at https://www.oilshell.org/releases.html\n\nChoose a release version, its checksum, and set a tag for your image.\n\n```sh\nversion=\"0.22.0\"\nchecksum=\"7ad64ad951faa9b8fd310fc17df0a93291e041ab75311aca1bc85cbbfa7ad45f\"\nimage_tag=\"quay.io/chroot.club/oils:v${version}-debian\"\n```\n\nRun the following command.\n\n```sh\nbuildah unshare ./container.sh $version $checksum $image_tag\n```\n\nOr do this if you have `ysh` on your workstation.\n\n\n```sh\nbuildah unshare ./container.ysh $version $checksum $image_tag\n```\n\nAn `unshare` session is required, because our container.sh script\nmounts the root filesystems of two working containers. This operation\nwould require root privileges otherwise. See `man buildah-unshare`.\n\n## Usage\n\nOils is actually two shells\n\n* `osh` - a new POSIX-compatible shell implementation to run your existing scripts\n* `ysh` - a brand new shell language with better defaults, structured\n          data types, and more\n\nCurrently, both shells are implemented by the `oils-for-unix` binary, and are\ninvoked via symlinks. The language (YSH or OSH) is chosen at runtime based on\nwhether `ysh` or `osh` is invoked.\n\nAnyway, do one of these.\n\n```\npodman run --rm quay.io/chroot.club/oils:v0.22.0-debian osh -c 'echo hi from a POSIX shell'\npodman run --rm quay.io/chroot.club/oils:v0.22.0-debian ysh -c '\n    var wow = { native: [\"json\", \"support\"] }\n    echo \"omg a new shell with\"\n    json write (wow)\n'\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdontlaugh%2Foils-container","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdontlaugh%2Foils-container","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdontlaugh%2Foils-container/lists"}