changes like workspace added to qs and zen as browser

This commit is contained in:
2026-03-10 15:11:12 +00:00
parent 6f25e849f0
commit 961afbbff7
16 changed files with 411 additions and 68 deletions

0
.new Normal file
View File

View File

@@ -21,9 +21,13 @@
autostart = true; autostart = true;
}) })
<modules/common/gaming> <modules/common/gaming>
modules.helium # modules.helium
(modules.zen-browser {
default = true;
})
modules.stylix modules.stylix
modules.quickshell modules.quickshell
modules.nix-ld
]; ];
nixos = nixos =
{ config, pkgs, ... }: { config, pkgs, ... }:
@@ -54,10 +58,15 @@
}; };
}; };
home.packages = with pkgs; [ home.packages = with pkgs; [
legcord equibop
telegram-desktop telegram-desktop
obsidian obsidian
pear-desktop
prismlauncher
deadlock-mod-manager
gamescope
]; ];
nixpkgs.config.allowUnfree = true;
programs.home-manager.enable = true; programs.home-manager.enable = true;
}; };
}; };

View File

@@ -31,7 +31,6 @@
nixos = nixos =
{ lib, ... }: { lib, ... }:
{ {
home-manager.users = lib.mkForce { };
}; };
}; };
} }

View File

@@ -1,4 +1,9 @@
{ den, __findFile, ... }: {
den,
__findFile,
lib,
...
}:
{ {
# Homes # Homes
den.homes.x86_64-linux.doloro-desktop = { den.homes.x86_64-linux.doloro-desktop = {
@@ -12,12 +17,23 @@
den.hosts.x86_64-linux.desktop = { den.hosts.x86_64-linux.desktop = {
users.doloro = { users.doloro = {
aspect = "doloro-desktop"; aspect = "doloro-desktop";
home-manager.enable = true;
}; };
}; };
# TODO # TODO
den.hosts.x86_64-linux.laptop = { den.hosts.x86_64-linux.laptop = {
users.doloro = { users.doloro = {
aspect = "doloro-laptop"; aspect = "doloro-laptop";
home-manager.enable = true;
}; };
}; };
den.schema.user.classes = lib.mkDefault [ "homeManager" ];
# Fixes 'The option `flake.homeConfigurations' is defined multiple times while it's expected to be unique.'
flake.options.homeConfigurations = lib.mkOption {
type = lib.types.attrs;
description = "Home Manager configurations for users.";
};
} }

View File

@@ -30,6 +30,8 @@
lsof lsof
(gamescope.overrideAttrs { (gamescope.overrideAttrs {
enableWsi = true; enableWsi = true;
# Fixes some games being blurry under wayland backend
NIX_CFLAGS_COMPILE = [ "-fno-fast-math" ];
}) })
]; ];
}; };

View File

