Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jellyterra/space-bwrap
Isolated workspace based on bubblewrap.
https://github.com/jellyterra/space-bwrap
bubblewrap sandbox workspace
Last synced: 1 day ago
JSON representation
Isolated workspace based on bubblewrap.
- Host: GitHub
- URL: https://github.com/jellyterra/space-bwrap
- Owner: jellyterra
- License: mit
- Created: 2024-04-23T09:38:54.000Z (7 months ago)
- Default Branch: master
- Last Pushed: 2024-05-08T08:28:05.000Z (6 months ago)
- Last Synced: 2024-05-09T08:41:37.460Z (6 months ago)
- Topics: bubblewrap, sandbox, workspace
- Language: Shell
- Homepage:
- Size: 10.7 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# space-bwrap
Isolated workspace based on bubblewrap.
`swrap` and `swrap-lesser` are implementations written in Python.
`swrap.sh` is the deprecated implementation written in Bash.
## Usage
### swrap
```
swrap (name) [cmdline ...]
```**swrap** bind-mounts the directories or sockets listed below:
Bind device:
- `/dev`
Bind in **read-only** to:
- `/etc`
- `/opt`
- `/sys`
- `/usr`
- `/run/dbus`
- `/run/systemd`
- `/tmp/.X11-unix`
- `$XAUTHORITY`
- `$XDG_RUNTIME_DIR/bus`
- `$XDG_RUNTIME_DIR/pulse`
- `$XDG_RUNTIME_DIR/pipewire-0`
- `$XDG_RUNTIME_DIR/$WAYLAND_DISPLAY`Bind in **read-write** to:
- `$SPACE/home/$1` => `$HOME`
- `$SPACE/home/$1` => `$SPACE/home/$HOME`### swrap-lesser
**swrap-lesser** allows running applications which put their sockets under `/tmp`, such as Chrome.
```
swrap-lesser (name) [cmdline ...]
```**In additinon to swrap.**
Bind in **read-write**:
- `/tmp`
- `/data`
- `/exdata`## Create workspace
Declare where the `$SPACE` is.
```
. -> required by $SPACE
└── home/ -> required
├── dev/
│ ├── .bashrc
│ ├── .config/
│ └── .local/
└── chrome/
├── .bashrc
├── .config/
└── .local/
``````shell
# bash
swrap dev# VSCode
swrap dev /opt/vscode/code# Chromium
swrap-lesser chrome chromium-browser# New tab will be opened in an existing session.
swrap-lesser chrome chromium-browser
```