mirror of
https://github.com/kingomarnajjar/desktop-environment.git
synced 2026-07-26 06:37:21 +10:00
93 lines
3 KiB
Markdown
93 lines
3 KiB
Markdown
# ☁️ Cloud Desktop Environment
|
|
|
|
My [daily driver](https://github.com/users/sabrehagen/packages/container/package/desktop-environment) on the desktop and in the cloud.
|
|
|
|

|
|

|
|

|
|

|
|

|
|

|
|
|
|
## Running on the Desktop
|
|
|
|
The only dependency required is [Docker](https://docs.docker.com/install).
|
|
|
|
To run on Linux, clone the repository and start the environment.
|
|
|
|
```sh
|
|
# Clone desktop environment
|
|
git clone https://github.com/sabrehagen/desktop-environment
|
|
|
|
# Start desktop environment
|
|
./desktop-environment/docker/scripts/recycle.sh
|
|
```
|
|
|
|
## Running in the Cloud
|
|
|
|
- Fork this repository.
|
|
- Add your [ngrok auth token](https://dashboard.ngrok.com/login) to the repository secrets as `NGROK_AUTH_TOKEN` to enable web access.
|
|
- Enable [read and write permissions](../../settings/actions) on your fork to allow GitHub Actions to push to your repository's container registry.
|
|
- Run the [Deploy Desktop Environment](../../actions/workflows/deploy.yml) GitHub Actions workflow to deploy the desktop environment to GitHub's Actions infrastructure.
|
|
- Click the Cloud Desktop Environment URL printed in the output of the `Get URL` workflow step.
|
|
|
|
Fork the [cloud-computer/cloud-computer](https://github.com/cloud-computer/cloud-computer) repository to deploy the desktop environment to Google Cloud.
|
|
|
|
## Project Goals
|
|
|
|
- [x] A computer wholly defined in code.
|
|
- [x] From zero to production in one command.
|
|
- [x] Consistent experience across cloud and desktop.
|
|
|
|
## Keybindings
|
|
|
|
Inexhaustive list of keybindings. Check `~/.config/i3/config` for all available bindings.
|
|
|
|
### System Management
|
|
|
|
- Restart the desktop environment: `$mod+Shift+q`
|
|
- Lock screen: `$mod+slash`
|
|
|
|
### Window Focus and Movement
|
|
|
|
Vim-style bindings for focusing and moving windows.
|
|
|
|
- Focus left: `$mod+h`
|
|
- Focus down: `$mod+j`
|
|
- Focus up: `$mod+k`
|
|
- Focus right: `$mod+l`
|
|
- Move focused window left: `$mod+Shift+h`
|
|
- Move focused window down: `$mod+Shift+j`
|
|
- Move focused window up: `$mod+Shift+k`
|
|
- Move focused window right: `$mod+Shift+l`
|
|
- Resize gaps: `$mod+equal` and `$mod+Shift+equal`
|
|
|
|
### Workspace Management
|
|
|
|
- Create a new workspace: `$mod+n`
|
|
- Move the focused window to a new workspace: `$mod+Shift+n`
|
|
- Switch to adjacent workspace: `$mod+Control+h` or `$mod+Control+l`
|
|
- Switch to workspace n: `$mod+1` to `$mod+0`
|
|
- Switch to previous workspace: `$mod+minus`
|
|
|
|
### Application Launching
|
|
|
|
- Launch alacritty terminal: `$mod+return`
|
|
- Launch google chrome: `$mod+b`
|
|
- Launch vs code: `$mod+c`
|
|
- Launch discord: `$mod+d`
|
|
- Launch pcmanfm file manager: `$mod+e`
|
|
- Launch telegram: `$mod+t`
|
|
- Launch screenshot: `$mod+x`
|
|
|
|
### Monitor Management
|
|
|
|
- Move the focused window to the left monitor: `$mod+less`
|
|
- Move the focused window to the right monitor: `$mod+greater`
|
|
|
|
### Scratchpad
|
|
|
|
- Show gotop: `$mod+escape`
|
|
- Show terminal: `$mod+grave`
|
|
- Show volume: `$mod+v`
|
|
- Show wifi: `$mod+i`
|