@@ -2,6 +2,7 @@
den, den,
modules, modules,
inputs, inputs,
lib,
... ...
}: }:
{ {
@@ -11,7 +12,7 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
}; };
modules.helium = { modules.helium = settings: {
homeManager = homeManager =
{ pkgs, home, ... }: { pkgs, home, ... }:
{ {
@@ -23,7 +24,7 @@
xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = { xdg.configFile."net.imput.helium/WidevineCdm/latest-component-updated-widevine-cdm" = {
text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}''; text = ''{"Path":"${pkgs.widevine-cdm}/share/google/chrome/WidevineCdm"}'';
}; };
wayland.windowManager.hyprland.settings = { wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
binds = [ binds = [
"$mainMod, E, exec, helium" "$mainMod, E, exec, helium"
]; ];

View File

@@ -170,7 +170,6 @@
windowrule = [ windowrule = [
"match:class .*, suppress_event maximize" "match:class .*, suppress_event maximize"
"match:class ^(gamescope)$, workspace 5" "match:class ^(gamescope)$, workspace 5"
"match:class ^(gamescope)$, fullscreen true"
"match:class ^(gamescope)$, immediate true" "match:class ^(gamescope)$, immediate true"
"match:class ^(steam)$, workspace 6 silent" "match:class ^(steam)$, workspace 6 silent"
"match:class ^(vesktop)$, workspace 8 silent" "match:class ^(vesktop)$, workspace 8 silent"

156
config/modules/nix-ld.nix Normal file
View File

@@ -0,0 +1,156 @@
{ den, modules, ... }:
{
modules.nix-ld = {
nixos =
{ pkgs, ... }:
{
programs.nix-ld = {
enable = true;
libraries = with pkgs; [
# List by default
zlib
zstd
stdenv.cc.cc
curl
openssl
attr
libssh
bzip2
libxml2
acl
libsodium
util-linux
xz
systemd
# My own additions
xorg.libXcomposite
xorg.libXtst
xorg.libXrandr
xorg.libXext
xorg.libX11
xorg.libXfixes
libGL
libva
pipewire
xorg.libxcb
xorg.libXdamage
xorg.libxshmfence
xorg.libXxf86vm
libelf
# Required
glib
gtk2
# Inspired by steam
# https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/st/steam/package.nix#L36-L85
networkmanager
vulkan-loader
libgbm
libdrm
libxcrypt
coreutils
pciutils
zenity
# glibc_multi.bin # Seems to cause issue in ARM
# # Without these it silently fails
xorg.libXinerama
xorg.libXcursor
xorg.libXrender
xorg.libXScrnSaver
xorg.libXi
xorg.libSM
xorg.libICE
gnome2.GConf
nspr
nss
cups
libcap
SDL2
libusb1
dbus-glib
ffmpeg
# Only libraries are needed from those two
libudev0-shim
# needed to run unity
gtk3
icu
libnotify
gsettings-desktop-schemas
# https://github.com/NixOS/nixpkgs/issues/72282
# https://github.com/NixOS/nixpkgs/blob/2e87260fafdd3d18aa1719246fd704b35e55b0f2/pkgs/applications/misc/joplin-desktop/default.nix#L16
# log in /home/leo/.config/unity3d/Editor.log
# it will segfault when opening files if you dont do:
# export XDG_DATA_DIRS=/nix/store/0nfsywbk0qml4faa7sk3sdfmbd85b7ra-gsettings-desktop-schemas-43.0/share/gsettings-schemas/gsettings-desktop-schemas-43.0:/nix/store/rkscn1raa3x850zq7jp9q3j5ghcf6zi2-gtk+3-3.24.35/share/gsettings-schemas/gtk+3-3.24.35/:$XDG_DATA_DIRS
# other issue: (Unity:377230): GLib-GIO-CRITICAL **: 21:09:04.706: g_dbus_proxy_call_sync_internal: assertion 'G_IS_DBUS_PROXY (proxy)' failed
# Verified games requirements
xorg.libXt
xorg.libXmu
libogg
libvorbis
SDL
SDL2_image
glew110
libidn
tbb
# Other things from runtime
flac
freeglut
libjpeg
libpng
libpng12
libsamplerate
libmikmod
libtheora
libtiff
pixman
speex
SDL_image
SDL_ttf
SDL_mixer
SDL2_ttf
SDL2_mixer
libappindicator-gtk2
libdbusmenu-gtk2
libindicator-gtk2
libcaca
libcanberra
libgcrypt
libvpx
librsvg
xorg.libXft
libvdpau
# ...
# Some more libraries that I needed to run programs
pango
cairo
atk
gdk-pixbuf
fontconfig
freetype
dbus
alsa-lib
expat
# for blender
libxkbcommon
libxcrypt-legacy # For natron
libGLU # For natron
fribidi
harfbuzz
libgpg-error
# Appimages need fuse, e.g. https://musescore.org/fr/download/musescore-x86_64.AppImage
fuse
e2fsprogs
];
};
};
};
}

View File

@@ -32,6 +32,7 @@
ripgrep ripgrep
# misc # misc
nixd nixd
tree-sitter
]; ];
performance.byteCompileLua = { performance.byteCompileLua = {
enable = true; enable = true;
@@ -174,7 +175,7 @@
tiny-inline-diagnostic.enable = true; tiny-inline-diagnostic.enable = true;
# persisted.enable = true; # persisted.enable = true;
auto-session = { auto-session = {
enable = true; enable = false;
settings = { settings = {
enabled = true; enabled = true;
auto_save = true; auto_save = true;
@@ -190,6 +191,7 @@
lua lua
make make
markdown markdown
rust
nix nix
regex regex
toml toml

View File

@@ -53,12 +53,12 @@ Scope {
height: clockText.height height: clockText.height
radius: 3.5 radius: 3.5
color: "white" color: Colors.backgroundAlt
anchors.centerIn: parent anchors.centerIn: parent
Text { Text {
id: clockText id: clockText
// font.pointSize: 24 color: Colors.textPrimary
text: Clock.time text: Clock.time
} }
} }

View File

@@ -0,0 +1,109 @@
pragma Singleton
import QtQuick 2.15
// Gruvbox Dark — base24 QML singleton
// Notes:
// - This is a template for a "base24" palette. Replace the baseNN hex values
// with your exact base24 values if you have them.
// - Semantic aliases (background, textPrimary, accentBlue, etc.) map to the
// palette entries and make QML usage easier.
// "Thanks CoPilot" - Doloro
QtObject {
id: gruvbox
// ---- Base24 palette (base00 .. base23) ----
// Replace these hex values with exact ones from the base24 palette if needed.
property color base00: "#1d2021" // darkest background
property color base01: "#282828"
property color base02: "#32302f"
property color base03: "#3c3836"
property color base04: "#504945"
property color base05: "#665c54"
property color base06: "#7c6f64"
property color base07: "#928374"
property color base08: "#bdae93"
property color base09: "#d5c4a1"
property color base10: "#ebdbb2" // main foreground
property color base11: "#fbf1c7"
property color base12: "#cc241d" // red
property color base13: "#d65d0e" // orange
property color base14: "#d79921" // yellow
property color base15: "#98971a" // green
property color base16: "#689d6a" // aqua/green
property color base17: "#8ec07c" // light aqua
property color base18: "#458588" // blue
property color base19: "#b16286" // purple
property color base20: "#a89984" // muted
property color base21: "#7c6f64" // subtle
property color base22: "#504945"
property color base23: "#282828" // repeat or very dark
// ---- Semantic aliases (use these in your QML components) ----
property color background: base00
property color backgroundAlt: base01
property color surface: base02
property color surfaceAlt: base03
property color textPrimary: base10
property color textSecondary: base06
property color textDisabled: base04
property color border: base05
property color muted: base20
// accents
property color accentRed: base12
property color accentOrange: base13
property color accentYellow: base14
property color accentGreen: base15
property color accentAqua: base16
property color accentLightAqua: base17
property color accentBlue: base18
property color accentPurple: base19
// Example semantic levels for UI elements
property color windowBackground: background
property color panelBackground: surface
property color cardBackground: surfaceAlt
property color primaryText: textPrimary
property color secondaryText: textSecondary
property color highlight: accentBlue
property color danger: accentRed
property color success: accentGreen
property color warning: accentYellow
// ---- Helper function ----
// Returns a color by semantic name (string). Useful for dynamic lookups.
function colorFor(name) {
switch (name) {
case "background":
return gruvbox.background;
case "panelBackground":
return gruvbox.panelBackground;
case "cardBackground":
return gruvbox.cardBackground;
case "primaryText":
return gruvbox.primaryText;
case "secondaryText":
return gruvbox.secondaryText;
case "highlight":
return gruvbox.highlight;
case "danger":
return gruvbox.danger;
case "success":
return gruvbox.success;
case "warning":
return gruvbox.warning;
case "accentBlue":
return gruvbox.accentBlue;
case "accentRed":
return gruvbox.accentRed;
case "accentGreen":
return gruvbox.accentGreen;
default:
// fallback to primary text if unknown
return gruvbox.textPrimary;
}
}
}

View File

@@ -0,0 +1,20 @@
// Time.qml
pragma Singleton
import Quickshell
import QtQuick
import Quickshell.Hyprland
Singleton {
id: root
function getHyprlandWorkspaceById(id) {
for (var x of Hyprland.workspaces.values) {
if (x.id == id) {
return x;
}
print(x);
}
return null;
}
}

View File

@@ -3,15 +3,57 @@ import Quickshell
import Quickshell.Io import Quickshell.Io
import QtQuick import QtQuick
import QtQuick.Layouts import QtQuick.Layouts
import Quickshell.Hyprland
Item { Item {
id: root id: root
width: content.width width: row.width
height: content.height height: row.height
Rectangle { RowLayout {
id: content id: row
width: 20
height: 15 height: 15
color: "red" Repeater {
id: repeater
model: 10
delegate: Item {
id: content
required property int index
property bool focused: HyprlandHelpers.getHyprlandWorkspaceById(index + 1).focused
property bool exists: HyprlandHelpers.getHyprlandWorkspaceById(index + 1) ? true : false
state: focused && exists ? "FOCUSED" : "NOT"
states: [
State {
name: "FOCUSED"
PropertyChanges {
target: content
width: 10
}
},
State {
name: "NOT"
PropertyChanges {
target: content
width: 10
}
}
]
height: 15
Rectangle {
width: parent.width
height: parent.height
radius: 2.5
color: {
if (HyprlandHelpers.getHyprlandWorkspaceById(index + 1) != null) {
if (HyprlandHelpers.getHyprlandWorkspaceById(index + 1).focused) {
return Colors.primaryText;
}
return Colors.textSecondary;
} else {
return Colors.textDisabled;
}
}
}
}
}
} }
} }

View File

@@ -9,7 +9,7 @@
zen-browser.url = "github:youwen5/zen-browser-flake"; zen-browser.url = "github:youwen5/zen-browser-flake";
zen-browser.inputs.nixpkgs.follows = "nixpkgs"; zen-browser.inputs.nixpkgs.follows = "nixpkgs";
}; };
modules.zen-browser = { modules.zen-browser = settings: {
homeManager = homeManager =
{ {
home, home,
@@ -42,6 +42,11 @@
]; ];
in in
{ {
wayland.windowManager.hyprland.settings = lib.mkIf settings.default {
bind = [
"$mainMod, E, exec, zen"
];
};
home.packages = [ home.packages = [
(pkgs.wrapFirefox (pkgs.wrapFirefox
inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped inputs.zen-browser.packages.${pkgs.stdenv.hostPlatform.system}.zen-browser-unwrapped

84
flake.lock generated
View File

@@ -103,11 +103,11 @@
}, },
"den": { "den": {
"locked": { "locked": {
"lastModified": 1772395596, "lastModified": 1773020651,
"narHash": "sha256-qgAaLNJv+d+ohwwMoOuHHHl4nZ3URmfrGSEwPmHhhNA=", "narHash": "sha256-DlRAoa+Zr4GpdleJe2VO7MjZ4968ZinX/rxmR/w3cZo=",
"owner": "vic", "owner": "vic",
"repo": "den", "repo": "den",
"rev": "3d9be07e0dbe1813f7e51352df3d86a8ece8ac12", "rev": "0b1d99f746da5d7128e2bea5c1b9a88b9ea7b441",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -121,11 +121,11 @@
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs"
}, },
"locked": { "locked": {
"lastModified": 1772420042, "lastModified": 1773025010,
"narHash": "sha256-naZz40TUFMa0E0CutvwWsSPhgD5JldyTUDEgP9ADpfU=", "narHash": "sha256-khlHllTsovXgT2GZ0WxT4+RvuMjNeR5OW0UYeEHPYQo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "5af7af10f14706e4095bd6bc0d9373eb097283c6", "rev": "7b9f7f88ab3b339f8142dc246445abb3c370d3d3",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -152,11 +152,11 @@
}, },
"flake-aspects": { "flake-aspects": {
"locked": { "locked": {
"lastModified": 1772393050, "lastModified": 1772999207,
"narHash": "sha256-lu8y40rGSps8U3ak0xhieLxSA4Dv/fJiPGkknjteEfk=", "narHash": "sha256-dzZpKU1wS/9oMsgK9dqCD+wblBMj1EAhInQtvY2dLUI=",
"owner": "vic", "owner": "vic",
"repo": "flake-aspects", "repo": "flake-aspects",
"rev": "d9502abaa6acc3a444b45a9df729d22f5ccff33c", "rev": "778d8d7c1352c3b173cdcb9fd0f65acbaf4744a6",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -183,11 +183,11 @@
}, },
"flake-file": { "flake-file": {
"locked": { "locked": {
"lastModified": 1772343585, "lastModified": 1772999280,
"narHash": "sha256-7jADySzWscA2822JzNbfRdC+R+B7tzDoWavG8DMY1tU=", "narHash": "sha256-XX60YlqSKa/QNIJVnLeEXNDQPwrQucMuITef6rEJqIs=",
"owner": "vic", "owner": "vic",
"repo": "flake-file", "repo": "flake-file",
"rev": "0f5c1039860127fa5673d362d68f8b7df29a44bc", "rev": "e2a19eb539fa7be4537f6e73e7556edf031eed7f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -361,11 +361,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772380461, "lastModified": 1772985285,
"narHash": "sha256-O3ukj3Bb3V0Tiy/4LUfLlBpWypJ9P0JeUgsKl2nmZZY=", "narHash": "sha256-wEEmvfqJcl9J0wyMgMrj1TixOgInBW/6tLPhWGoZE3s=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "f140aa04d7d14f8a50ab27f3691b5766b17ae961", "rev": "5be5d8245cbc7bc0c09fbb5f38f23f223c543f85",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -449,11 +449,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1772402112, "lastModified": 1773054659,
"narHash": "sha256-VJnMww74ShrxwPshDXAFq7lx7Kg/Cf8Qw5PRSze47EE=", "narHash": "sha256-0B7oWd6vfp2gWYzZxCZocVKlzlHul8KrJLapPra6x2o=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "5c370c3333aa6648c014a550c8b64f7f90c3f777", "rev": "5cf53f581b8b383fe7b1bf9bb9e28c72394e2e16",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -695,11 +695,11 @@
}, },
"import-tree": { "import-tree": {
"locked": { "locked": {
"lastModified": 1772344373, "lastModified": 1772999353,
"narHash": "sha256-OQQ1MhB9t1J71b2wxRRTdH/Qd8UGG0p+dGspfCf5U1c=", "narHash": "sha256-dPb0WxUhFaz6wuR3B6ysqFJpsu8txKDPZvS47AT2XLI=",
"owner": "vic", "owner": "vic",
"repo": "import-tree", "repo": "import-tree",
"rev": "10fda59eee7d7970ec443b925f32a1bc7526648c", "rev": "545a4df146fce44d155573e47f5a777985acf912",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -744,11 +744,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1772173633, "lastModified": 1772771118,
"narHash": "sha256-MOH58F4AIbCkh6qlQcwMycyk5SWvsqnS/TCfnqDlpj4=", "narHash": "sha256-xWzaTvmmACR/SRWtABgI/Z97lcqwJAeoSd5QW1KdK1s=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6", "rev": "e38213b91d3786389a446dfce4ff5a8aaf6012f2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -789,11 +789,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1772173633, "lastModified": 1772927210,
"narHash": "sha256-BHKMR414WpfUddNyUtx2GR1VPl0R9sWGQs/opgYm9rc=", "narHash": "sha256-9LHFK9vVbEZjy0cHr1Ijb9Gh1bpfKw2wF4r8DiKusS0=",
"rev": "c0f3d81a7ddbc2b1332be0d8481a672b4f6004d6", "rev": "0e6cdd5be64608ef630c2e41f8d51d484468492f",
"type": "tarball", "type": "tarball",
"url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre955350.c0f3d81a7ddb/nixexprs.tar.xz" "url": "https://releases.nixos.org/nixpkgs/nixpkgs-26.05pre960151.0e6cdd5be646/nixexprs.tar.xz"
}, },
"original": { "original": {
"type": "tarball", "type": "tarball",
@@ -933,7 +933,6 @@
"raspberry-pi-nix": "raspberry-pi-nix", "raspberry-pi-nix": "raspberry-pi-nix",
"sops-nix": "sops-nix", "sops-nix": "sops-nix",
"stylix": "stylix", "stylix": "stylix",
"systems": "systems_5",
"zen-browser": "zen-browser" "zen-browser": "zen-browser"
} }
}, },
@@ -1063,11 +1062,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772401007, "lastModified": 1772944399,
"narHash": "sha256-YHykQg0h9hrlZGpMcywnaFzQ1Kn/5YNCCOSaaAl6z7Q=", "narHash": "sha256-xTzsSd3r5HBeufSZ3fszAn0ldfKctvsYG7tT2YJg5gY=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "d8be5ea4cd3bc363492ab5bc6e874ccdc5465fe4", "rev": "c8e69670b316d6788e435a3aa0bda74eb1b82cc0",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -1170,21 +1169,6 @@
"type": "github" "type": "github"
} }
}, },
"systems_5": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"tinted-foot": { "tinted-foot": {
"flake": false, "flake": false,
"locked": { "locked": {
@@ -1332,11 +1316,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772340029, "lastModified": 1772685307,
"narHash": "sha256-4KmL71wCRrkooDKEClMrKgG0QBAcBYYPnFNltYXyhYg=", "narHash": "sha256-5xthZHeqwBeXNhnRIlxnCuaZLky0SZ6vQsxtd+eqhTU=",
"owner": "youwen5", "owner": "youwen5",
"repo": "zen-browser-flake", "repo": "zen-browser-flake",
"rev": "0ffb3ae574f1048ecfce7e3ffc25693f8cd7ee91", "rev": "dc92d88524ee83308795bc90f6a9f1d965265aaa",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@@ -38,7 +38,6 @@
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
url = "github:nix-community/stylix"; url = "github:nix-community/stylix";
}; };
systems.url = "github:nix-systems/default";
zen-browser = { zen-browser = {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
url = "github:youwen5/zen-browser-flake"; url = "github:youwen5/zen-browser-flake";