From 8d36da17cab32530f4a0ec79432b1b5a7f744d90 Mon Sep 17 00:00:00 2001 From: Jakub Trzeciak Date: Thu, 19 Oct 2023 10:06:57 +0200 Subject: Overlays and more --- pkgs/default.nix | 8 ++ pkgs/dmenu-bluetooth/default.nix | 19 +++++ pkgs/mercury-browser/default.nix | 149 +++++++++++++++++++++++++++++++++++ pkgs/neo-comic-mono-font/default.nix | 45 +++++++++++ 4 files changed, 221 insertions(+) create mode 100644 pkgs/default.nix create mode 100644 pkgs/dmenu-bluetooth/default.nix create mode 100644 pkgs/mercury-browser/default.nix create mode 100644 pkgs/neo-comic-mono-font/default.nix (limited to 'pkgs') diff --git a/pkgs/default.nix b/pkgs/default.nix new file mode 100644 index 0000000..54dd028 --- /dev/null +++ b/pkgs/default.nix @@ -0,0 +1,8 @@ +# Custom packages, that can be defined similarly to ones from nixpkgs +# You can build them using 'nix build .#example' or (legacy) 'nix-build -A example' + +{ pkgs ? (import ../nixpkgs.nix) { } }: { + mercury-browser = pkgs.callPackage ./mercury-browser { }; + dmenu-bluetooth = pkgs.callPackage ./dmenu-bluetooth { }; + neo-comic-mono-font = pkgs.callPackage ./neo-comic-mono-font { }; +} diff --git a/pkgs/dmenu-bluetooth/default.nix b/pkgs/dmenu-bluetooth/default.nix new file mode 100644 index 0000000..73af067 --- /dev/null +++ b/pkgs/dmenu-bluetooth/default.nix @@ -0,0 +1,19 @@ +{ stdenv, fetchurl, dmenu }: + +let + dmenu-bluetooth = fetchurl { + url = "https://raw.githubusercontent.com/Layerex/dmenu-bluetooth/e6fbfbdb1c968b591523ed7de932cde10628876e/dmenu-bluetooth"; + sha256 = "sha256-N7pCl9kLvJ2+ljczOWhaNJPLej62JWrF+uWlLp+l6lE="; + }; +in stdenv.mkDerivation rec { + pname = "dmenu-bluetooth"; + version = "0.0.1"; + + unpackPhase = "true"; + srcs = []; + + postInstall = '' + mkdir -p $out/bin + install ${dmenu-bluetooth} $out/bin/dmenu-bluetooth + ''; +} diff --git a/pkgs/mercury-browser/default.nix b/pkgs/mercury-browser/default.nix new file mode 100644 index 0000000..7502c58 --- /dev/null +++ b/pkgs/mercury-browser/default.nix @@ -0,0 +1,149 @@ +{ lib +, stdenv +, fetchurl +, autoPatchelfHook +, dpkg +, wrapGAppsHook +, alsa-lib +, browserpass +, bukubrow +, cairo +, cups +, dbus +, dbus-glib +, ffmpeg +, fontconfig +, freetype +, fx_cast_bridge +, glib +, glibc +, gnome-browser-connector +, gtk3 +, harfbuzz +, libcanberra +, libdbusmenu +, libdbusmenu-gtk3 +, libglvnd +, libjack2 +, libkrb5 +, libnotify +, libpulseaudio +, libva +, lyx +, mesa +, nspr +, nss +, opensc +, pango +, pciutils +, pipewire +, plasma5Packages +, sndio +, speechd +, tridactyl-native +, udev +, uget-integrator +, vulkan-loader +, xdg-utils +, xorg +}: + +stdenv.mkDerivation rec { + pname = "mercury-browser"; + version = "115.4.0"; + + src = fetchurl { + url = + "https://github.com/Alex313031/Mercury/releases/download/v.${version}/mercury-browser_${version}_amd64.deb"; + hash = "sha256-78b2QEgf312TDBIy4lXzYUBtTfdNui3VJBbyDfXqOtc="; + }; + + nativeBuildInputs = [ autoPatchelfHook dpkg wrapGAppsHook ]; + + buildInputs = [ + stdenv.cc.cc.lib + alsa-lib + browserpass + bukubrow + cairo + cups + dbus + dbus-glib + ffmpeg + fontconfig + freetype + fx_cast_bridge + glib + glibc + gnome-browser-connector + gtk3 + harfbuzz + libcanberra + libdbusmenu + libdbusmenu-gtk3 + libglvnd + libjack2 + libkrb5 + libnotify + libpulseaudio + libva + lyx + mesa + nspr + nss + opensc + pango + pciutils + pipewire + plasma5Packages.plasma-browser-integration + sndio + speechd + tridactyl-native + udev + uget-integrator + vulkan-loader + xdg-utils + xorg.libxcb + xorg.libX11 + xorg.libXcursor + xorg.libXcomposite + xorg.libXdamage + xorg.libXext + xorg.libXfixes + xorg.libXi + xorg.libXrandr + xorg.libXrender + xorg.libXtst + xorg.libXxf86vm + ]; + + installPhase = '' + runHook preInstall + + mkdir -p $out + cp -r usr/* $out + + substituteInPlace $out/share/applications/mercury-browser.desktop \ + --replace Exec=mercury-browser Exec=$out/bin/mercury-browser \ + --replace StartupWMClass=mercury StartupWMClass=mercury-default \ + --replace Icon=mercury Icon=$out/share/icons/hicolor/512x512/apps/mercury.png + addAutoPatchelfSearchPath $out/lib/mercury + substituteInPlace $out/bin/mercury-browser \ + --replace 'export LD_LIBRARY_PATH' "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:${ + lib.makeLibraryPath buildInputs + }:$out/lib/mercury" \ + --replace /usr $out + + runHook postInstall + ''; + + meta = with lib; { + description = "Compiler-optimized private Firefox fork"; + homepage = "https://thorium.rocks/mercury"; + maintainers = with lib.maintainers; [ redxtech ]; + sourceProvenance = with sourceTypes; [ binaryNativeCode ]; + license = licenses.mpl20; + platforms = [ "x86_64-linux" ]; + mainProgram = "mercury-browser"; + }; +} diff --git a/pkgs/neo-comic-mono-font/default.nix b/pkgs/neo-comic-mono-font/default.nix new file mode 100644 index 0000000..7351f09 --- /dev/null +++ b/pkgs/neo-comic-mono-font/default.nix @@ -0,0 +1,45 @@ +{ stdenv, fetchurl, python311, wget, fontforge, python311Packages, lib }: let + cousine-font = fetchurl { + url = "https://github.com/google/fonts/raw/main/apache/cousine/Cousine-Regular.ttf"; + sha256 = "sha256-aeHqWet3ABQgTlF0+AV1D5p5PbSiUx5lFrMLdGDUcLM="; + }; + + comic-shans-font = fetchurl { + url = "https://github.com/shannpersand/comic-shanns/raw/master/v2/comic%20shanns.otf"; + sha256 = "sha256-ogAILIIBbTnwUYzUSdX6VIbbSo7kuXihDUOZpVo1fVQ="; + }; +in stdenv.mkDerivation rec { + pname = "neo-comic-mono-font"; + version = "0.0.1"; + + src = builtins.fetchTarball "https://git.jptrzy.xyz/neo-comic-mono-font/snapshot/neo-comic-mono-font-221bf59c1f75f8db922a3688dc5d282b0868e21a.tar.gz"; + + buildInputs = [ + python311 + python311Packages.fontforge + wget + fontforge + ]; + + buildPhase = '' + mkdir -p vendor build + + ln -sf "${cousine-font}" vendor/cousine.ttf + ln -sf "${comic-shans-font}" vendor/comic-shanns.otf + + python generate.py + ''; + + installPhase = '' + local out_font="$out/share/fonts/neo-comic" + install -m444 -Dt "$out_font" "build/"*.ttf + ''; + + meta = with lib; { + description = "Mono font created basing on Comic Shanns"; + homepage = "https://github.com/jptrzy/neo-comic-mono-font"; + license = licenses.mit; + maintainers = [ maintainers.jp3 ]; + platforms = platforms.all; + }; +} -- cgit v1.2.3