Skip to content

☁️ From tty to production in one command, on the desktop and in the cloud.

Notifications You must be signed in to change notification settings

sabrehagen/desktop-environment

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

☁️ Cloud Desktop Environment

My daily driver on the desktop and in the cloud.

desktop desktop desktop desktop desktop desktop

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

  • A computer wholly defined in code.
  • From zero to production in one command.
  • 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