My Nix Configuration

[pkgs] glide-browser-beta: init at 0.1.54a

Changed files
+147
packages
glide-browser-bin
+147
packages/glide-browser-bin/package.nix
···
+
{
+
lib,
+
stdenv,
+
fetchurl,
+
# keep-sorted start
+
adwaita-icon-theme,
+
alsa-lib,
+
autoPatchelfHook,
+
copyDesktopItems,
+
curl,
+
dbus-glib,
+
gtk3,
+
hicolor-icon-theme,
+
libXtst,
+
libva,
+
makeBinaryWrapper,
+
makeDesktopItem,
+
patchelfUnstable,
+
pciutils,
+
pipewire,
+
wrapGAppsHook3,
+
# keep-sorted end
+
nix-update-script,
+
...
+
}:
+
stdenv.mkDerivation (finalAttrs: {
+
pname = "glide-browser";
+
version = "0.1.54a";
+
+
src = fetchurl {
+
url = "https://github.com/glide-browser/glide/releases/download/${finalAttrs.version}/glide.linux-x86_64.tar.xz";
+
hash = "sha256-Rw85b+9eaiM9szWpYZiF7FqJY7OpliOwt09/c8UWlGk=";
+
};
+
+
nativeBuildInputs = [
+
# keep-sorted start
+
autoPatchelfHook
+
copyDesktopItems
+
makeBinaryWrapper
+
patchelfUnstable
+
wrapGAppsHook3
+
# keep-sorted end
+
];
+
+
buildInputs = [
+
# keep-sorted start
+
gtk3
+
adwaita-icon-theme
+
hicolor-icon-theme
+
alsa-lib
+
dbus-glib
+
libXtst
+
# keep-sorted end
+
];
+
+
runtimeDependencies = [
+
# keep-sorted start
+
curl
+
pciutils
+
libva.out
+
# keep-sorted end
+
];
+
+
appendRunpaths = [ "${pipewire}/lib" ];
+
+
# Firefox uses "relrhack" to manually process relocations from a fixed offset
+
patchelfFlags = [ "--no-clobber-old-sections" ];
+
+
installPhase = ''
+
runHook preInstall
+
+
mkdir -p $out/bin $out/share/icons/hicolor/ $out/lib/glide-browser-bin-${finalAttrs.version}
+
cp -t $out/lib/glide-browser-bin-${finalAttrs.version} -r *
+
chmod +x $out/lib/glide-browser-bin-${finalAttrs.version}/glide
+
iconDir=$out/share/icons/hicolor
+
browserIcons=$out/lib/glide-browser-bin-${finalAttrs.version}/browser/chrome/icons/default
+
+
for i in 16 32 48 64 128; do
+
iconSizeDir="$iconDir/''${i}x$i/apps"
+
mkdir -p $iconSizeDir
+
cp $browserIcons/default$i.png $iconSizeDir/glide-brower.png
+
done
+
+
+
ln -s $out/lib/glide-browser-bin-${finalAttrs.version}/glide $out/bin/glide
+
ln -s $out/bin/glide $out/bin/glide-browser
+
+
runHook postInstall
+
'';
+
+
desktopItems = [
+
(makeDesktopItem {
+
name = "glide-browser-bin";
+
exec = "glide-browser --name glide-browser %U";
+
icon = "glide-browser";
+
desktopName = "Glide Browser";
+
genericName = "Web Browser";
+
terminal = false;
+
startupNotify = true;
+
startupWMClass = "glide-browser";
+
categories = [
+
"Network"
+
"WebBrowser"
+
];
+
mimeTypes = [
+
"text/html"
+
"text/xml"
+
"application/xhtml+xml"
+
"application/vnd.mozilla.xul+xml"
+
"x-scheme-handler/http"
+
"x-scheme-handler/https"
+
];
+
actions = {
+
new-window = {
+
name = "New Window";
+
exec = "glide-browser --new-window %U";
+
};
+
new-private-window = {
+
name = "New Private Window";
+
exec = "glide-browser --private-window %U";
+
};
+
profile-manager-window = {
+
name = "Profile Manager";
+
exec = "glide-browser --ProfileManager";
+
};
+
};
+
})
+
];
+
+
passthru.updateScript = nix-update-script {
+
extraArgs = [
+
"--url"
+
"https://github.com/glide-browser/glide"
+
];
+
};
+
+
meta = {
+
changelog = "https://glide-browser.app/changelog#${finalAttrs.version}";
+
description = "Extensible and keyboard-focused web browser, based on Firefox (binary package)";
+
homepage = "https://glide-browser.app/";
+
license = lib.licenses.mpl20;
+
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
+
platforms = [ "x86_64-linux" ];
+
maintainers = with lib.maintainers; [ pyrox0 ];
+
mainProgram = "glide-browser";
+
};
+
})