Fork of GitHub Desktop to support various Linux distributions

dependabot[bot] 7d3defc4ef Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 (#1051) 2 weeks ago
.github 7d3defc4ef Bump peter-evans/create-pull-request from 6.0.2 to 6.0.3 (#1051) 2 weeks ago
.vscode e8063baed5 Re-enable eslint after config schema update 4 months ago
app 22f6ecf71d bump electron to latest v28 release (#1035) 2 weeks ago
docs 9678c01f5f Add Pluma support for Linux external editor options (#996) 2 weeks ago
eslint-rules aa5d0eb0e7 We can have nice things! 2 years ago
gemoji @ 50865e8895 38586b239d Get some gemoji 7 years ago
patches dd5e242e44 Bump electron-installer-redhat from 3.3.0 to 3.4.0 (#848) 2 weeks ago
script 22f6ecf71d bump electron to latest v28 release (#1035) 2 weeks ago
vendor d2716b10a7 Upgrade to Yarn 1.21.1 4 years ago
.eslintignore 4686d0006a Get rid of unused coverage reporting 2 years ago
.eslintrc.yml 854ad5e563 Update generated icons and lint rules 2 months ago
.gitattributes c84d6771ba Force unix line endings in WSL github helper 3 years ago
.gitignore 4d074e0215 introduce separate publish step which runs after build (#899) 2 weeks ago
.gitmodules 2ea3832973 switched this submodule over to using HTTPS 7 years ago
.markdownlint.js 06f8a33300 Add markdownlint to package json 1 year ago
.node-version c519003099 Revert "Revert "Bump node version to v18.16.1"" 7 months ago
.nvmrc c519003099 Revert "Revert "Bump node version to v18.16.1"" 7 months ago
.prettierignore ec13e6fc3a format all json files 5 years ago
.prettierrc.yml e6329540d3 Update prettier and eslint for optional chaining support 3 years ago
.python-version 31b4fc0a5f Update the Python version to 3.9 in dotfiles 3 years ago
.tool-versions c519003099 Revert "Revert "Bump node version to v18.16.1"" 7 months ago
.yarnrc d2716b10a7 Upgrade to Yarn 1.21.1 4 years ago
CODE_OF_CONDUCT.md bf4fa2a139 Update contact behavior to be more clear 5 years ago
LICENSE 1602ece538 Remove the date range 7 years ago
README.md e0be3e6dfe moved OpenSUSE instructions to separate steps (#864) 2 weeks ago
SECURITY.md 0a8568c2cd Create SECURITY.md 1 year ago
changelog.json 21b1d5ad30 Remove redundancy in contrast release note 4 weeks ago
package.json 1c5f32b144 Bump patch-package from 6.5.1 to 8.0.0 (#1038) 2 weeks ago
tsconfig.json 9ff83b872d Turn on ES2022 :tada: 2 years ago
yarn.lock 1c5f32b144 Bump patch-package from 6.5.1 to 8.0.0 (#1038) 2 weeks ago

README.md

GitHub Desktop - The Linux Fork

CI

GitHub Desktop is an open-source Electron-based GitHub app. It is written in TypeScript and uses React.

<source

srcset="https://user-images.githubusercontent.com/634063/202742848-63fa1488-6254-49b5-af7c-96a6b50ea8af.png"
media="(prefers-color-scheme: dark)"

/> <img

width="1072"
src="https://user-images.githubusercontent.com/634063/202742985-bb3b3b94-8aca-404a-8d8a-fd6a6f030672.png"
alt="A screenshot of the GitHub Desktop application showing changes being viewed and committed with two attributed co-authors"

/>

What is this repository for?

This repository contains specific patches on top of the upstream desktop/desktop repository to support Linux usage.

It also publishes releases for various Linux distributions:

  • AppImage (.AppImage)
  • Debian (.deb)
  • RPM (.rpm)

Installation via package manager

You can use your operating system's package manager to install github-desktop and keep it up to date on Debian and RPM-based distributions.

Debian/Ubuntu

There are two APT package feeds available, both hosted in the US. You only need to add one or the other here, as both of these are generated based on the releases from this repository.

@shiftkey package feed

wget -qO - https://apt.packages.shiftkey.dev/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/shiftkey-packages.gpg > /dev/null
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/shiftkey-packages.gpg] https://apt.packages.shiftkey.dev/ubuntu/ any main" > /etc/apt/sources.list.d/shiftkey-packages.list'

@mwt package feed

wget -qO - https://mirror.mwt.me/shiftkey-desktop/gpgkey | gpg --dearmor | sudo tee /usr/share/keyrings/mwt-desktop.gpg > /dev/null
sudo sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/mwt-desktop.gpg] https://mirror.mwt.me/shiftkey-desktop/deb/ any main" > /etc/apt/sources.list.d/mwt-desktop.list'

Installation

Once you have a feed configured, run this command to install the application:

sudo apt update && sudo apt install github-desktop

Red Hat/CentOS/Fedora

There are two RPM package feeds available, both hosted in the US. You only need to add one or the other here, as both of these are generated based on the releases from this repository.

@shiftkey package feed

sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key
sudo sh -c 'echo -e "[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key" > /etc/yum.repos.d/shiftkey-packages.repo'

@mwt package feed

sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
sudo sh -c 'echo -e "[mwt-packages]\nname=GitHub Desktop\nbaseurl=https://mirror.mwt.me/shiftkey-desktop/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey" > /etc/yum.repos.d/mwt-packages.repo'

Installation

Once you have a feed configured, run this command to install the application:

# if yum is your package manager
sudo yum install github-desktop

# if dnf is your package manager
sudo dnf install github-desktop

# if zypper is your package manager
sudo zypper ref && sudo zypper in github-desktop

OpenSUSE

There are two RPM package feeds available, both hosted in the US. You only need to add one or the other here, as both of these are generated based on the releases from this repository.

@shiftkey package feed

sudo rpm --import https://rpm.packages.shiftkey.dev/gpg.key
sudo sh -c 'echo -e "[shiftkey-packages]\nname=GitHub Desktop\nbaseurl=https://rpm.packages.shiftkey.dev/rpm/\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://rpm.packages.shiftkey.dev/gpg.key" > /etc/zypp/repos.d/shiftkey-packages.repo'

@mwt package feed

sudo rpm --import https://mirror.mwt.me/shiftkey-desktop/gpgkey
sudo sh -c 'echo -e "[mwt-packages]\nname=GitHub Desktop\nbaseurl=https://mirror.mwt.me/shiftkey-desktop/rpm\nenabled=1\ngpgcheck=1\nrepo_gpgcheck=1\ngpgkey=https://mirror.mwt.me/shiftkey-desktop/gpgkey" > /etc/zypp/repos.d/mwt-packages.repo'

Installation

sudo zypper ref && sudo zypper in github-desktop

Other Distributions

Arch Linux

Arch Linux users can install GitHub Desktop from the AUR.

gnome-keyring is required and the daemon must be launched either at login or when the X server is started. Normally this is handled by a display manager, but in other cases following the instructions found on the Arch Wiki will fix the issue of not being able to save login credentials.

Cross-Distribution Packages

GitHub Desktop is also available cross-platform as a Flatpak and AppImage.

deb-get

Debian/Ubuntu users can also install directly from this repository using deb-get: deb-get install github-desktop.

Known issues

If you're having troubles with Desktop, please refer to the Known issues document for guidance and workarounds for common limitations.

If your package manager is still trying to reach PackageCloud, refer to the cleanup instructions for details about migrating away.

More information

Please check out the README on the upstream GitHub Desktop project and desktop.github.com for more product-oriented information about GitHub Desktop.

See our getting started documentation for more information on how to set up, authenticate, and configure GitHub Desktop.

License

MIT

The MIT license grant is not for GitHub's trademarks, which include the logo designs. GitHub reserves all trademark and copyright rights in and to all GitHub trademarks. GitHub's logos include, for instance, the stylized Invertocat designs that include "logo" in the file title in the following folder: logos.

GitHub® and its stylized versions and the Invertocat mark are GitHub's Trademarks or registered Trademarks. When using GitHub's logos, be sure to follow the GitHub logo guidelines.