{"id":20261106,"url":"https://github.com/jellyterra/space-bwrap","last_synced_at":"2026-05-06T14:37:13.938Z","repository":{"id":235459890,"uuid":"790659801","full_name":"jellyterra/space-bwrap","owner":"jellyterra","description":"Isolated workspace based on bubblewrap.","archived":false,"fork":false,"pushed_at":"2024-10-12T03:54:43.000Z","size":13,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-14T04:23:51.896Z","etag":null,"topics":["bubblewrap","sandbox","workspace"],"latest_commit_sha":null,"homepage":"","language":"Python","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/jellyterra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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}},"created_at":"2024-04-23T09:38:54.000Z","updated_at":"2024-11-04T14:12:55.000Z","dependencies_parsed_at":"2024-11-14T11:29:07.082Z","dependency_job_id":"e90407ea-059a-47eb-88cb-cd45db3d848b","html_url":"https://github.com/jellyterra/space-bwrap","commit_stats":null,"previous_names":["jellyterra/space-bwrap"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyterra%2Fspace-bwrap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyterra%2Fspace-bwrap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyterra%2Fspace-bwrap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jellyterra%2Fspace-bwrap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jellyterra","download_url":"https://codeload.github.com/jellyterra/space-bwrap/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241721966,"owners_count":20009272,"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":["bubblewrap","sandbox","workspace"],"created_at":"2024-11-14T11:23:56.813Z","updated_at":"2025-11-29T15:03:13.092Z","avatar_url":"https://github.com/jellyterra.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# space-bwrap\n\nIsolated workspace based on bubblewrap.\n\n`swrap` and `swrap-lesser` are implementations written in Python.\n\n`swrap.sh` is the deprecated implementation written in Bash.\n\n## Usage\n\n### swrap\n\n```\nswrap (name) [cmdline ...]\n```\n\n**swrap** bind-mounts the directories or sockets listed below:\n\nBind device:\n\n- `/dev`\n\nBind in **read-only** to:\n\n- `/etc`\n- `/opt`\n- `/sys`\n- `/usr`\n- `/run/dbus`\n- `/run/systemd`\n- `/tmp/.X11-unix`\n- `$XAUTHORITY`\n- `$XDG_RUNTIME_DIR/bus`\n- `$XDG_RUNTIME_DIR/pulse`\n- `$XDG_RUNTIME_DIR/pipewire-0`\n- `$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY`\n\nBind in **read-write** to:\n\n- `$SPACE/home/$1` =\u003e `$HOME`\n- `$SPACE/home/$1` =\u003e `$SPACE/home/$HOME`\n\n### swrap-lesser\n\n**swrap-lesser** allows running applications which put their sockets under `/tmp`, such as Chrome.\n\n```\nswrap-lesser (name) [cmdline ...]\n```\n\n**In additinon to swrap.**\n\nBind in **read-write**:\n\n- `/tmp`\n- `/data`\n- `/exdata`\n\n## Create workspace\n\nDeclare where the `$SPACE` is.\n\n```\n. -\u003e required by $SPACE\n└── home/ -\u003e required\n    ├── dev/\n    │   ├── .bashrc\n    │   ├── .config/\n    │   └── .local/\n    └── chrome/\n        ├── .bashrc\n        ├── .config/\n        └── .local/\n```\n\n```shell\n# bash\nswrap dev\n\n# VSCode\nswrap dev /opt/vscode/code\n\n# Chromium\nswrap-lesser chrome chromium-browser\n\n# New tab will be opened in an existing session.\nswrap-lesser chrome chromium-browser\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellyterra%2Fspace-bwrap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjellyterra%2Fspace-bwrap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjellyterra%2Fspace-bwrap/lists"}