mirror of
https://codeberg.org/leana8959/.files.git
synced 2025-12-06 06:39:14 +00:00
vanadium/zen-browser: init
This commit is contained in:
parent
b0813c1e96
commit
d74245aff7
6 changed files with 378 additions and 11 deletions
|
|
@ -56,6 +56,7 @@ in
|
||||||
../overlays/eepy.nix
|
../overlays/eepy.nix
|
||||||
../overlays/calibre-no-mime.nix
|
../overlays/calibre-no-mime.nix
|
||||||
../overlays/fcitx5-table-extra-taiwanese.nix
|
../overlays/fcitx5-table-extra-taiwanese.nix
|
||||||
|
../overlays/zen-browser.nix
|
||||||
|
|
||||||
../overlays/iosevka.nix
|
../overlays/iosevka.nix
|
||||||
../packages/overlay.nix
|
../packages/overlay.nix
|
||||||
|
|
@ -152,6 +153,7 @@ in
|
||||||
./vanadium/home/programs.nix
|
./vanadium/home/programs.nix
|
||||||
./vanadium/home/misc.nix
|
./vanadium/home/misc.nix
|
||||||
|
|
||||||
|
./vanadium/home/zen-browser.nix
|
||||||
./vanadium/home/firefox.nix
|
./vanadium/home/firefox.nix
|
||||||
./vanadium/home/xmobar.nix
|
./vanadium/home/xmobar.nix
|
||||||
|
|
||||||
|
|
@ -170,6 +172,7 @@ in
|
||||||
../homeModules/common/atuin.nix
|
../homeModules/common/atuin.nix
|
||||||
../homeModules/common/direnv.nix
|
../homeModules/common/direnv.nix
|
||||||
../homeModules/common/feh.nix
|
../homeModules/common/feh.nix
|
||||||
|
../homeModules/common/zen-browser.nix
|
||||||
../homeModules/common/firefox.nix
|
../homeModules/common/firefox.nix
|
||||||
../homeModules/common/fzf.nix
|
../homeModules/common/fzf.nix
|
||||||
../homeModules/common/git.nix
|
../homeModules/common/git.nix
|
||||||
|
|
@ -191,6 +194,8 @@ in
|
||||||
#
|
#
|
||||||
(sources.agenix + "/modules/age-home.nix")
|
(sources.agenix + "/modules/age-home.nix")
|
||||||
sources.wired-notify.asFlake.homeManagerModules.default
|
sources.wired-notify.asFlake.homeManagerModules.default
|
||||||
|
|
||||||
|
sources.zen-browser.asFlake.homeModules.twilight
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
165
nix/configurations/vanadium/home/zen-browser.nix
Normal file
165
nix/configurations/vanadium/home/zen-browser.nix
Normal file
|
|
@ -0,0 +1,165 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (pkgs) nur;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.zen-browser = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
|
policies.SearchEngines.Add = [
|
||||||
|
# Forges
|
||||||
|
{
|
||||||
|
Name = "GitHub";
|
||||||
|
Alias = "@gh";
|
||||||
|
IconURL = "https://github.com/favicon.ico";
|
||||||
|
Description = "Your code yum yum";
|
||||||
|
URLTemplate = "https://github.com/search?q={searchTerms}&type=repositories";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Name = "GitHub (Code Search)";
|
||||||
|
Alias = "@ghc";
|
||||||
|
IconURL = "https://github.com/favicon.ico";
|
||||||
|
Description = "Your code yum yum";
|
||||||
|
URLTemplate = "https://github.com/search?q={searchTerms}&type=code";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Name = "Codeberg";
|
||||||
|
Alias = "@cb";
|
||||||
|
IconURL = "https://codeberg.org/favicon.ico";
|
||||||
|
Description = "Software development, but free!";
|
||||||
|
URLTemplate = "https://codeberg.org/explore/repos?q={searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Name = "?C";
|
||||||
|
Alias = "@cc";
|
||||||
|
IconURL = "https://git.confusedcompiler.org/favicon.ico";
|
||||||
|
URLTemplate = "https://git.confusedcompiler.org/explore/repos?q={searchTerms}";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Nix{,OS,pkgs}
|
||||||
|
{
|
||||||
|
Name = "NixOS Search (Package)";
|
||||||
|
Alias = "@np";
|
||||||
|
IconURL = "https://nixos.org/favicon.ico";
|
||||||
|
Description = "Search in nixpkgs";
|
||||||
|
URLTemplate = "https://search.nixos.org/packages?query={searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Name = "NixOS Search (Options)";
|
||||||
|
Alias = "@no";
|
||||||
|
IconURL = "https://nixos.org/favicon.ico";
|
||||||
|
Description = "Search in NixOS options";
|
||||||
|
URLTemplate = "https://search.nixos.org/options?query={searchTerms}";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Haskell
|
||||||
|
{
|
||||||
|
Name = "Flora";
|
||||||
|
Alias = "@hs";
|
||||||
|
IconURL = "https://flora.pm/static/icons/favicon-32x32.png";
|
||||||
|
URLTemplate = "https://flora.pm/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Discourse
|
||||||
|
{
|
||||||
|
Name = "NixOS Discourse";
|
||||||
|
Alias = "@nd";
|
||||||
|
IconURL = "https://nixos.org/favicon.ico";
|
||||||
|
URLTemplate = "https://discourse.nixos.org/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Name = "Framework Discourse";
|
||||||
|
Alias = "@fd";
|
||||||
|
IconURL = "https://frame.work/favicon.ico";
|
||||||
|
URLTemplate = "https://community.frame.work/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
|
||||||
|
# Misc
|
||||||
|
{
|
||||||
|
Name = "YouTube";
|
||||||
|
Alias = "@yt";
|
||||||
|
IconURL = "https://youtube.com/favicon.ico";
|
||||||
|
SuggestURLTemplate = "http://suggestqueries.google.com/complete/search?q={searchTerms}&ds=yt";
|
||||||
|
URLTemplate = "https://www.youtube.com/results?search_query={searchTerms}";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
Name = "Genius";
|
||||||
|
Alias = "@geni";
|
||||||
|
IconURL = "https://genius.com/favicon.ico";
|
||||||
|
URLTemplate = "https://genius.com/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
profiles = {
|
||||||
|
default = {
|
||||||
|
settings = {
|
||||||
|
# "full-screen-api.ignore-widgets" = true; # limit fullscreen mode to window
|
||||||
|
};
|
||||||
|
userChrome = ''
|
||||||
|
/* monofont tweak */
|
||||||
|
#statuspanel-label {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
.urlbar-input-box {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
'';
|
||||||
|
extensions.packages =
|
||||||
|
let
|
||||||
|
addons = nur.repos.rycee.firefox-addons;
|
||||||
|
in
|
||||||
|
[
|
||||||
|
addons.sponsorblock
|
||||||
|
addons.return-youtube-dislikes
|
||||||
|
addons.consent-o-matic
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
junk = {
|
||||||
|
id = 1;
|
||||||
|
inherit (config.programs.zen-browser.profiles.default)
|
||||||
|
settings
|
||||||
|
userChrome
|
||||||
|
;
|
||||||
|
|
||||||
|
extensions.packages =
|
||||||
|
let
|
||||||
|
addons = nur.repos.rycee.firefox-addons;
|
||||||
|
in
|
||||||
|
[ addons.multi-account-containers ];
|
||||||
|
|
||||||
|
containers = {
|
||||||
|
raisin = {
|
||||||
|
color = "purple";
|
||||||
|
icon = "fruit";
|
||||||
|
id = 1;
|
||||||
|
};
|
||||||
|
pomme = {
|
||||||
|
color = "red";
|
||||||
|
icon = "fruit";
|
||||||
|
id = 2;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# Isolate it because it's proprietary
|
||||||
|
tampermonkey = {
|
||||||
|
id = 2;
|
||||||
|
inherit (config.programs.zen-browser.profiles.default)
|
||||||
|
settings
|
||||||
|
userChrome
|
||||||
|
;
|
||||||
|
|
||||||
|
extensions.packages =
|
||||||
|
let
|
||||||
|
addons = nur.repos.rycee.firefox-addons;
|
||||||
|
in
|
||||||
|
[ addons.tampermonkey ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -129,15 +129,15 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
xdg.mimeApps = lib.mkIf cfg.enable {
|
# xdg.mimeApps = lib.mkIf cfg.enable {
|
||||||
enable = true;
|
# enable = true;
|
||||||
# source: https://unix.stackexchange.com/a/684582
|
# # source: https://unix.stackexchange.com/a/684582
|
||||||
defaultApplications = {
|
# defaultApplications = {
|
||||||
"text/html" = "firefox.desktop";
|
# "text/html" = "firefox.desktop";
|
||||||
"x-scheme-handler/http" = "firefox.desktop";
|
# "x-scheme-handler/http" = "firefox.desktop";
|
||||||
"x-scheme-handler/https" = "firefox.desktop";
|
# "x-scheme-handler/https" = "firefox.desktop";
|
||||||
"x-scheme-handler/about" = "firefox.desktop";
|
# "x-scheme-handler/about" = "firefox.desktop";
|
||||||
"x-scheme-handler/unknown" = "firefox.desktop";
|
# "x-scheme-handler/unknown" = "firefox.desktop";
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
}
|
}
|
||||||
|
|
|
||||||
169
nix/homeModules/common/zen-browser.nix
Normal file
169
nix/homeModules/common/zen-browser.nix
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
let
|
||||||
|
inherit (pkgs) nur;
|
||||||
|
|
||||||
|
cfg = config.programs.zen-browser;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
programs.zen-browser = {
|
||||||
|
# TODO: upstream default is broken? They default to zen-twilight
|
||||||
|
package = pkgs.twilight;
|
||||||
|
|
||||||
|
# https://mozilla.github.io/policy-templates
|
||||||
|
# The following have more complex logic, keep them as policies and not profiles
|
||||||
|
policies = {
|
||||||
|
RequestedLocales = [
|
||||||
|
"fr-FR" # for fuck sake stop showing me translated version of French gov sites
|
||||||
|
"zh-TW"
|
||||||
|
"en-US"
|
||||||
|
];
|
||||||
|
|
||||||
|
SearchEngines = {
|
||||||
|
Remove = [
|
||||||
|
"Google"
|
||||||
|
"Bing"
|
||||||
|
"DuckDuckGo"
|
||||||
|
"Qwant"
|
||||||
|
"eBay"
|
||||||
|
"Perplexity"
|
||||||
|
];
|
||||||
|
Default = "Brave";
|
||||||
|
Add = [
|
||||||
|
{
|
||||||
|
Name = "Brave";
|
||||||
|
Alias = "@br";
|
||||||
|
URLTemplate = "https://search.brave.com/search?q={searchTerms}&source=web";
|
||||||
|
SuggestURLTemplate = "https://suggestqueries.google.com/complete/search?q={searchTerms}";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
DisplayMenuBar = "never";
|
||||||
|
DisplayBookmarksToolbar = "never";
|
||||||
|
DNSOverHTTPS = {
|
||||||
|
Enabled = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# https://searchfox.org/mozilla-central/source/browser/components/enterprisepolicies/Policies.sys.mjs
|
||||||
|
# Some policies can be rewritten to profiles configuration
|
||||||
|
#
|
||||||
|
# TODO: try out the "locked" semantic from zen
|
||||||
|
# https://github.com/0xc000022070/zen-browser-flake/tree/main#preferences
|
||||||
|
profiles.default = {
|
||||||
|
settings = {
|
||||||
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
"browser.tabs.loadInBackground" = true;
|
||||||
|
"browser.ctrlTab.sortByRecentlyUsed" = false;
|
||||||
|
"layout.css.devPixelsPerPx" = 1.1;
|
||||||
|
|
||||||
|
# open links in new window
|
||||||
|
# this works a lot better with xmonad where I have a bunch of windows
|
||||||
|
"browser.link.open_newwindow" = 2;
|
||||||
|
|
||||||
|
# Sponsored crap
|
||||||
|
# Yes
|
||||||
|
"browser.newtabpage.activity-stream.showSearch" = true;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.topsites" = true;
|
||||||
|
# No
|
||||||
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.highlights" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
|
||||||
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
||||||
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||||
|
|
||||||
|
# URL
|
||||||
|
# Yes
|
||||||
|
"browser.urlbar.suggest.quicksuggest.nonsponsored" = true;
|
||||||
|
# No
|
||||||
|
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||||
|
|
||||||
|
# Pasword manager
|
||||||
|
"signon.rememberSignons" = false;
|
||||||
|
"services.passwordSavingEnabled" = false;
|
||||||
|
"pref.privacy.disable_button.view_passwords" = false;
|
||||||
|
|
||||||
|
# Hardware acceleration
|
||||||
|
"layers.acceleration.disabled" = false;
|
||||||
|
|
||||||
|
# Screenshot
|
||||||
|
"screenshots.browser.component.enabled" = true;
|
||||||
|
|
||||||
|
# Recommendations
|
||||||
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
|
||||||
|
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
|
||||||
|
"extensions.htmlaboutaddons.recommendations.enabled" = false; # Addons
|
||||||
|
|
||||||
|
# Onboarding
|
||||||
|
"browser.aboutwelcome.enabled" = false;
|
||||||
|
|
||||||
|
# AI crap
|
||||||
|
"browser.ml.chat.enabled" = false;
|
||||||
|
"browser.ml.chat.page" = false;
|
||||||
|
"browser.ml.chat.shortcuts" = false;
|
||||||
|
"browser.ml.chat.sidebar" = false;
|
||||||
|
|
||||||
|
# Prevent WebRTC leak
|
||||||
|
# https://mullvad.net/en/help/webrtc
|
||||||
|
"media.peerconnection.enabled" = false;
|
||||||
|
};
|
||||||
|
|
||||||
|
extensions.packages =
|
||||||
|
let
|
||||||
|
addons = nur.repos.rycee.firefox-addons;
|
||||||
|
in
|
||||||
|
[
|
||||||
|
addons.ublock-origin
|
||||||
|
addons.privacy-badger
|
||||||
|
addons.user-agent-string-switcher
|
||||||
|
|
||||||
|
/*
|
||||||
|
Here's to you who want to remove news feed eradicator because you find it annoying:
|
||||||
|
It is here to annoy you so it is less likely for you to be on the agency inversion path.
|
||||||
|
DO NOT REMOVE IT. I repeat, DO NOT REMOVE IT.
|
||||||
|
|
||||||
|
If you think it's annoying, go do some jump rope, sing, live.
|
||||||
|
*/
|
||||||
|
addons.news-feed-eradicator # did you read the comment above?
|
||||||
|
addons.multi-account-containers
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
xdg.mimeApps =
|
||||||
|
let
|
||||||
|
associations = builtins.listToAttrs (
|
||||||
|
map
|
||||||
|
(name: {
|
||||||
|
inherit name;
|
||||||
|
value = cfg.package.meta.desktopFileName;
|
||||||
|
})
|
||||||
|
[
|
||||||
|
"application/x-extension-shtml"
|
||||||
|
"application/x-extension-xhtml"
|
||||||
|
"application/x-extension-html"
|
||||||
|
"application/x-extension-xht"
|
||||||
|
"application/x-extension-htm"
|
||||||
|
"x-scheme-handler/unknown"
|
||||||
|
"x-scheme-handler/mailto"
|
||||||
|
"x-scheme-handler/chrome"
|
||||||
|
"x-scheme-handler/about"
|
||||||
|
"x-scheme-handler/https"
|
||||||
|
"x-scheme-handler/http"
|
||||||
|
"application/xhtml+xml"
|
||||||
|
"application/json"
|
||||||
|
"text/plain"
|
||||||
|
"text/html"
|
||||||
|
]
|
||||||
|
);
|
||||||
|
in
|
||||||
|
lib.mkIf cfg.enable {
|
||||||
|
associations.added = associations;
|
||||||
|
defaultApplications = associations;
|
||||||
|
};
|
||||||
|
}
|
||||||
15
nix/overlays/zen-browser.nix
Normal file
15
nix/overlays/zen-browser.nix
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
let
|
||||||
|
sources = import ../../npins;
|
||||||
|
in
|
||||||
|
final: _: {
|
||||||
|
inherit (sources.zen-browser.asFlake.packages.${final.system})
|
||||||
|
beta-unwrapped
|
||||||
|
twilight-unwrapped
|
||||||
|
twilight-official-unwrapped
|
||||||
|
|
||||||
|
beta # default
|
||||||
|
|
||||||
|
twilight
|
||||||
|
twilight-official
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
@ -368,6 +368,19 @@
|
||||||
"revision": "6a96aa2066d8ad945f2323b63dc217081ef51168",
|
"revision": "6a96aa2066d8ad945f2323b63dc217081ef51168",
|
||||||
"url": "https://github.com/Toqozz/wired-notify/archive/6a96aa2066d8ad945f2323b63dc217081ef51168.tar.gz",
|
"url": "https://github.com/Toqozz/wired-notify/archive/6a96aa2066d8ad945f2323b63dc217081ef51168.tar.gz",
|
||||||
"hash": "02b8pva12rzcciq5lavwk824xaym28igfsva4kikvd7mxs06ccwx"
|
"hash": "02b8pva12rzcciq5lavwk824xaym28igfsva4kikvd7mxs06ccwx"
|
||||||
|
},
|
||||||
|
"zen-browser": {
|
||||||
|
"type": "Git",
|
||||||
|
"repository": {
|
||||||
|
"type": "GitHub",
|
||||||
|
"owner": "0xc000022070",
|
||||||
|
"repo": "zen-browser-flake"
|
||||||
|
},
|
||||||
|
"branch": "main",
|
||||||
|
"submodules": false,
|
||||||
|
"revision": "ef951ed2d976bcd1f57a09f358fdda9fa9425018",
|
||||||
|
"url": "https://github.com/0xc000022070/zen-browser-flake/archive/ef951ed2d976bcd1f57a09f358fdda9fa9425018.tar.gz",
|
||||||
|
"hash": "1s85cxiwhzwqgbazcgv12xqdlk1nkfynv23r9zj8gip4j6pznr4z"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"version": 5
|
"version": 5
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue