From 36ad6aeb572f566c3ca822a50d4e07d59bba045f Mon Sep 17 00:00:00 2001 From: Hadi <112569860+anotherhadi@users.noreply.github.com> Date: Sat, 11 Apr 2026 11:59:04 +0200 Subject: [PATCH] Change from brave to zen Signed-off-by: Hadi <112569860+anotherhadi@users.noreply.github.com> --- flake.lock | 62 ++++- flake.nix | 8 + home/programs/brave/default.nix | 5 - home/programs/zen/bookmarks.nix | 167 +++++++++++++ home/programs/zen/default.nix | 376 ++++++++++++++++++++++++++++++ home/programs/zen/pins.nix | 24 ++ home/programs/zen/policies.nix | 44 ++++ home/programs/zen/search.nix | 162 +++++++++++++ home/programs/zen/settings.nix | 65 ++++++ home/programs/zen/spaces.nix | 13 ++ home/system/hyprland/bindings.nix | 26 +-- home/system/hyprland/default.nix | 4 +- home/system/mime/default.nix | 2 +- hosts/laptop/home.nix | 1 + 14 files changed, 937 insertions(+), 22 deletions(-) create mode 100644 home/programs/zen/bookmarks.nix create mode 100644 home/programs/zen/default.nix create mode 100644 home/programs/zen/pins.nix create mode 100644 home/programs/zen/policies.nix create mode 100644 home/programs/zen/search.nix create mode 100644 home/programs/zen/settings.nix create mode 100644 home/programs/zen/spaces.nix diff --git a/flake.lock b/flake.lock index 848f6d9..b1e522b 100644 --- a/flake.lock +++ b/flake.lock @@ -119,6 +119,22 @@ "type": "github" } }, + "betterfox": { + "flake": false, + "locked": { + "lastModified": 1775763269, + "narHash": "sha256-cICl9WpAWdrzbQTjEnAXMiZ4tlC/YL3yiD4JtikPfkI=", + "owner": "yokoffing", + "repo": "Betterfox", + "rev": "a9b4b8803aebd3a87492f0936db5a3c8513ae522", + "type": "github" + }, + "original": { + "owner": "yokoffing", + "repo": "Betterfox", + "type": "github" + } + }, "blog": { "inputs": { "bun2nix": "bun2nix", @@ -583,6 +599,27 @@ "type": "github" } }, + "home-manager_2": { + "inputs": { + "nixpkgs": [ + "zen-browser", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1774991950, + "narHash": "sha256-kScKj3qJDIWuN9/6PMmgy5esrTUkYinrO5VvILik/zw=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "f2d3e04e278422c7379e067e323734f3e8c585a7", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, "hyprcursor": { "inputs": { "hyprlang": [ @@ -1467,6 +1504,7 @@ "root": { "inputs": { "awesome-wallpapers": "awesome-wallpapers", + "betterfox": "betterfox", "blog": "blog", "bun2nix": "bun2nix_2", "caelestia-cli": "caelestia-cli", @@ -1483,7 +1521,8 @@ "nvf": "nvf", "sops-nix": "sops-nix", "spicetify-nix": "spicetify-nix", - "stylix": "stylix" + "stylix": "stylix", + "zen-browser": "zen-browser" } }, "sops-nix": { @@ -1903,6 +1942,27 @@ "repo": "xdg-desktop-portal-hyprland", "type": "github" } + }, + "zen-browser": { + "inputs": { + "home-manager": "home-manager_2", + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1775744672, + "narHash": "sha256-Qg3Wnn3WYiiii35CE9kE+XX4ooSFzupAnGC1/NjI5C8=", + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "rev": "14a238beb0621977e9bf04cba68919d5650deea9", + "type": "github" + }, + "original": { + "owner": "0xc000022070", + "repo": "zen-browser-flake", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index 918820a..e26fa90 100644 --- a/flake.nix +++ b/flake.nix @@ -35,6 +35,14 @@ url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; + betterfox = { + url = "github:yokoffing/Betterfox"; + flake = false; + }; + zen-browser = { + url = "github:0xc000022070/zen-browser-flake"; + inputs.nixpkgs.follows = "nixpkgs"; + }; # Server # FIXME: Deleted repo for now # eleakxir.url = "github:anotherhadi/eleakxir"; diff --git a/home/programs/brave/default.nix b/home/programs/brave/default.nix index 2aedfce..28c1da8 100644 --- a/home/programs/brave/default.nix +++ b/home/programs/brave/default.nix @@ -63,11 +63,6 @@ BraveDarkMode = 1; }; - home.sessionVariables = { - DEFAULT_BROWSER = "${pkgs.brave}/bin/brave"; - BROWSER = "${pkgs.brave}/bin/brave"; - }; - xdg.desktopEntries = { brave-incognito = { name = "Brave (Private window)"; diff --git a/home/programs/zen/bookmarks.nix b/home/programs/zen/bookmarks.nix new file mode 100644 index 0000000..afb8f24 --- /dev/null +++ b/home/programs/zen/bookmarks.nix @@ -0,0 +1,167 @@ +{ + force = true; + settings = [ + { + name = "Bookmarks"; + toolbar = false; + bookmarks = [ + { + name = "Mail"; + url = "https://mail.proton.me"; + } + { + name = "Drive"; + url = "https://drive.proton.me"; + } + { + name = "Lumo"; + url = "https://lumo.proton.me"; + } + { + name = "Calendar"; + url = "https://calendar.proton.me"; + } + { + name = "Maps"; + url = "https://maps.apple.com"; + } + { + name = "Amazon"; + url = "https://amazon.fr"; + } + { + name = "Tools"; + bookmarks = [ + { + name = "Excalidraw"; + url = "https://excalidraw.com"; + } + { + name = "Cobalt (downloader)"; + url = "https://cobalt.meowing.de"; + } + { + name = "Mazanoke (image downgrading)"; + url = "https://mazanoke.hadi.icu"; + } + { + name = "Stirling PDF"; + url = "https://pdf.hadi.icu"; + } + { + name = "Vert (file converter)"; + url = "https://vert.sh"; + } + { + name = "Markdown to pdf"; + url = "https://md2file.com"; + } + { + name = "Image to Vector"; + url = "https://www.vectorcascade.com/"; + } + { + name = "PrivateBin"; + url = "https://privatebin.net"; + } + ]; + } + { + name = "Social"; + bookmarks = [ + { + name = "Bsky"; + url = "https://bsky.app"; + } + { + name = "Reddit"; + url = "https://reddit.com"; + } + { + name = "Youtube"; + url = "https://youtube.com"; + } + { + name = "Instagram"; + url = "https://instagram.com"; + } + { + name = "Github"; + url = "https://github.com"; + } + { + name = "Discord"; + url = "https://discord.com/channels/@me/"; + } + ]; + } + { + name = "Other"; + bookmarks = [ + { + name = "Startpage config"; + url = "https://www.startpage.com/do/mypage.pl?prfe=45d331deb05471d659dba933e7400df51d952bb103da6f6125c0e769a6be1d65610456a479f495ceeee7e97311cf227d7c1bb198de0ceeb193d8cddf9c455c19a409cc35c3e3f542ee27bd7cecd3"; + } + { + name = "Hyprland Wiki"; + url = "https://wiki.hypr.land"; + } + { + name = "Search NixOS"; + url = "https://mynixos.com"; + } + { + name = "Nixpkgs"; + url = "https://github.com/NixOS/nixpkgs"; + } + { + name = "Claude"; + url = "https://claude.ai"; + } + { + name = "Gemini"; + url = "https://gemini.google.com"; + } + { + name = "Medium"; + url = "https://medium.com"; + } + ]; + } + { + name = "Infosec"; + bookmarks = [ + { + name = "Nix 4 Cyber"; + url = "https://n4c.hadi.icu"; + } + { + name = "Cyberchef"; + url = "https://cyberchef.hadi.icu"; + } + { + name = "TryHackMe"; + url = "https://tryhackme.com"; + } + { + name = "Root-Me"; + url = "https://root-me.org"; + } + { + name = "Exploit-DB"; + url = "https://exploit-db.com"; + } + { + name = "Crack Station"; + url = "https://crackstation.net"; + } + { + name = "Osint Tracker"; + url = "https://app.osintracker.com"; + } + ]; + } + ]; + } + ]; +} diff --git a/home/programs/zen/default.nix b/home/programs/zen/default.nix new file mode 100644 index 0000000..4f8518b --- /dev/null +++ b/home/programs/zen/default.nix @@ -0,0 +1,376 @@ +{ + inputs, + lib, + pkgs, + ... +}: { + imports = [inputs.zen-browser.homeModules.beta]; + + stylix.targets.zen-browser.profileNames = ["default"]; + + home.sessionVariables = { + MOZ_LEGACY_PROFILES = 1; + DEFAULT_BROWSER = "zen-beta"; + BROWSER = "zen-beta"; + }; + + programs.zen-browser = { + enable = true; + nativeMessagingHosts = [pkgs.firefoxpwa]; + policies = import ./policies.nix {inherit lib;}; + languagePacks = ["en-US" "fr"]; + profiles = { + default = { + id = 0; + name = "default"; + isDefault = true; + containersForce = true; + pinsForce = true; + spacesForce = true; + + settings = import ./settings.nix; + bookmarks = import ./bookmarks.nix; + search = import ./search.nix {inherit pkgs;}; + pins = import ./pins.nix; + spaces = import ./spaces.nix; + keyboardShortcuts = [ + # Remaps + { + id = "focusURLBar"; + key = " "; + modifiers.control = true; + } + { + id = "key_newNavigator"; + key = "n"; + modifiers.accel = true; + } + { + id = "viewBookmarksToolbarKb"; + key = "s"; + modifiers.accel = true; + } + { + id = "key_findAgain"; + disabled = true; + } + { + id = "key_findPrevious"; + disabled = true; + } + { + id = "key_privatebrowsing"; + key = "n"; + modifiers = { + accel = true; + shift = true; + }; + } + { + id = "key_gotoHistory"; + key = "h"; + modifiers = { + accel = true; + shift = true; + }; + } + { + id = "goBackKb"; + key = "h"; + modifiers.accel = true; + } + { + id = "goForwardKb"; + key = "l"; + modifiers.accel = true; + } + + # Disabled shortcuts + { + id = "printKb"; + disabled = true; + } + { + id = "zen-close-all-unpinned-tabs"; + disabled = true; + } + { + id = "zen-new-empty-split-view"; + disabled = true; + } + { + id = "zen-split-view-unsplit"; + disabled = true; + } + { + id = "zen-split-view-horizontal"; + disabled = true; + } + { + id = "zen-split-view-vertical"; + disabled = true; + } + { + id = "zen-split-view-grid"; + disabled = true; + } + { + id = "zen-glance-expand"; + disabled = true; + } + { + id = "zen-toggle-pin-tab"; + disabled = true; + } + { + id = "zen-toggle-sidebar"; + disabled = true; + } + { + id = "zen-new-unsynced-window"; + disabled = true; + } + { + id = "key_closeWindow"; + disabled = true; + } + { + id = "key_quitApplication"; + disabled = true; + } + { + id = "key_search"; + disabled = true; + } + { + id = "key_search2"; + disabled = true; + } + { + id = "focusURLBar2"; + disabled = true; + } + { + id = "key_savePage"; + disabled = true; + } + { + id = "key_togglePictureInPicture"; + disabled = true; + } + { + id = "showAllHistoryKb"; + disabled = true; + } + { + id = "addBookmarkAsKb"; + disabled = true; + } + { + id = "manBookmarkKb"; + disabled = true; + } + { + id = "viewBookmarksSidebarKb"; + disabled = true; + } + { + id = "key_toggleMute"; + disabled = true; + } + { + id = "key_switchTextDirection"; + disabled = true; + } + { + id = "key_screenshot"; + disabled = true; + } + { + id = "key_viewInfo"; + disabled = true; + } + { + id = "key_toggleToolbox"; + disabled = true; + } + { + id = "key_browserToolbox"; + disabled = true; + } + { + id = "key_browserConsole"; + disabled = true; + } + { + id = "key_responsiveDesignMode"; + disabled = true; + } + { + id = "key_inspector"; + disabled = true; + } + { + id = "key_webconsole"; + disabled = true; + } + { + id = "key_jsdebugger"; + disabled = true; + } + { + id = "key_netmonitor"; + disabled = true; + } + { + id = "key_styleeditor"; + disabled = true; + } + { + id = "key_performance"; + disabled = true; + } + { + id = "key_storage"; + disabled = true; + } + { + id = "key_dom"; + disabled = true; + } + { + id = "key_accessibility"; + disabled = true; + } + { + id = "key_openDownloads"; + disabled = true; + } + { + id = "key_openAddons"; + disabled = true; + } + { + id = "key_reload"; + disabled = true; + } + { + id = "key_reload2"; + disabled = true; + } + { + id = "key_reload_skip_cache"; + disabled = true; + } + { + id = "key_reload_skip_cache2"; + disabled = true; + } + { + id = "key_enterFullScreen"; + disabled = true; + } + { + id = "key_exitFullScreen"; + disabled = true; + } + { + id = "key_aboutProcesses"; + disabled = true; + } + { + id = "viewGenaiChatSidebarKb"; + disabled = true; + } + { + id = "toggleSidebarKb"; + disabled = true; + } + { + id = "key_showAllTabs"; + disabled = true; + } + { + id = "key_sanitize"; + disabled = true; + } + { + id = "key_wrCaptureCmd"; + disabled = true; + } + { + id = "key_wrToggleCaptureSequenceCmd"; + disabled = true; + } + { + id = "goHome"; + disabled = true; + } + { + id = "goBackKb2"; + disabled = true; + } + { + id = "goForwardKb2"; + disabled = true; + } + ]; + extraConfig = '' + // BETTERFOX + // ${builtins.readFile "${inputs.betterfox}/user.js"} // The way we do it here, importing the others separately is better + ${builtins.readFile "${inputs.betterfox}/Fastfox.js"} + ${builtins.readFile "${inputs.betterfox}/Securefox.js"} + ${builtins.readFile "${inputs.betterfox}/Peskyfox.js"} + + /**************************************************************************** + * START: MY OVERRIDES * + ****************************************************************************/ + // Visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides + // Visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening + // Enter your personal overrides below this line: + + // Common Overrides + user_pref("browser.contentblocking.features.strict", "tp,tpPrivate,cookieBehavior5,cookieBehaviorPBM5,cm,fp,stp,emailTP,emailTPPrivate,-lvl2,rp,rpTop,ocsp,qps,qpsPBM,fpp,fppPrivate,3pcd,btp"); // https://github.com/yokoffing/Betterfox/wiki/Common-Overrides#example + user_pref("permissions.default.geo", 0); // https://github.com/yokoffing/Betterfox/wiki/Common-Overrides#location-requests + user_pref("permissions.default.desktop-notification", 0); // https://github.com/yokoffing/Betterfox/wiki/Common-Overrides#site-notifications + user_pref("browser.ml.linkPreview.enabled", true); // https://github.com/yokoffing/Betterfox/wiki/Common-Overrides#ai-features + + // Optional Hardening + // Below 2 - https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening#firefox-sync--view + user_pref("identity.fxaccounts.enabled", false); // PREF: disable Firefox Sync + user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}"); // PREF: disable the Firefox View tour from popping up + // Below 3 - https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening#password-credit-card-and-address-management + user_pref("signon.rememberSignons", false); // PREF: disable login manager + user_pref("extensions.formautofill.addresses.enabled", false); // PREF: disable address and credit card manager + user_pref("extensions.formautofill.creditCards.enabled", false); // PREF: disable address and credit card manager + // TODO - Future? https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening#secure-dns + // Below 3 - https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening#downloads + user_pref("browser.download.useDownloadDir", true); // PREF: use default download directory + user_pref("browser.download.always_ask_before_handling_new_types", false); // PREF: ask whether to open or save new file types + user_pref("extensions.postDownloadThirdPartyPrompt", false); // PREF: display the installation prompt for all extensions + // Below 1 - https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening#public-key-pinning + user_pref("security.cert_pinning.enforcement_level", 2); // PREF: enforce certificate pinning, [ERROR] MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE, 1 = allow user MiTM (such as your antivirus) (default), 2 = strict + + /**************************************************************************** + * SECTION: SMOOTHFOX * + ****************************************************************************/ + // Visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js + // Enter your scrolling overrides below this line: + // Section taken from https://github.com/yokoffing/Betterfox/blob/eee6e58b2b0ee10a59efb6586a5db07ae181d8c7/Smoothfox.js#L28 + // Advice at https://github.com/yokoffing/Betterfox/wiki/Common-Overrides#scrolling + + /**************************************************************************************** + * OPTION: INSTANT SCROLLING (SIMPLE ADJUSTMENT) * + ****************************************************************************************/ + // Recommended for 60hz+ displays + user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX + user_pref("general.smoothScroll", true); // DEFAULT + user_pref("mousewheel.default.delta_multiplier_y", 275); // 250-400; adjust this number to your liking + // Firefox Nightly only: + // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1846935 + // user_pref("general.smoothScroll.msdPhysics.enabled", false); // [FF122+ Nightly] + ''; + }; + }; + }; +} diff --git a/home/programs/zen/pins.nix b/home/programs/zen/pins.nix new file mode 100644 index 0000000..ae75a21 --- /dev/null +++ b/home/programs/zen/pins.nix @@ -0,0 +1,24 @@ +let + spaces = import ./spaces.nix; +in { + "Mail" = { + id = "13a5d638-53f3-4abb-8498-ec6b4af74d4c"; + url = "https://mail.proton.me"; + workspace = spaces.Home.id; + position = 1000; + }; + + "Drive" = { + id = "271e6164-eb2e-4e9e-a0ad-634d6f442b40"; + url = "https://drive.proton.me"; + workspace = spaces.Home.id; + position = 2000; + }; + + "Github" = { + id = "cb41190e-d410-4da6-801c-4785c5d5993f"; + url = "https://github.com"; + workspace = spaces.Home.id; + position = 3000; + }; +} diff --git a/home/programs/zen/policies.nix b/home/programs/zen/policies.nix new file mode 100644 index 0000000..0face3c --- /dev/null +++ b/home/programs/zen/policies.nix @@ -0,0 +1,44 @@ +{...}: { + ExtensionSettings = { + "*" = { + blocked_install_message = "The addon you are trying to install is not added in the Nix config"; + installation_mode = "blocked"; + }; + "adnauseam@rednoise.org" = { + private_browsing = true; + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/adnauseam/latest.xpi"; + }; + "78272b6fa58f4a1abaac99321d503a20@proton.me" = { + private_browsing = true; + default_area = "navbar"; + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/proton-pass/latest.xpi"; + }; + "{d7742d87-e61d-4b78-b8a1-b469842139fa}" = { + private_browsing = true; + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/vimium-ff/latest.xpi"; + }; + "jid1-MnnxcxisBPnSXQ@jetpack" = { + private_browsing = true; + installation_mode = "force_installed"; + install_url = "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17/latest.xpi"; + }; + # View Xpi Id's in Firefox Extension Store + "queryamoid@kaply.com" = { + private_browsing = true; + installation_mode = "force_installed"; + install_url = "https://github.com/mkaply/queryamoid/releases/download/v0.2/query_amo_addon_id-0.2-fx.xpi"; + }; + }; + "3rdparty".Extensions = { + "adnauseam@rednoise.org" = { + enabled = true; + firstInstall = false; + hidingAds = true; + clickingAds = true; + blockingMalware = true; + }; + }; +} diff --git a/home/programs/zen/search.nix b/home/programs/zen/search.nix new file mode 100644 index 0000000..3c43fb5 --- /dev/null +++ b/home/programs/zen/search.nix @@ -0,0 +1,162 @@ +{pkgs, ...}: { + force = true; + default = "Startpage"; + privateDefault = "Startpage"; + order = [ + "Startpage" + "Gooogle" + "Gooogle (Web)" + "NixOS Packages" + "NixOS Options" + "NixOS Wiki" + "Home Manager" + "My NixOS" + "Noogle" + "ChatGPT" + "Claude" + "Gemini" + "Yandex" + "Google Maps" + ]; + engines = let + nix-icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; + google-icon = "https://www.gstatic.com/images/branding/searchlogo/ico/favicon.ico"; + in { + "Gooogle" = { + urls = [ + { + template = "https://www.google.com/search?num=50&q={searchTerms}"; + } + ]; + icon = google-icon; + definedAliases = ["@gs" "@google"]; + }; + "Gooogle (Web)" = { + urls = [ + { + template = "https://www.google.com/search?num=50&udm=14&q={searchTerms}"; + } + ]; + icon = google-icon; + definedAliases = ["@gw" "@googleweb"]; + }; + "Startpage" = { + urls = [ + { + template = "https://www.startpage.com/sp/search?query={searchTerms}"; + } + ]; + icon = "https://www.startpage.com/sp/cdn/favicons/favicon-gradient.ico"; + definedAliases = ["@sp"]; + updateInterval = 24 * 60 * 60 * 1000; + }; + "NixOS Packages" = { + urls = [ + { + template = "https://search.nixos.org/packages"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = nix-icon; + definedAliases = [ + "@np" + "@nixpkgs" + ]; + }; + "NixOS Options" = { + urls = [ + { + template = "https://search.nixos.org/options"; + params = [ + { + name = "type"; + value = "packages"; + } + { + name = "query"; + value = "{searchTerms}"; + } + ]; + } + ]; + icon = nix-icon; + definedAliases = [ + "@no" + "@nixopts" + ]; + }; + "NixOS Wiki" = { + urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}]; + icon = nix-icon; + updateInterval = 24 * 60 * 60 * 1000; # every day + definedAliases = ["@nw"]; + }; + "Home Manager" = { + urls = [{template = "https://home-manager-options.extranix.com/?query={searchTerms}";}]; + icon = nix-icon; + definedAliases = [ + "@hm" + "@home" + "'homeman" + ]; + }; + "My NixOS" = { + urls = [{template = "https://mynixos.com/search?q={searchTerms}";}]; + icon = nix-icon; + definedAliases = [ + "@n" + "@nx" + "@mynixos" + ]; + }; + "ChatGPT" = { + urls = [ + {template = "https://chat.openai.com/?q={searchTerms}";} + ]; + icon = "https://chatgpt.com/cdn/assets/favicon-eex17e9e.ico"; + definedAliases = ["@cg" "@chatgpt"]; + }; + "Claude" = { + urls = [ + {template = "https://claude.ai/new?q={searchTerms}";} + ]; + icon = "https://claude.ai/favicon.ico"; + definedAliases = ["@claude" "@cl"]; + }; + "Gemini" = { + urls = [ + {template = "https://gemini.google.com/app?q={searchTerms}";} + ]; + icon = "https://www.gstatic.com/lamda/images/gemini_favicon_f069958c85030456e93de685481c559f160ea06.svg"; + definedAliases = ["@gemini" "@gm"]; + }; + "Yandex" = { + urls = [ + {template = "https://yandex.com/search/?text={searchTerms}";} + ]; + icon = "https://yandex.com/favicon.ico"; + definedAliases = ["@yandex" "@ya"]; + }; + "Google Maps" = { + urls = [ + {template = "https://www.google.com/maps/search/{searchTerms}";} + ]; + icon = "https://www.google.com/images/branding/product/ico/maps15_bnuw3a_32dp.ico"; + definedAliases = ["@maps" "@gmaps"]; + }; + "bing".metaData.hidden = true; + "ddg".metaData.hidden = true; + "ebay".metaData.hidden = true; + "google".metaData.hidden = true; + "Perplexity".metaData.hidden = true; + }; +} diff --git a/home/programs/zen/settings.nix b/home/programs/zen/settings.nix new file mode 100644 index 0000000..15a8299 --- /dev/null +++ b/home/programs/zen/settings.nix @@ -0,0 +1,65 @@ +let + lock-false = { + Value = false; + Status = "locked"; + }; + lock-true = { + Value = true; + Status = "locked"; + }; +in { + # NO LONGER NEEDED WITH https://zen-browser.app/mods/e122b5d9-d385-4bf8-9971-e137809097d0/?page=3 YAY! + "browser.newtabpage.activity-stream.feeds.system.topsites" = true; + "browser.newtabpage.activity-stream.feeds.system.topstories" = true; + + "browser.aboutwelcome.enabled" = false; + "browser.ctrlTab.sortByRecentlyUsed" = false; + "browser.startup.page" = 1; + "browser.startup.firstrunSkipsHomepage" = true; + "browser.startup.homepage_override.mstone" = "ignore"; + "trailhead.firstrun.didSeeAboutWelcome" = true; + + # Do not tell what plugins we have enabled: https://mail.mozilla.org/pipermail/firefox-dev/2013-November/001186.html + "plugins.enumerable_names" = ""; + "plugin.state.flash" = 0; + "browser.search.update" = false; + "extensions.getAddons.cache.enabled" = lock-false; + "extensions.ui.sitepermission.hidden" = lock-true; + "extensions.ui.locale.hidden" = lock-true; + + "layout.css.devPixelsPerPx" = -1; + # "zen.theme.accent-color" = "#ffb787"; + "zen.theme.acrylic-elements" = false; + "zen.theme.border-radius" = 8; + "zen.theme.content-element-separation" = 0; + "zen.theme.dark-mode-bias" = 0.3; + # "zen.theme.disable-lightweight" = true; Depracated https://github.com/zen-browser/desktop/issues/9522#issuecomment-3089206722 + "zen.theme.essentials-favicon-bg" = true; + "zen.theme.gradient" = true; + "zen.theme.gradient.show-custom-colors" = false; + "zen.theme.hide-tab-throbber" = true; + "zen.theme.show-custom-colors" = true; + "zen.theme.styled-status-panel" = false; + "zen.theme.use-sysyem-colors" = false; + "zen.theme.use-system-colors" = false; + + "zen.urlbar.behavior" = "normal"; + "zen.urlbar.replace-newtab" = true; + + "zen.view.compact.enable-at-startup" = false; + "zen.view.compact.hide-tabbar" = true; + "zen.view.compact.hide-toolbar" = true; + "zen.view.experimental-no-window-controls" = true; + "zen.view.sidebar-expanded" = false; + "zen.view.use-single-toolbar" = true; + + "zen.glance.enabled" = false; + "zen.tabs.show-newtab-vertical" = false; + + "privacy.userContext.enabled" = false; + "privacy.userContext.ui.enabled" = false; + + "zen.watermark.enabled" = false; + "zen.welcome-screen.seen" = lock-true; + "zen.widget.linux.transparency" = false; # Disable transparent sidebar +} diff --git a/home/programs/zen/spaces.nix b/home/programs/zen/spaces.nix new file mode 100644 index 0000000..8872839 --- /dev/null +++ b/home/programs/zen/spaces.nix @@ -0,0 +1,13 @@ +{ + Home = { + id = "1f8a6f7c-3b59-4d65-9c1f-0a3e9a6f1b01"; + icon = "🏠"; + position = 1000; + }; + + Infosec = { + id = "2b9d4c41-6a8e-4c9b-9a44-6d1c7f2e8b02"; + icon = "🔒"; + position = 2000; + }; +} diff --git a/home/system/hyprland/bindings.nix b/home/system/hyprland/bindings.nix index 1b3e81e..5550156 100644 --- a/home/system/hyprland/bindings.nix +++ b/home/system/hyprland/bindings.nix @@ -66,59 +66,59 @@ in { } { key = "b"; - desc = "Brave"; - cmd = "${pkgs.brave}/bin/brave"; + desc = "Zen Browser"; + cmd = "zen-beta"; } { key = "i"; - desc = "Brave (Private window)"; - cmd = "${pkgs.brave}/bin/brave --incognito"; + desc = "Zen Browser (Private window)"; + cmd = "zen-beta --private-window"; } ])) # Web links - "$mod,B, exec, uwsm app -- ${pkgs.brave}/bin/brave" # Browser (Brave) + "$mod,B, exec, uwsm app -- zen-beta" # Browser (Zen) ("$shiftMod, B, exec, " + lib.getExe (mkMenu [ { key = "h"; desc = "Home"; - cmd = "${pkgs.brave}/bin/brave 'https://home.hadi.icu'"; + cmd = "zen-beta 'https://home.hadi.icu'"; } { key = "m"; desc = "Proton Mail"; - cmd = "${pkgs.brave}/bin/brave 'https://mail.proton.me/u/2/inbox'"; + cmd = "zen-beta 'https://mail.proton.me/u/2/inbox'"; } { key = "c"; desc = "Proton Calendar"; - cmd = "${pkgs.brave}/bin/brave 'https://calendar.proton.me/u/2'"; + cmd = "zen-beta 'https://calendar.proton.me/u/2'"; } { key = "l"; desc = "Proton Lumo"; - cmd = "${pkgs.brave}/bin/brave 'https://lumo.proton.me/u/2'"; + cmd = "zen-beta 'https://lumo.proton.me/u/2'"; } { key = "d"; desc = "Proton Drive"; - cmd = "${pkgs.brave}/bin/brave 'https://drive.proton.me/u/2/'"; + cmd = "zen-beta 'https://drive.proton.me/u/2/'"; } { key = "G"; desc = "Google Gemini"; - cmd = "${pkgs.brave}/bin/brave 'https://gemini.google.com/'"; + cmd = "zen-beta 'https://gemini.google.com/'"; } { key = "g"; desc = "Github"; - cmd = "${pkgs.brave}/bin/brave 'https://github.com/'"; + cmd = "zen-beta 'https://github.com/'"; } { key = "n"; desc = "MyNixos"; - cmd = "${pkgs.brave}/bin/brave 'https://mynixos.com/'"; + cmd = "zen-beta 'https://mynixos.com/'"; } ])) diff --git a/home/system/hyprland/default.nix b/home/system/hyprland/default.nix index 9f72a27..00d47fe 100644 --- a/home/system/hyprland/default.nix +++ b/home/system/hyprland/default.nix @@ -139,9 +139,9 @@ in { windowrule = [ "match:class .*, suppress_event maximize" - "match:class brave-browser, suppress_event float" + "match:class zen-beta, suppress_event float" - "match:class brave-browser, sync_fullscreen 0" + "match:class zen-beta, sync_fullscreen 0" "match:class proton-authenticator, float on" "match:class proton-authenticator, center on" diff --git a/home/system/mime/default.nix b/home/system/mime/default.nix index c72ca3a..e22d72f 100644 --- a/home/system/mime/default.nix +++ b/home/system/mime/default.nix @@ -7,7 +7,7 @@ with lib; let defaultApps = { # check desktop files here: `ls $(echo $XDG_DATA_DIRS| sed "s/:/ /g")` - browser = ["brave.desktop"]; + browser = ["zen-beta.desktop"]; text = [ # "org.gnome.TextEditor.desktop" "nvim-ghostty.desktop" diff --git a/hosts/laptop/home.nix b/hosts/laptop/home.nix index e460dbd..0372ac4 100644 --- a/hosts/laptop/home.nix +++ b/hosts/laptop/home.nix @@ -23,6 +23,7 @@ ../../home/programs/nightshift ../../home/programs/group/cybersecurity.nix ../../home/programs/nix-utils + ../../home/programs/zen # System (Desktop environment like stuff) ../../home/system/hyprland