{"id":16616949,"url":"https://github.com/sabrehagen/desktop-environment","last_synced_at":"2025-04-04T13:09:07.870Z","repository":{"id":39535615,"uuid":"165029467","full_name":"sabrehagen/desktop-environment","owner":"sabrehagen","description":"☁️ From tty to production in one command, on the desktop and in the cloud.","archived":false,"fork":false,"pushed_at":"2025-03-04T06:58:21.000Z","size":624,"stargazers_count":171,"open_issues_count":3,"forks_count":27,"subscribers_count":9,"default_branch":"master","last_synced_at":"2025-03-28T01:49:56.841Z","etag":null,"topics":["alacritty","alsamixer","cloud-native","desktop-environment","docker","dunst","git","gotop","gtk","i3","i3wm","pywal","terraform","tmux","vcsh","x11","xava","zsh"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sabrehagen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-10T09:21:05.000Z","updated_at":"2025-03-23T15:37:36.000Z","dependencies_parsed_at":"2023-10-02T18:52:23.538Z","dependency_job_id":"56cc6010-04c9-4318-bdb1-9ffcb91fe53f","html_url":"https://github.com/sabrehagen/desktop-environment","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabrehagen%2Fdesktop-environment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabrehagen%2Fdesktop-environment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabrehagen%2Fdesktop-environment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sabrehagen%2Fdesktop-environment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sabrehagen","download_url":"https://codeload.github.com/sabrehagen/desktop-environment/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247182367,"owners_count":20897380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["alacritty","alsamixer","cloud-native","desktop-environment","docker","dunst","git","gotop","gtk","i3","i3wm","pywal","terraform","tmux","vcsh","x11","xava","zsh"],"created_at":"2024-10-12T02:14:47.335Z","updated_at":"2025-04-04T13:09:07.844Z","avatar_url":"https://github.com/sabrehagen.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ☁️ Cloud Desktop Environment\n\nMy [daily driver](https://github.com/users/sabrehagen/packages/container/package/desktop-environment) on the desktop and in the cloud.\n\n![desktop](https://i.imgur.com/yv34lxO.png)\n![desktop](https://i.imgur.com/Mi40odG.png)\n![desktop](https://i.imgur.com/LZvxAnW.jpg)\n![desktop](https://i.imgur.com/jm4RrKw.jpg)\n![desktop](https://i.imgur.com/C1eBDKX.jpg)\n![desktop](https://i.imgur.com/n3YUPD9.png)\n\n## Running on the Desktop\n\nThe only dependency required is [Docker](https://docs.docker.com/install).\n\nTo run on Linux, clone the repository and start the environment.\n\n```sh\n# Clone desktop environment\ngit clone https://github.com/sabrehagen/desktop-environment\n\n# Start desktop environment\n./desktop-environment/docker/scripts/recycle.sh\n```\n\n## Running in the Cloud\n\n- Fork this repository.\n- 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.\n- Enable [read and write permissions](../../settings/actions) on your fork to allow GitHub Actions to push to your repository's container registry.\n- Run the [Deploy Desktop Environment](../../actions/workflows/deploy.yml) GitHub Actions workflow to deploy the desktop environment to GitHub's Actions infrastructure.\n- Click the Cloud Desktop Environment URL printed in the output of the `Get URL` workflow step.\n\nFork the [cloud-computer/cloud-computer](https://github.com/cloud-computer/cloud-computer) repository to deploy the desktop environment to Google Cloud.\n\n## Project Goals\n\n- [x] A computer wholly defined in code.\n- [x] From zero to production in one command.\n- [x] Consistent experience across cloud and desktop.\n\n## Keybindings\n\nInexhaustive list of keybindings. Check `~/.config/i3/config` for all available bindings.\n\n### System Management\n\n- Restart the desktop environment: `$mod+Shift+q`\n- Lock screen: `$mod+slash`\n\n### Window Focus and Movement\n\nVim-style bindings for focusing and moving windows.\n\n- Focus left: `$mod+h`\n- Focus down: `$mod+j`\n- Focus up: `$mod+k`\n- Focus right: `$mod+l`\n- Move focused window left: `$mod+Shift+h`\n- Move focused window down: `$mod+Shift+j`\n- Move focused window up: `$mod+Shift+k`\n- Move focused window right: `$mod+Shift+l`\n- Resize gaps: `$mod+equal` and `$mod+Shift+equal`\n\n### Workspace Management\n\n- Create a new workspace: `$mod+n`\n- Move the focused window to a new workspace: `$mod+Shift+n`\n- Switch to adjacent workspace: `$mod+Control+h` or `$mod+Control+l`\n- Switch to workspace n: `$mod+1` to `$mod+0`\n- Switch to previous workspace: `$mod+minus`\n\n### Application Launching\n\n- Launch alacritty terminal: `$mod+return`\n- Launch google chrome: `$mod+b`\n- Launch vs code: `$mod+c`\n- Launch discord: `$mod+d`\n- Launch pcmanfm file manager: `$mod+e`\n- Launch telegram: `$mod+t`\n- Launch screenshot: `$mod+x`\n\n### Monitor Management\n\n- Move the focused window to the left monitor: `$mod+less`\n- Move the focused window to the right monitor: `$mod+greater`\n\n### Scratchpad\n\n- Show gotop: `$mod+escape`\n- Show terminal: `$mod+grave`\n- Show volume: `$mod+v`\n- Show wifi: `$mod+i`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabrehagen%2Fdesktop-environment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsabrehagen%2Fdesktop-environment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsabrehagen%2Fdesktop-environment/lists"}