This repository contains the files to create a Flatpak version of the GitHub Desktop Git client.
It is based on this fork which contains extra work for better Linux integration, that is, for now, not official.
To build and install this Flatpak, you have to install Flatpak, Flatpak builder and the Flathub repo. Don't forget to initialize this repo submodules. Then run:
flatpak-builder build io.github.shiftey.Desktop.yaml --repo=repo --install --force-clean --install-deps-from=flathub
Once installed, launch GitHub Desktop by running:
flatpak run io.github.shiftey.Desktop
Flatpak builder doesn't allow the build scripts to access the internet, so you have to download all the required dependencies beforehand. These dependencies are listed in the generated-sources.json
file. That's the reason we have a fixed commit for building desktop
repo, since that can guarantee that generated-sources.json
dependencies match with the version of desktop
we are building.
To update desktop
repo to its latest commit and update the dependencies, you have to:
-
Clone https://github.com/shiftkey/desktop inside this repo.
-
Change the commit in
io.github.shiftey.Desktop.yaml
to the desired one:... - type: git url: https://github.com/shiftkey/desktop.git commit: <put the commit here> ...
-
Run
generate-sources
script to updategenerated-sources.json
. -
Make sure the patches in the
patches
directory still apply. -
Once you are sure it works, make a PR with the changes.
-
Show in your File Manager
does not open the file managerThis happens because the default manager is not set in your environment. You need to add a default file manager to your
~/.config/mimeapps.list
file. If you are using nautilus, this can be done by addinginode/directory=org.gnome.Nautilus.desktop
to the end of the[Default Applications]
section. -
Git Hooks that spawn external programs do not work. This is non-fixable without a massive rewrite inside git to make it possible to spawn git hooks outside the flatpak container.