Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sabrehagen/desktop-environment
☁️ From tty to production in one command, on the desktop and in the cloud.
https://github.com/sabrehagen/desktop-environment
alacritty alsamixer cloud-native desktop-environment docker dunst git gotop gtk i3 i3wm pywal terraform tmux vcsh x11 xava zsh
Last synced: 5 days ago
JSON representation
☁️ From tty to production in one command, on the desktop and in the cloud.
- Host: GitHub
- URL: https://github.com/sabrehagen/desktop-environment
- Owner: sabrehagen
- Created: 2019-01-10T09:21:05.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-23T03:46:39.000Z (17 days ago)
- Last Synced: 2024-12-28T23:12:31.963Z (11 days ago)
- Topics: alacritty, alsamixer, cloud-native, desktop-environment, docker, dunst, git, gotop, gtk, i3, i3wm, pywal, terraform, tmux, vcsh, x11, xava, zsh
- Language: Dockerfile
- Homepage:
- Size: 584 KB
- Stars: 162
- Watchers: 10
- Forks: 26
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ☁️ Cloud Desktop Environment
My [daily driver](https://github.com/users/sabrehagen/packages/container/package/desktop-environment) on the desktop and in the cloud.
![desktop](https://i.imgur.com/yv34lxO.png)
![desktop](https://i.imgur.com/Mi40odG.png)
![desktop](https://i.imgur.com/LZvxAnW.jpg)
![desktop](https://i.imgur.com/jm4RrKw.jpg)
![desktop](https://i.imgur.com/C1eBDKX.jpg)
![desktop](https://i.imgur.com/n3YUPD9.png)## 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](../../settings/secrets/actions/new) 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`