about summary refs log tree commit diff
path: root/pkgs/by-name/gi
diff options
context:
space:
mode:
authorPol Dellaiera <pol.dellaiera@protonmail.com>2024-04-01 13:05:48 +0200
committerPol Dellaiera <pol.dellaiera@protonmail.com>2024-04-01 13:05:48 +0200
commit9b12db21dcbce131d181e70605f8a827278103a1 (patch)
tree853f9d13e6c42d7d7918cd68bacb265cfb62e6a9 /pkgs/by-name/gi
parent5e504176f3f7c5bf5a07bfcd2eb3785677f59874 (diff)
github-desktop: move to `pkgs/by-name`
Diffstat (limited to 'pkgs/by-name/gi')
-rw-r--r--pkgs/by-name/gi/github-desktop/package.nix92
1 files changed, 92 insertions, 0 deletions
diff --git a/pkgs/by-name/gi/github-desktop/package.nix b/pkgs/by-name/gi/github-desktop/package.nix
new file mode 100644
index 0000000000000..b5799ae666072
--- /dev/null
+++ b/pkgs/by-name/gi/github-desktop/package.nix
@@ -0,0 +1,92 @@
+{ stdenvNoCC
+, lib
+, fetchurl
+, autoPatchelfHook
+, wrapGAppsHook
+, makeWrapper
+, gnome
+, libsecret
+, git
+, curl
+, nss
+, nspr
+, xorg
+, libdrm
+, alsa-lib
+, cups
+, mesa
+, systemd
+, openssl
+}:
+
+let
+  rcversion = "1";
+  arch = "amd64";
+in
+stdenvNoCC.mkDerivation (finalAttrs: {
+  pname = "github-desktop";
+  version = "3.3.10";
+
+  src = fetchurl {
+    url = "https://github.com/shiftkey/desktop/releases/download/release-${finalAttrs.version}-linux${rcversion}/GitHubDesktop-linux-${arch}-${finalAttrs.version}-linux${rcversion}.deb";
+    hash = "sha256-zzq6p/DAQmgSw4KAUYqtrQKkIPksLzkUQjGzwO26WgQ=";
+  };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+    (wrapGAppsHook.override { inherit makeWrapper; })
+  ];
+
+  buildInputs = [
+    gnome.gnome-keyring
+    xorg.libXdamage
+    xorg.libX11
+    libsecret
+    git
+    curl
+    nss
+    nspr
+    libdrm
+    alsa-lib
+    cups
+    mesa
+    openssl
+  ];
+
+  unpackPhase = ''
+    runHook preUnpack
+    mkdir -p $TMP/github-desktop $out/{opt,bin}
+    cp $src $TMP/github-desktop.deb
+    ar vx github-desktop.deb
+    tar --no-overwrite-dir -xvf data.tar.xz -C $TMP/github-desktop/
+    runHook postUnpack
+  '';
+
+  installPhase = ''
+    runHook preInstall
+    cp -R $TMP/github-desktop/usr/share $out/
+    cp -R $TMP/github-desktop/usr/lib/github-desktop/* $out/opt/
+    ln -sf $out/opt/github-desktop $out/bin/github-desktop
+    runHook postInstall
+  '';
+
+  preFixup = ''
+    gappsWrapperArgs+=(
+      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform=wayland}}"
+    )
+  '';
+
+  runtimeDependencies = [
+    (lib.getLib systemd)
+  ];
+
+  meta = {
+    description = "GUI for managing Git and GitHub.";
+    homepage = "https://desktop.github.com/";
+    license = lib.licenses.mit;
+    mainProgram = "github-desktop";
+    maintainers = with lib.maintainers; [ dan4ik605743 ];
+    platforms = lib.platforms.linux;
+    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
+  };
+})