☁️ Cloud Desktop Environment
My daily driver on the desktop and in the cloud.
Running on the Desktop
The only dependency required is Docker.
To run on Linux, clone the repository and start the environment.
# 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 to the repository secrets as
NGROK_AUTH_TOKEN
to enable web access.
- Enable read and write permissions on your fork to allow GitHub Actions to push to your repository's container registry.
- Run the Deploy Desktop Environment 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 repository to deploy the desktop environment to Google Cloud.
Project Goals
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