summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--flake.lock23
-rw-r--r--flake.nix5
-rw-r--r--home/ebisu/fortune/multimedia/browser/default.nix4
-rw-r--r--home/ebisu/fortune/nix/development/tools.nix2
-rw-r--r--pkgs/zen-browser-bin.nix128
5 files changed, 132 insertions, 30 deletions
diff --git a/flake.lock b/flake.lock
index de2b7a3..efc2abc 100644
--- a/flake.lock
+++ b/flake.lock
@@ -1363,8 +1363,7 @@
"pywal-nix": "pywal-nix",
"spicetify-nix": "spicetify-nix",
"systems": "systems_4",
- "tailray": "tailray",
- "zen-browser": "zen-browser"
+ "tailray": "tailray"
}
},
"rust-analyzer-src": {
@@ -1600,26 +1599,6 @@
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
- },
- "zen-browser": {
- "inputs": {
- "nixpkgs": [
- "nixpkgs"
- ]
- },
- "locked": {
- "lastModified": 1726001766,
- "narHash": "sha256-ADvEWfo0AuHR06ah1nnzOyhsG05/b5QpUc7vFNbiEfM=",
- "owner": "MarceColl",
- "repo": "zen-browser-flake",
- "rev": "06505a088396e2c0b9ad100302502783a6bcdb40",
- "type": "github"
- },
- "original": {
- "owner": "MarceColl",
- "repo": "zen-browser-flake",
- "type": "github"
- }
}
},
"root": "root",
diff --git a/flake.nix b/flake.nix
index 7c2ef89..9518197 100644
--- a/flake.nix
+++ b/flake.nix
@@ -51,11 +51,6 @@
systems.url = "github:nix-systems/default";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
- zen-browser = {
- url = "github:MarceColl/zen-browser-flake";
- inputs.nixpkgs.follows = "nixpkgs";
- };
-
tailray = {
url = "github:NotAShelf/tailray";
inputs.nixpkgs.follows = "nixpkgs";
diff --git a/home/ebisu/fortune/multimedia/browser/default.nix b/home/ebisu/fortune/multimedia/browser/default.nix
index 35bf2cd..03cd2bd 100644
--- a/home/ebisu/fortune/multimedia/browser/default.nix
+++ b/home/ebisu/fortune/multimedia/browser/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, inputs, ... }:
+{ pkgs, ... }:
{
imports = [ ./thorium.nix ];
@@ -11,7 +11,7 @@
ladybird
web-ext
tor-browser-bundle-bin
- inputs.zen-browser.packages.${pkgs.system}.default
+ (pkgs.callPackage ../../../../../pkgs/zen-browser-bin.nix { })
epiphany
];
}
diff --git a/home/ebisu/fortune/nix/development/tools.nix b/home/ebisu/fortune/nix/development/tools.nix
index dff0f12..16b5d6b 100644
--- a/home/ebisu/fortune/nix/development/tools.nix
+++ b/home/ebisu/fortune/nix/development/tools.nix
@@ -11,7 +11,7 @@
devenv
niv
nixpkgs-hammering
- # devbox
+ devbox
compose2nix
nix-update
];
diff --git a/pkgs/zen-browser-bin.nix b/pkgs/zen-browser-bin.nix
new file mode 100644
index 0000000..aa53e96
--- /dev/null
+++ b/pkgs/zen-browser-bin.nix
@@ -0,0 +1,128 @@
+{
+ stdenv,
+ lib,
+ fetchzip,
+ makeDesktopItem,
+ autoPatchelfHook,
+ wrapGAppsHook3,
+ copyDesktopItems,
+ gtk3,
+ alsa-lib,
+ dbus-glib,
+ xorg,
+ pciutils,
+ libva,
+ pipewire,
+ libglvnd,
+}:
+let
+ desktopItem = makeDesktopItem {
+ name = "zen-browser";
+ desktopName = "Zen Browser";
+ genericName = "Web Browser";
+ categories = [
+ "Network"
+ "WebBrowser"
+ ];
+ keywords = [
+ "internet"
+ "www"
+ "browser"
+ "web"
+ "explorer"
+ ];
+ exec = "zen %u";
+ icon = "zen";
+ mimeTypes = [
+ "text/html"
+ "text/xml"
+ "application/xhtml+xml"
+ "application/vnd.mozilla.xul+xml"
+ "x-scheme-handler/http"
+ "x-scheme-handler/https"
+ ];
+ startupNotify = true;
+ startupWMClass = "zen-alpha";
+ terminal = false;
+ actions = {
+ new-window = {
+ name = "New Window";
+ exec = "zen --new-window %u";
+ };
+ new-private-window = {
+ name = "New Private Window";
+ exec = "zen --private-window %u";
+ };
+ profile-manager-window = {
+ name = "Profile Manager";
+ exec = "zen --ProfileManager %u";
+ };
+ };
+ };
+in
+stdenv.mkDerivation rec {
+ pname = "zen-browser-bin";
+ version = "1.0.0-a.39";
+
+ src = fetchzip {
+ url = "https://github.com/zen-browser/desktop/releases/download/${version}/zen.linux-specific.tar.bz2";
+ hash = "sha256-CcY0BDC3nZspwV1S4SheKn9MzjZRVY7QhqXCnK1Oj78=";
+ };
+
+ desktopItems = [ desktopItem ];
+
+ nativeBuildInputs = [
+ autoPatchelfHook
+ wrapGAppsHook3
+ copyDesktopItems
+ ];
+
+ buildInputs = [
+ gtk3
+ alsa-lib
+ dbus-glib
+ xorg.libXtst
+ ];
+
+ installPhase = ''
+ runHook preInstall
+
+ mkdir -p $out/lib
+ cp -r $src $out/lib/zen/
+
+ mkdir -p $out/bin
+ ln -s $out/lib/zen/zen $out/bin/zen
+
+ for n in {16,32,48,64,128}; do
+ size=$n"x"$n
+ mkdir -p $out/share/icons/hicolor/$size/apps
+ file="default"$n".png"
+ cp $out/lib/zen/browser/chrome/icons/default/$file $out/share/icons/hicolor/$size/apps/zen.png
+ done
+
+ runHook postInstall
+ '';
+
+ preFixup = ''
+ gappsWrapperArgs+=(
+ --prefix LD_LIBRARY_PATH : "${
+ lib.makeLibraryPath [
+ pciutils
+ pipewire
+ libva
+ libglvnd
+ ]
+ }"
+ )
+ gappsWrapperArgs+=(--set MOZ_LEGACY_PROFILES 1)
+ wrapGApp $out/lib/zen/zen
+ '';
+
+ meta = with lib; {
+ license = licenses.mpl20;
+ maintainers = with maintainers; [ mordrag ];
+ description = "Experience tranquillity while browsing the web without people tracking you! ";
+ platforms = platforms.linux;
+ mainProgram = "zen";
+ };
+}