feat: switch back to zen browser
This commit is contained in:
@@ -13,15 +13,8 @@
|
|||||||
|
|
||||||
xdg.mimeApps.enable = true;
|
xdg.mimeApps.enable = true;
|
||||||
xdg.mimeApps.defaultApplications = let
|
xdg.mimeApps.defaultApplications = let
|
||||||
browser = "qutebrowser.desktop";
|
|
||||||
email = "org.mozilla.Thunderbird.desktop";
|
email = "org.mozilla.Thunderbird.desktop";
|
||||||
in {
|
in {
|
||||||
"text/html" = browser;
|
|
||||||
"x-scheme-handler/http" = browser;
|
|
||||||
"x-scheme-handler/https" = browser;
|
|
||||||
"x-scheme-handler/about" = browser;
|
|
||||||
"x-scheme-handler/unknown" = browser;
|
|
||||||
|
|
||||||
"message/rfc822" = email;
|
"message/rfc822" = email;
|
||||||
"x-scheme-handler/mailto" = email;
|
"x-scheme-handler/mailto" = email;
|
||||||
"text/calendar" = email;
|
"text/calendar" = email;
|
||||||
|
|||||||
@@ -1,210 +1,311 @@
|
|||||||
{
|
{
|
||||||
self,
|
config,
|
||||||
pkgs,
|
|
||||||
lib,
|
lib,
|
||||||
|
osConfig,
|
||||||
|
pkgs,
|
||||||
|
self,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
imports = [
|
imports = [
|
||||||
self.homeManagerModules.qutebrowser-profiles
|
self.homeManagerModules.zen-browser
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.qutebrowser.enable = true;
|
xdg.mimeApps.defaultApplications = with lib;
|
||||||
programs.qutebrowser.keyBindings = {
|
listToAttrs (map (name: {
|
||||||
normal = {
|
inherit name;
|
||||||
",m" = "spawn umpv {url}";
|
value = config.programs.zen-browser.package.meta.desktopFileName;
|
||||||
",M" = "hint links spawn umpv {hint-url}";
|
}) [
|
||||||
";M" = "hint --rapid links spawn umpv {hint-url}";
|
"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"
|
||||||
|
]);
|
||||||
|
|
||||||
|
programs.zen-browser = let
|
||||||
|
locked = v: {
|
||||||
|
Value = v;
|
||||||
|
Status = "locked";
|
||||||
};
|
};
|
||||||
};
|
settings = {
|
||||||
programs.qutebrowser.settings = with lib; {
|
"beacon.enabled" = locked false;
|
||||||
auto_save.session = true;
|
"browser.startup.page" = locked 3;
|
||||||
confirm_quit = ["downloads"];
|
"device.sensors.enabled" = locked false;
|
||||||
|
"dom.battery.enabled" = locked false;
|
||||||
tabs.position = "left";
|
"dom.event.clipboardevents.enabled" = locked false;
|
||||||
|
"geo.enabled" = locked false;
|
||||||
# Colors
|
"media.peerconnection.enabled" = locked false;
|
||||||
colors.tabs.pinned.even.bg = mkForce "#181818";
|
"privacy.clearHistory.cookiesAndStorage" = locked false;
|
||||||
colors.tabs.pinned.odd.bg = mkForce "#181818";
|
"privacy.clearHistory.siteSettings" = locked false;
|
||||||
|
"privacy.firstparty.isolate" = locked true;
|
||||||
colors.tabs.selected.even.bg = mkForce "#CDD6F4"; # Catppuccin's Text
|
"privacy.resistFingerprinting" = locked true;
|
||||||
colors.tabs.selected.odd.bg = mkForce "#CDD6F4"; # Catppuccin's Text
|
"privacy.trackingprotection.enabled" = locked true;
|
||||||
colors.tabs.selected.even.fg = mkForce "#111111";
|
"privacy.trackingprotection.socialtracking.enabled" = locked true;
|
||||||
colors.tabs.selected.odd.fg = mkForce "#111111";
|
"webgl.disabled" = true;
|
||||||
|
"zen.view.use-single-toolbar" = false;
|
||||||
colors.tabs.pinned.selected.even.bg = mkForce "#CDD6F4"; # Catppuccin's Text
|
|
||||||
colors.tabs.pinned.selected.odd.bg = mkForce "#CDD6F4"; # Catppuccin's Text
|
|
||||||
|
|
||||||
## Darkmode
|
|
||||||
colors.webpage.darkmode.enabled = true;
|
|
||||||
colors.webpage.darkmode.algorithm = "lightness-cielab";
|
|
||||||
colors.webpage.darkmode.policy.images = "never";
|
|
||||||
|
|
||||||
# Prevent fingerprinting
|
|
||||||
content.canvas_reading = false;
|
|
||||||
content.cookies.accept = "all";
|
|
||||||
content.cookies.store = true;
|
|
||||||
content.geolocation = false;
|
|
||||||
content.webgl = false;
|
|
||||||
content.webrtc_ip_handling_policy = "default-public-interface-only";
|
|
||||||
};
|
|
||||||
programs.qutebrowser.extraConfig = ''
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, 'file://*')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, 'http://*:*/*')
|
|
||||||
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, 'capytal.company')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, '*.capytal.company')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, 'capytal.cc')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, '*.capytal.cc')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, 'lored.dev')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, '*.lored.dev')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, 'guz.one')
|
|
||||||
config.set('colors.webpage.darkmode.enabled', False, '*.guz.one')
|
|
||||||
'';
|
|
||||||
programs.qutebrowser.searchEngines = {
|
|
||||||
DEFAULT = "https://search.brave.com/search?q={}";
|
|
||||||
# Nix
|
|
||||||
pkg = "https://search.nixos.org/packages?query={}";
|
|
||||||
opt = "https://search.nixos.org/options?query={}";
|
|
||||||
lib = "https://noogle.dev/q?term={}";
|
|
||||||
hm = "https://home-manager-options.extranix.com/?query={}";
|
|
||||||
wiki = "https://nixos.wiki/index.php?search={}&go=Go";
|
|
||||||
|
|
||||||
# Wikipedia
|
|
||||||
w = "https://en.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1";
|
|
||||||
wpt = "https://pt.wikipedia.org/wiki/Special:Search?search={}&go=Go&ns0=1";
|
|
||||||
};
|
|
||||||
programs.qutebrowser.greasemonkey = [
|
|
||||||
# Youtube Adblocking
|
|
||||||
(pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/afreakk/greasemonkeyscripts/refs/heads/master/youtube_adblock.js";
|
|
||||||
hash = "sha256-AyD9VoLJbKPfqmDEwFIEBMl//EIV/FYnZ1+ona+VU9c=";
|
|
||||||
})
|
|
||||||
# Youtube Sponsorblock
|
|
||||||
(pkgs.fetchurl {
|
|
||||||
url = "https://raw.githubusercontent.com/afreakk/greasemonkeyscripts/refs/heads/master/youtube_sponsorblock.js";
|
|
||||||
hash = "sha256-nwNade1oHP+w5LGUPJSgAX1+nQZli4Rhe8FFUoF5mLE=";
|
|
||||||
})
|
|
||||||
# Reddit adblock
|
|
||||||
(pkgs.fetchurl {
|
|
||||||
url = "https://github.com/afreakk/greasemonkeyscripts/raw/refs/heads/master/reddit_adblock.js";
|
|
||||||
hash = "sha256-KmCXL4GrZtwPLRyAvAxADpyjbdY5UFnS/XKZFKtg7tk=";
|
|
||||||
})
|
|
||||||
# Pinterest adblock
|
|
||||||
(pkgs.writeText "pinterest_adblock.js" ''
|
|
||||||
// ==UserScript==
|
|
||||||
// @name remove ads from pinterest
|
|
||||||
// @version 1.0.0
|
|
||||||
// @author guz
|
|
||||||
// @match *://*.pinterest.com/*
|
|
||||||
// ==/UserScript==
|
|
||||||
|
|
||||||
const removeShit = () => {
|
|
||||||
document.querySelectorAll('[data-grid-item]:has([title="Promoted by"])').forEach((e) => e.remove());
|
|
||||||
document.querySelectorAll('[data-grid-item]:has([data-test-id="oneTapPromotedPin"])').forEach((e) => e.remove());
|
|
||||||
document.querySelectorAll('[data-grid-item]:has([aria-label="Product Pin"])').forEach((e) => e.remove());
|
|
||||||
// document.querySelectorAll('[data-grid-item]:has-text(ideas you might love)').forEach((e) => e.remove());
|
|
||||||
// document.querySelectorAll('[data-grid-item]:has-text(Seaches to try)').forEach((e) => e.remove());
|
|
||||||
};
|
|
||||||
(trySetInterval = () => {
|
|
||||||
window.setInterval(removeShit, 1000);
|
|
||||||
})();
|
|
||||||
'')
|
|
||||||
# Privacy Redirector
|
|
||||||
(pkgs.substitute {
|
|
||||||
src = pkgs.fetchurl {
|
|
||||||
url = "https://github.com/dybdeskarphet/privacy-redirector/raw/refs/heads/main/privacy-redirector.user.js";
|
|
||||||
hash = "sha256-xj36+/3coiStIxftWCJUWHokSEmr+YRLOTktbmn5TkU=";
|
|
||||||
};
|
|
||||||
substitutions = [
|
|
||||||
# ON-OFF (Redirection / Farside)
|
|
||||||
"--replace"
|
|
||||||
"pinterest = [true, true]"
|
|
||||||
"pinterest = [false, false]"
|
|
||||||
"--replace"
|
|
||||||
"tumblr = [true, false]"
|
|
||||||
"tumblr = [false, false]"
|
|
||||||
"--replace"
|
|
||||||
"wikipedia = [true, false]"
|
|
||||||
"wikipedia = [false, false]"
|
|
||||||
"--replace"
|
|
||||||
"youtube = [true, false]"
|
|
||||||
"youtube = [false, false]"
|
|
||||||
"--replace"
|
|
||||||
"instagram = [true, true]"
|
|
||||||
"instagram = [false, false]"
|
|
||||||
];
|
|
||||||
})
|
|
||||||
# Aternos Anti-Anti-Adblock
|
|
||||||
(pkgs.fetchurl {
|
|
||||||
url = "https://gist.github.com/DvilMuck/f2b14f3f65e8f22974d781277158f82a/raw/66a0d8d9dd598fc516c3c9d9bbf6ef3f0f6a7a1e/aternosAntiAntiadblock.user.js";
|
|
||||||
hash = "sha256-PBFCt9o22D7WAN8S6C2BnLKgG3J5zZ/mWbWspCKcm6k=";
|
|
||||||
})
|
|
||||||
# Aternos block tracking
|
|
||||||
(pkgs.fetchurl {
|
|
||||||
url = "https://gist.github.com/DvilMuck/f2b14f3f65e8f22974d781277158f82a/raw/66a0d8d9dd598fc516c3c9d9bbf6ef3f0f6a7a1e/aternosBlockTracking.user.js";
|
|
||||||
hash = "sha256-GDDx3gbvh28qiB3Gi61k/pdM11wJhcV7dwCRGNvq30c=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
programs.qutebrowser.profiles = let
|
|
||||||
programmingSearchEngines = {
|
|
||||||
# Languages
|
|
||||||
go = "https://pkg.go.dev/search?q={}";
|
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
"art" = {
|
enable = true;
|
||||||
settings = {
|
profiles."default" = {
|
||||||
colors.tabs.selected.even.bg = "#CBA6F7"; # Catppuccin's Mauve
|
containersForce = true;
|
||||||
colors.tabs.selected.odd.bg = "#CBA6F7"; # Catppuccin's Mauve
|
containers = {
|
||||||
colors.tabs.pinned.selected.even.bg = "#CBA6F7"; # Catppuccin's Mauve
|
Personal = {
|
||||||
colors.tabs.pinned.selected.odd.bg = "#CBA6F7"; # Catppuccin's Mauve
|
color = "purple";
|
||||||
|
icon = "fingerprint";
|
||||||
|
id = 1;
|
||||||
|
};
|
||||||
|
Work = {
|
||||||
|
color = "blue";
|
||||||
|
icon = "briefcase";
|
||||||
|
id = 2;
|
||||||
|
};
|
||||||
|
Shopping = {
|
||||||
|
color = "yellow";
|
||||||
|
icon = "cart";
|
||||||
|
id = 4;
|
||||||
|
};
|
||||||
|
Goverment = {
|
||||||
|
color = "orange";
|
||||||
|
icon = "dollar";
|
||||||
|
id = 5;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
extensions.force = true;
|
||||||
|
extensions.settings = {
|
||||||
|
"tridactyl.vim@cmcaine.co.uk".settings = {
|
||||||
|
userconfig = {
|
||||||
|
configVersion = "2.0";
|
||||||
|
nmaps = {
|
||||||
|
"K" = "tabprev";
|
||||||
|
"J" = "tabnext";
|
||||||
|
};
|
||||||
|
theme = "midnight";
|
||||||
|
searchurls = with lib;
|
||||||
|
mapAttrs' (n: v:
|
||||||
|
nameValuePair
|
||||||
|
(
|
||||||
|
if v?definedAliases
|
||||||
|
then elemAt v.definedAliases 0
|
||||||
|
else n
|
||||||
|
)
|
||||||
|
(replaceString "{searchTerms}" "" (elemAt v.urls 0).template))
|
||||||
|
config.programs.zen-browser.profiles."default".search.engines;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
"uBlock0@raymondhill.net".settings = {
|
||||||
|
selectedFilterLists = [
|
||||||
|
"user-filters"
|
||||||
|
"ublock-filters"
|
||||||
|
"ublock-badware"
|
||||||
|
"ublock-privacy"
|
||||||
|
"ublock-unbreak"
|
||||||
|
"ublock-quick-fixes"
|
||||||
|
"easylist"
|
||||||
|
"easyprivacy"
|
||||||
|
"urlhaus-1"
|
||||||
|
"plowe-0"
|
||||||
|
];
|
||||||
|
dynamicFilteringString = ''
|
||||||
|
behind-the-scene * * noop
|
||||||
|
behind-the-scene * inline-script noop
|
||||||
|
behind-the-scene * 1p-script noop
|
||||||
|
behind-the-scene * 3p-script noop
|
||||||
|
behind-the-scene * 3p-frame noop
|
||||||
|
behind-the-scene * image noop
|
||||||
|
behind-the-scene * 3p noop
|
||||||
|
* * 3p-script block
|
||||||
|
* * 3p-frame block
|
||||||
|
capytal.cc * * noop
|
||||||
|
capytal.company * * noop
|
||||||
|
guz.one * * noop
|
||||||
|
keikos.work * * noop
|
||||||
|
lored.dev * * noop
|
||||||
|
home-manager-options.extranix.com extranix.com * noop
|
||||||
|
home-manager-options.extranix.com home-manager-options.extranix.com * noop
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
"{ef87d84c-2127-493f-b952-5b4e744245bc}".settings = {
|
||||||
|
baseUrl = "http://127.0.0.1:5600";
|
||||||
|
consentRequired = true;
|
||||||
|
consent = true;
|
||||||
|
hostname = osConfig.networking.hostName;
|
||||||
|
enabled = true;
|
||||||
|
browserName = "zen";
|
||||||
|
};
|
||||||
|
"7esoorv3@alefvanoon.anonaddy.me".settings = with builtins; fromJSON (readFile ./libredirect.json);
|
||||||
|
};
|
||||||
|
search.default = "brave";
|
||||||
|
search.force = true;
|
||||||
|
search.engines = {
|
||||||
|
brave = {
|
||||||
|
name = "Brave";
|
||||||
|
urls = [{template = "https://search.brave.com/search?q={searchTerms}";}];
|
||||||
|
};
|
||||||
|
nix-packages = {
|
||||||
|
name = "Nix Packages";
|
||||||
|
urls = [{template = "https://search.nixos.org/packages?query={searchTerms}";}];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@pkg"];
|
||||||
|
};
|
||||||
|
nix-options = {
|
||||||
|
name = "Nix Options";
|
||||||
|
urls = [{template = "https://search.nixos.org/options?query={searchTerms}";}];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@opt"];
|
||||||
|
};
|
||||||
|
nix-home-manager = {
|
||||||
|
name = "Home Manager";
|
||||||
|
urls = [{template = "https://home-manager-options.extranix.com/?query={searchTerms}";}];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@hm"];
|
||||||
|
};
|
||||||
|
nix-noodle = {
|
||||||
|
name = "Noodle";
|
||||||
|
urls = [{template = "https://noogle.dev/q?term={searchTerms}";}];
|
||||||
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||||
|
definedAliases = ["@lib"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
settings = with builtins;
|
||||||
|
mapAttrs (n: v:
|
||||||
|
if isAttrs v
|
||||||
|
then v.Value
|
||||||
|
else v)
|
||||||
|
settings;
|
||||||
|
shortcuts = {
|
||||||
|
"key_search" = {key = "";};
|
||||||
|
"key_search2" = {key = "";};
|
||||||
|
"zen-workspace-forward" = {
|
||||||
|
key = "j";
|
||||||
|
modifiers = {
|
||||||
|
control = true;
|
||||||
|
};
|
||||||
|
action = "cmd_zenWorkspaceForward";
|
||||||
|
};
|
||||||
|
"zen-workspace-backward" = {
|
||||||
|
key = "k";
|
||||||
|
modifiers = {
|
||||||
|
control = true;
|
||||||
|
};
|
||||||
|
action = "cmd_zenWorkspaceBackward";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
spacesForce = true;
|
||||||
|
spaces = let
|
||||||
|
containers = config.programs.zen-browser.profiles."default".containers;
|
||||||
|
in {
|
||||||
|
"Space" = {
|
||||||
|
id = "c6de089c-410d-4206-961d-ab11f988d40a";
|
||||||
|
position = 1000;
|
||||||
|
};
|
||||||
|
"Work" = {
|
||||||
|
id = "cdd10fab-4fc5-494b-9041-325e5759195b";
|
||||||
|
icon = "chrome://browser/skin/zen-icons/selectable/star-1.svg";
|
||||||
|
container = containers."Work".id;
|
||||||
|
position = 2000;
|
||||||
|
};
|
||||||
|
"Shopping" = {
|
||||||
|
id = "78aabdad-8aae-4fe0-8ff0-2a0c6c4ccc24";
|
||||||
|
icon = "chrome://browser/skin/zen-icons/selectable/basket.svg";
|
||||||
|
container = containers."Shopping".id;
|
||||||
|
position = 5000;
|
||||||
|
};
|
||||||
|
"Goverment" = {
|
||||||
|
id = "7e83e835-caef-4b94-be0c-b6b3959d0830";
|
||||||
|
icon = "chrome://browser/skin/zen-icons/selectable/folder.svg";
|
||||||
|
container = containers."Goverment".id;
|
||||||
|
position = 6000;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
"personal" = {
|
policies = {
|
||||||
settings = {
|
AutofillAdressEnabled = true;
|
||||||
colors.tabs.selected.even.bg = "#F5E0DC"; # Catppuccin's Rosewater
|
AutofillCreditCardEnabled = false;
|
||||||
colors.tabs.selected.odd.bg = "#F5E0DC"; # Catppuccin's Rosewater
|
EnableTrackingProtection = {
|
||||||
colors.tabs.pinned.selected.even.bg = "#F5E0DC"; # Catppuccin's Rosewater
|
Value = true;
|
||||||
colors.tabs.pinned.selected.odd.bg = "#F5E0DC"; # Catppuccin's Rosewater
|
Locked = true;
|
||||||
|
Cryptomining = true;
|
||||||
|
Fingerprinting = true;
|
||||||
};
|
};
|
||||||
};
|
ExtensionSettings = {
|
||||||
"work" = {
|
"@contain-facebook" = {
|
||||||
settings = {
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/facebook-container/latest.xpi";
|
||||||
colors.tabs.selected.even.bg = "#74C7EC"; # Catppuccin's Sapphire
|
installation_mode = "force_installed";
|
||||||
colors.tabs.selected.odd.bg = "#74C7EC"; # Catppuccin's Sapphire
|
};
|
||||||
colors.tabs.pinned.selected.even.bg = "#74C7EC"; # Catppuccin's Sapphire
|
"7esoorv3@alefvanoon.anonaddy.me" = {
|
||||||
colors.tabs.pinned.selected.odd.bg = "#74C7EC"; # Catppuccin's Sapphire
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/libredirect/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"addon@darkreader.org" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/darkreader/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"addon@simplelogin" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/simplelogin/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"deArrow@ajay.app" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/dearrow/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"idcac-pub@guus.ninja" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/istilldontcareaboutcookies/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"tridactyl.vim@cmcaine.co.uk" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"sponsorBlocker@ajay.app" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/sponsorblock/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"uBlock0@raymondhill.net" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"{74145f27-f039-47ce-a470-a662b129930a}" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/clearurls/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"{aecec67f-0d10-4fa7-b7c7-609a2db280cf}" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/violentmonkey/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
|
"{ef87d84c-2127-493f-b952-5b4e744245bc}" = {
|
||||||
|
install_url = "https://addons.mozilla.org/firefox/downloads/latest/aw-watcher-web/latest.xpi";
|
||||||
|
installation_mode = "force_installed";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
searchEngines = programmingSearchEngines;
|
DisableAppUpdate = true;
|
||||||
|
DisableFeedbackCommands = true;
|
||||||
|
DisableFirefoxStudies = true;
|
||||||
|
DisablePocket = true;
|
||||||
|
DisableTelemetry = true;
|
||||||
|
DontCheckDefaultBrowser = true;
|
||||||
|
NoDefaultBookmarks = true;
|
||||||
|
OfferToSaveLogins = false;
|
||||||
|
Preferences = with builtins;
|
||||||
|
mapAttrs (
|
||||||
|
n: v:
|
||||||
|
if isAttrs v
|
||||||
|
then v
|
||||||
|
else {Value = v;}
|
||||||
|
)
|
||||||
|
settings;
|
||||||
|
ShowHomeButton = false;
|
||||||
|
WindowsSSO = false;
|
||||||
};
|
};
|
||||||
"job" = {
|
|
||||||
settings = {
|
|
||||||
confirm_quit = ["always"];
|
|
||||||
content.webgl = true;
|
|
||||||
|
|
||||||
colors.tabs.selected.even.bg = "#A6E2A1"; #Catppuccin's Green
|
|
||||||
colors.tabs.selected.odd.bg = "#A6E2A1"; #Catppuccin's Green
|
|
||||||
colors.tabs.pinned.selected.even.bg = "#A6E2A1"; #Catppuccin's Green
|
|
||||||
colors.tabs.pinned.selected.odd.bg = "#A6E2A1"; #Catppuccin's Green
|
|
||||||
};
|
|
||||||
searchEngines = programmingSearchEngines;
|
|
||||||
};
|
|
||||||
"shopping" = {
|
|
||||||
settings = {
|
|
||||||
colors.tabs.selected.even.bg = "#F9E2AF"; # Catppuccin's Yellow
|
|
||||||
colors.tabs.selected.odd.bg = "#F9E2AF"; # Catppuccin's Yellow
|
|
||||||
colors.tabs.pinned.selected.even.bg = "#F9E2AF"; # Catppuccin's Yellow
|
|
||||||
colors.tabs.pinned.selected.odd.bg = "#F9E2AF"; # Catppuccin's Yellow
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"goverment" = {
|
|
||||||
settings = {
|
|
||||||
colors.tabs.selected.even.bg = "#A6ADC8"; # Catppuccin's Subtext 1
|
|
||||||
colors.tabs.selected.odd.bg = "#A6ADC8"; # Catppuccin's Subtext 1
|
|
||||||
colors.tabs.pinned.selected.even.bg = "#A6ADC8"; # Catppuccin's Subtext 1
|
|
||||||
colors.tabs.pinned.selected.odd.bg = "#A6ADC8"; # Catppuccin's Subtext 1
|
|
||||||
};
|
|
||||||
};
|
|
||||||
"facebook" = {};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.mpv.enable = true;
|
programs.mpv.enable = true;
|
||||||
|
|||||||
637
home/guz-lite/libredirect.json
Normal file
637
home/guz-lite/libredirect.json
Normal file
@@ -0,0 +1,637 @@
|
|||||||
|
{
|
||||||
|
"options": {
|
||||||
|
"youtube": {
|
||||||
|
"enabled": true,
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"frontend": "invidious",
|
||||||
|
"embedFrontend": "invidious",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"invidious": ["https://inv.nadeko.net"],
|
||||||
|
"materialious": ["https://app.materialio.us"],
|
||||||
|
"piped": ["https://pipedapi-libre.kavin.rocks"],
|
||||||
|
"pipedMaterial": ["https://piped-material.xn--17b.net"],
|
||||||
|
"poketube": ["https://poketube.fun"],
|
||||||
|
"cloudtube": ["https://tube.cadence.moe"],
|
||||||
|
"lightTube": ["https://tube.kuylar.dev"],
|
||||||
|
"tuboYoutube": ["https://tubo.media"],
|
||||||
|
"viewtube": ["https://viewtube.io"],
|
||||||
|
"ytify": ["https://ytify.pp.ua"],
|
||||||
|
"youtubeMusic": {
|
||||||
|
"enabled": false,
|
||||||
|
"frontend": "invidiousMusic",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"hyperpipe": ["https://hp.ggtyler.dev"],
|
||||||
|
"invidiousMusic": [],
|
||||||
|
"twitter": {
|
||||||
|
"enabled": true,
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "nitter",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"nitter": [
|
||||||
|
"https://nitter.tiekoetter.com",
|
||||||
|
"https://xcancel.com",
|
||||||
|
"https://nitter.privacyredirect.com"
|
||||||
|
],
|
||||||
|
"chatGpt": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "duckDuckGoAiChat",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"bluesky": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "skyview",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"skyview": ["https://skyview.social"],
|
||||||
|
"reddit": {
|
||||||
|
"enabled": true,
|
||||||
|
"frontend": "redlib",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"libreddit": [],
|
||||||
|
"redlib": [
|
||||||
|
"https://safereddit.com",
|
||||||
|
"https://l.opnxng.com",
|
||||||
|
"https://redlib.thebunny.zone"
|
||||||
|
],
|
||||||
|
"teddit": [],
|
||||||
|
"eddrit": ["https://eddrit.com"],
|
||||||
|
"tumblr": {
|
||||||
|
"enabled": false,
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "priviblur",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"priviblur": ["https://pb.bloat.cat"],
|
||||||
|
"twitch": {
|
||||||
|
"enabled": true,
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "safetwitch",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"safetwitch": [
|
||||||
|
"https://safetwitch.drgns.space",
|
||||||
|
"https://twitch.seitan-ayoub.lol",
|
||||||
|
"https://safetwitch.lunar.icu",
|
||||||
|
"https://safetwitch.privacyredirect.com",
|
||||||
|
"https://safetwitch.darkness.services"
|
||||||
|
],
|
||||||
|
"twineo": ["https://twineo.exozy.me"],
|
||||||
|
"tiktok": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "proxiTok",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"proxiTok": [
|
||||||
|
"https://proxitok.pabloferreiro.es",
|
||||||
|
"https://proxitok.pussthecat.org",
|
||||||
|
"https://tok.habedieeh.re",
|
||||||
|
"https://tok.artemislena.eu",
|
||||||
|
"https://cringe.whatever.social",
|
||||||
|
"https://proxitok.lunar.icu",
|
||||||
|
"https://cringe.seitan-ayoub.lol",
|
||||||
|
"https://proxitok.belloworld.it"
|
||||||
|
],
|
||||||
|
"offtiktok": ["https://www.offtiktok.com"],
|
||||||
|
"instagram": {
|
||||||
|
"enabled": false,
|
||||||
|
"frontend": "proxigram",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"proxigram": ["https://ig.opnxng.com"],
|
||||||
|
"imdb": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "libremdb",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"libremdb": [
|
||||||
|
"https://libremdb.iket.me",
|
||||||
|
"https://libremdb.pussthecat.org",
|
||||||
|
"https://libremdb.lunar.icu",
|
||||||
|
"https://binge.whatever.social",
|
||||||
|
"https://libremdb.r4fo.com",
|
||||||
|
"https://libremdb.catsarch.com",
|
||||||
|
"https://d.opnxng.com",
|
||||||
|
"https://libremdb.ducks.party",
|
||||||
|
"https://lmdb.bloat.cat",
|
||||||
|
"https://libremdb.franklyflawless.org",
|
||||||
|
"https://libremdb-fly.fly.dev"
|
||||||
|
],
|
||||||
|
"bilibili": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "mikuInvidious",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"mikuInvidious": [],
|
||||||
|
"pixiv": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "pixivFe",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"pixivFe": [
|
||||||
|
"https://pixiv.perennialte.ch",
|
||||||
|
"https://pixivfe.thebunny.zone",
|
||||||
|
"https://pixivfe.darkness.services",
|
||||||
|
"https://pixivfe.ducks.party"
|
||||||
|
],
|
||||||
|
"liteXiv": ["https://litexiv.465321.best", "https://litexiv.bloat.cat"],
|
||||||
|
"vixipy": ["https://vx.maid.zone"],
|
||||||
|
"pixivViewer": ["https://pixiv.pictures"],
|
||||||
|
"fandom": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"instance": "public",
|
||||||
|
"frontend": "breezeWiki",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"breezeWiki": [
|
||||||
|
"https://breezewiki.com",
|
||||||
|
"https://breezewiki.pussthecat.org",
|
||||||
|
"https://antifandom.com",
|
||||||
|
"https://bw.artemislena.eu",
|
||||||
|
"https://breeze.hostux.net",
|
||||||
|
"https://z.opnxng.com",
|
||||||
|
"https://breeze.nohost.network",
|
||||||
|
"https://breeze.mint.lgbt",
|
||||||
|
"https://breezewiki.catsarch.com",
|
||||||
|
"https://breezewiki.hyperreal.coffee",
|
||||||
|
"https://breezewiki.4o1x5.dev",
|
||||||
|
"https://fandom.reallyaweso.me",
|
||||||
|
"https://breezewiki.nadeko.net",
|
||||||
|
"https://fan.blitzw.in"
|
||||||
|
],
|
||||||
|
"imgur": {
|
||||||
|
"enabled": true,
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "rimgo",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"rimgo": [
|
||||||
|
"https://rimgo.pussthecat.org",
|
||||||
|
"https://ri.nadeko.net",
|
||||||
|
"https://rimgo.in.projectsegfau.lt",
|
||||||
|
"https://rimgo.us.projectsegfau.lt",
|
||||||
|
"https://rimgo.eu.projectsegfau.lt",
|
||||||
|
"https://rimgo.catsarch.com",
|
||||||
|
"https://rimgo.nohost.network",
|
||||||
|
"https://r.opnxng.com",
|
||||||
|
"https://imgur.fsky.io",
|
||||||
|
"https://rimgo.astrial.org",
|
||||||
|
"https://rimgo.canine.tools",
|
||||||
|
"https://rimgo.thebunny.zone",
|
||||||
|
"https://imgur.nerdvpn.de",
|
||||||
|
"https://rg.kuuro.net"
|
||||||
|
],
|
||||||
|
"pinterest": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"frontend": "binternet",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"binternet": [
|
||||||
|
"https://bn.bloat.cat",
|
||||||
|
"https://binternet.darkness.services",
|
||||||
|
"https://binternet.revvy.de",
|
||||||
|
"https://binternet.lunar.icu",
|
||||||
|
"https://binternet.privacyredirect.com",
|
||||||
|
"https://binternet.4o1x5.dev",
|
||||||
|
"https://binternet.ducks.party",
|
||||||
|
"https://bn.opnxng.com",
|
||||||
|
"https://pin.blitzw.in",
|
||||||
|
"https://bn.kuuro.net"
|
||||||
|
],
|
||||||
|
"painterest": ["https://pt.bloat.cat"],
|
||||||
|
"soundcloud": {
|
||||||
|
"enabled": true,
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"frontend": "soundcloak",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"tuboSoundcloud": ["https://tubo.media"],
|
||||||
|
"soundcloak": [
|
||||||
|
"https://sc.opnxng.com",
|
||||||
|
"https://sc.bloat.cat",
|
||||||
|
"https://sc.maid.zone",
|
||||||
|
"https://sc.kuuro.net",
|
||||||
|
"https://sc.tijn.dev",
|
||||||
|
"https://sc2.bloat.cat"
|
||||||
|
],
|
||||||
|
"bandcamp": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "tent",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"tent": [
|
||||||
|
"https://tent.sny.sh",
|
||||||
|
"https://tent.bloat.cat",
|
||||||
|
"https://tent.nbh.ax",
|
||||||
|
"https://tent.lab8.cz",
|
||||||
|
"https://tent.deep-swarm.xyz",
|
||||||
|
"https://tn.vern.cc",
|
||||||
|
"https://tn.maid.zone",
|
||||||
|
"https://tn.dc09.ru"
|
||||||
|
],
|
||||||
|
"tekstowo": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "tekstoLibre",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"tekstoLibre": ["https://davilarek.github.io/TekstoLibre"],
|
||||||
|
"genius": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "dumb",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"dumb": [
|
||||||
|
"https://dumb.lunar.icu",
|
||||||
|
"https://dumb.ducks.party",
|
||||||
|
"https://dumb.hyperreal.coffee",
|
||||||
|
"https://db.kuuro.net",
|
||||||
|
"https://lyr.dc09.ru"
|
||||||
|
],
|
||||||
|
"intellectual": ["https://intellectual.insprill.net"],
|
||||||
|
"medium": {
|
||||||
|
"frontend": "scribe",
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"scribe": [
|
||||||
|
"https://scribe.rip",
|
||||||
|
"https://scribe.privacyredirect.com",
|
||||||
|
"https://scribe.r4fo.com",
|
||||||
|
"https://m.opnxng.com",
|
||||||
|
"https://scribe.nixnet.services"
|
||||||
|
],
|
||||||
|
"libMedium": ["https://md.vern.cc"],
|
||||||
|
"small": ["https://small.bloat.cat"],
|
||||||
|
"freedium": ["https://freedium.cfd"],
|
||||||
|
"quora": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "quetre",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"quetre": [
|
||||||
|
"https://quetre.iket.me",
|
||||||
|
"https://quetre.pussthecat.org",
|
||||||
|
"https://q.opnxng.com",
|
||||||
|
"https://quetre.lunar.icu",
|
||||||
|
"https://ask.habedieeh.re",
|
||||||
|
"https://quetre.ducks.party",
|
||||||
|
"https://quetre.drgns.space",
|
||||||
|
"https://qt.bloat.cat",
|
||||||
|
"https://quetre.franklyflawless.org",
|
||||||
|
"https://quetre.privacyredirect.com"
|
||||||
|
],
|
||||||
|
"github": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "gothub",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"gothub": [],
|
||||||
|
"gitlab": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "laboratory",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"laboratory": ["https://lab.vern.cc"],
|
||||||
|
"stackOverflow": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "anonymousOverflow",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"anonymousOverflow": [
|
||||||
|
"https://code.whatever.social",
|
||||||
|
"https://overflow.hostux.net",
|
||||||
|
"https://overflow.adminforge.de",
|
||||||
|
"https://overflow.lunar.icu",
|
||||||
|
"https://ao.owo.si",
|
||||||
|
"https://anonoverflow.frontendfriendly.xyz",
|
||||||
|
"https://ao.bloat.cat",
|
||||||
|
"https://anonoverflow.hyperreal.coffee",
|
||||||
|
"https://exchange.seitan-ayoub.lol"
|
||||||
|
],
|
||||||
|
"reuters": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "neuters",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"neuters": ["https://neuters.de"],
|
||||||
|
"snopes": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "suds",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"suds": ["https://sd.vern.cc"],
|
||||||
|
"ifunny": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "unfunny",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"unfunny": ["https://uf.vern.cc"],
|
||||||
|
"tenor": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "soprano",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"soprano": ["https://sp.vern.cc"],
|
||||||
|
"knowyourmeme": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "meme",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"meme": ["https://mm.vern.cc"],
|
||||||
|
"urbanDictionary": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "ruralDictionary",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"ruralDictionary": [
|
||||||
|
"https://ruraldictionary.franklyflawless.org",
|
||||||
|
"https://rd.thirtysix.pw",
|
||||||
|
"https://rd.bloat.cat"
|
||||||
|
],
|
||||||
|
"goodreads": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "biblioReads",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"biblioReads": [
|
||||||
|
"https://biblioreads.lunar.icu",
|
||||||
|
"https://biblioreads.eu.org",
|
||||||
|
"https://read.seitan-ayoub.lol",
|
||||||
|
"https://biblioreads.ducks.party",
|
||||||
|
"https://biblioreads.privacyredirect.com",
|
||||||
|
"https://br.bloat.cat",
|
||||||
|
"https://biblioreads.franklyflawless.org"
|
||||||
|
],
|
||||||
|
"wolframAlpha": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "wolfreeAlpha",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"wolfreeAlpha": [],
|
||||||
|
"instructables": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "structables",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"structables": ["https://structables.private.coffee"],
|
||||||
|
"destructables": ["https://ds.vern.cc"],
|
||||||
|
"indestructables": ["https://indestructables.private.coffee"],
|
||||||
|
"wikipedia": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "wikiless",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"wikiless": [],
|
||||||
|
"wikimore": ["https://wikimore.private.coffee"],
|
||||||
|
"waybackMachine": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "waybackClassic",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"waybackClassic": ["https://wayback-classic.net"],
|
||||||
|
"pastebin": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "pasted",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"pasted": ["https://pasted.drakeerv.com"],
|
||||||
|
"search": {
|
||||||
|
"enabled": false,
|
||||||
|
"frontend": "searxng",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectGoogle": false,
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"searxng": ["https://nyc1.sx.ggtyler.dev"],
|
||||||
|
"searx": [],
|
||||||
|
"whoogle": [],
|
||||||
|
"librey": [],
|
||||||
|
"4get": ["https://4get.ca"],
|
||||||
|
"websurfx": ["https://alamin655-spacex.hf.space"],
|
||||||
|
"translate": {
|
||||||
|
"enabled": true,
|
||||||
|
"frontend": "simplyTranslate",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"instance": "public",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"simplyTranslate": [
|
||||||
|
"https://simplytranslate.org",
|
||||||
|
"https://simplytranslate.ducks.party",
|
||||||
|
"https://st.adast.dk"
|
||||||
|
],
|
||||||
|
"mozhi": ["https://mozhi.aryak.me"],
|
||||||
|
"libreTranslate": ["https://libretranslate.com"],
|
||||||
|
"translite": ["https://tl.bloat.cat"],
|
||||||
|
"maps": {
|
||||||
|
"redirectType": "main_frame",
|
||||||
|
"enabled": false,
|
||||||
|
"frontend": "osm",
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"osm": ["https://www.openstreetmap.org"],
|
||||||
|
"meet": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "jitsi",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"jitsi": [],
|
||||||
|
"sendFiles": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "send",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"send": [],
|
||||||
|
"textStorage": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "privateBin",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"privateBin": [],
|
||||||
|
"pasty": ["https://pasty.lus.pm"],
|
||||||
|
"office": {
|
||||||
|
"enabled": false,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "cryptPad",
|
||||||
|
"redirectOnlyInIncognito": false
|
||||||
|
},
|
||||||
|
"cryptPad": ["https://cryptpad.org"],
|
||||||
|
"ultimateGuitar": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "freetar",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"freetar": ["https://freetar.de"],
|
||||||
|
"baiduTieba": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "ratAintTieba",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"ratAintTieba": ["https://rat.fis.land"],
|
||||||
|
"threads": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "shoelace",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"shoelace": ["https://shoelace.mint.lgbt"],
|
||||||
|
"deviantArt": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "skunkyArt",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"skunkyArt": [
|
||||||
|
"https://skunky.bloat.cat",
|
||||||
|
"https://da.opnxng.com",
|
||||||
|
"https://sa.dc09.ru",
|
||||||
|
"https://art.bloat.cat",
|
||||||
|
"https://skunkyart.lumaeris.com"
|
||||||
|
],
|
||||||
|
"geeksForGeeks": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "nerdsForNerds",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"nerdsForNerds": ["https://nn.vern.cc"],
|
||||||
|
"ducksForDucks": ["https://ducksforducks.private.coffee"],
|
||||||
|
"coub": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "koub",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"koub": ["https://koub2.bloat.cat", "https://koub.bloat.cat"],
|
||||||
|
"chefkoch": {
|
||||||
|
"enabled": true,
|
||||||
|
"unsupportedUrls": "bypass",
|
||||||
|
"frontend": "gocook",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"redirectType": "main_frame"
|
||||||
|
},
|
||||||
|
"gocook": ["https://cook.adminforge.de"],
|
||||||
|
"exceptions": {
|
||||||
|
"url": [],
|
||||||
|
"regex": []
|
||||||
|
},
|
||||||
|
"theme": "detect",
|
||||||
|
"popupServices": [
|
||||||
|
"youtube",
|
||||||
|
"reddit",
|
||||||
|
"translate",
|
||||||
|
"maps",
|
||||||
|
"stackOverflow",
|
||||||
|
"youtubeMusic",
|
||||||
|
"twitter",
|
||||||
|
"bluesky",
|
||||||
|
"pinterest"
|
||||||
|
],
|
||||||
|
"fetchInstances": "github",
|
||||||
|
"redirectOnlyInIncognito": false,
|
||||||
|
"troddit": ["https://www.troddit.com"],
|
||||||
|
"ultimateTab": ["https://ultimate-tab.com"]
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -35,9 +35,6 @@
|
|||||||
# 3D modeling
|
# 3D modeling
|
||||||
"net.blockbench.Blockbench"
|
"net.blockbench.Blockbench"
|
||||||
"org.blender.Blender"
|
"org.blender.Blender"
|
||||||
|
|
||||||
# For sites that are incompatible with qutebrowser
|
|
||||||
"io.gitlab.librewolf-community"
|
|
||||||
];
|
];
|
||||||
services.flatpak.overrides = {
|
services.flatpak.overrides = {
|
||||||
"net.blockbench.Blockbench" = {Context.sockets = ["x11"];};
|
"net.blockbench.Blockbench" = {Context.sockets = ["x11"];};
|
||||||
|
|||||||
@@ -1,43 +1,53 @@
|
|||||||
{
|
{
|
||||||
self,
|
|
||||||
config,
|
config,
|
||||||
|
lib,
|
||||||
|
osConfig,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.qutebrowser.profiles = let
|
programs.zen-browser = {
|
||||||
programmingSearchEngines = {
|
profiles."default" = {
|
||||||
# Languages
|
containers = {
|
||||||
go = "https://pkg.go.dev/search?q={}";
|
Job = {
|
||||||
|
color = "green";
|
||||||
# Resources
|
icon = "briefcase";
|
||||||
mdn = "https://developer.mozilla.org/en-US/search?q={}";
|
id = 3;
|
||||||
};
|
};
|
||||||
in rec {
|
};
|
||||||
work = {
|
# modsForce = true;
|
||||||
settings = {
|
# mods = let
|
||||||
colors.tabs.selected.even.bg = "#74C7EC"; # Catppuccin's Sapphire
|
# store = inputs.zen-theme-store;
|
||||||
colors.tabs.selected.odd.bg = "#74C7EC"; # Catppuccin's Sapphire
|
# in {
|
||||||
colors.tabs.pinned.selected.even.bg = "#74C7EC"; # Catppuccin's Sapphire
|
# "0c3d77bf-44fc-47a6-a183-39205dfa5f7e" = "${store}/themes/0c3d77bf-44fc-47a6-a183-39205dfa5f7e/theme.json";
|
||||||
colors.tabs.pinned.selected.odd.bg = "#74C7EC"; # Catppuccin's Sapphire
|
# "c8d9e6e6-e702-4e15-8972-3596e57cf398" = pkgs.fetchurl {
|
||||||
|
# url = "https://raw.githubusercontent.com/zen-browser/theme-store/refs/heads/main/themes/c8d9e6e6-e702-4e15-8972-3596e57cf398/theme.json";
|
||||||
|
# hash = "sha256-v6VfUwdz01it0anDwwPcCSVufWCybue8CsPBd8X9KT0=";
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
spaces = let
|
||||||
|
containers = config.programs.zen-browser.profiles."default".containers;
|
||||||
|
in {
|
||||||
|
"Work2" = {
|
||||||
|
id = "1ea280f4-e428-4273-ace1-ad4f64a00cf5";
|
||||||
|
icon = "chrome://browser/skin/zen-icons/selectable/star.svg";
|
||||||
|
container = containers."Work".id;
|
||||||
|
position = 3000;
|
||||||
|
};
|
||||||
|
"Work3" = {
|
||||||
|
id = "2a5a1ca3-66df-4194-8ff9-63d0abb8eaae";
|
||||||
|
icon = "chrome://browser/skin/zen-icons/selectable/sun.svg";
|
||||||
|
container = containers."Work".id;
|
||||||
|
position = 4000;
|
||||||
|
};
|
||||||
|
"Job" = lib.mkIf (osConfig.context.job) {
|
||||||
|
id = "d7a663aa-3818-4ae7-b4b1-3d12a76d9c60";
|
||||||
|
icon = "chrome://browser/skin/zen-icons/selectable/planet.svg";
|
||||||
|
container = containers."Job".id;
|
||||||
|
position = 4500;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
searchEngines = programmingSearchEngines;
|
|
||||||
};
|
|
||||||
work-2 = work;
|
|
||||||
work-3 = work;
|
|
||||||
work-video = work;
|
|
||||||
work-games = {
|
|
||||||
settings = work.settings;
|
|
||||||
searchEngines =
|
|
||||||
{
|
|
||||||
mod = "https://modrinth.com/mods?q={}";
|
|
||||||
rcp = "https://modrinth.com/resourcepacks?q={}";
|
|
||||||
dtp = "https://modrinth.com/datapacks?q={}";
|
|
||||||
shader = "https://modrinth.com/shaders?q={}";
|
|
||||||
modpack = "https://modrinth.com/modpacks?q={}";
|
|
||||||
plugins = "https://modrinth.com/plugins?q={}";
|
|
||||||
}
|
|
||||||
// work.searchEngines;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# The *state version* indicates which default
|
# The *state version* indicates which default
|
||||||
# settings are in effect and will therefore help avoid breaking
|
# settings are in effect and will therefore help avoid breaking
|
||||||
# program configurations. Switching to a higher state version
|
# program configurations. Switching to a higher state version
|
||||||
|
|||||||
190
modules/home-manager/zen-browser/default.nix
Normal file
190
modules/home-manager/zen-browser/default.nix
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
{
|
||||||
|
config,
|
||||||
|
inputs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib; let
|
||||||
|
cfg = config.programs.zen-browser;
|
||||||
|
configDir = "${config.home.homeDirectory}/.zen";
|
||||||
|
|
||||||
|
# INFO: Read default shortcuts and transform them to the same attrsOf submodule structure.
|
||||||
|
defaultShortcuts = pipe (with builtins; (fromJSON (readFile ./default_shortcuts.json)).shortcuts) [
|
||||||
|
(map (v:
|
||||||
|
nameValuePair (
|
||||||
|
# HACK: Since some of the default shortcuts have a null ID, we create
|
||||||
|
# a ID with null + group + (key or keycode). This ID will not be used
|
||||||
|
# in the final JSON file, and is just here since Nix can't have
|
||||||
|
# multiple attributes with the same name.
|
||||||
|
if isNull v.id
|
||||||
|
then "${toString v.id}-${v.action}-${v.group}-${
|
||||||
|
if v?key
|
||||||
|
then v.key
|
||||||
|
else v.keycode
|
||||||
|
}"
|
||||||
|
else v.id
|
||||||
|
)
|
||||||
|
v))
|
||||||
|
listToAttrs
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
imports = [inputs.zen-browser.homeModules.twilight];
|
||||||
|
options.programs.zen-browser = {
|
||||||
|
profiles = mkOption {
|
||||||
|
type = with types;
|
||||||
|
attrsOf (submodule ({...}: {
|
||||||
|
options = {
|
||||||
|
shortcutsForce = mkEnableOption "";
|
||||||
|
shortcuts = mkOption {
|
||||||
|
type = attrsOf (submodule ({
|
||||||
|
config,
|
||||||
|
name,
|
||||||
|
...
|
||||||
|
}: let
|
||||||
|
default = defaultShortcuts.${name};
|
||||||
|
in {
|
||||||
|
options = {
|
||||||
|
id = mkOption {
|
||||||
|
type = nullOr str;
|
||||||
|
default = name;
|
||||||
|
};
|
||||||
|
key = mkOption {
|
||||||
|
type = nullOr str;
|
||||||
|
default = optionalString (config.keycode == "") default.key;
|
||||||
|
apply = v:
|
||||||
|
if isNull v
|
||||||
|
then ""
|
||||||
|
else v;
|
||||||
|
};
|
||||||
|
keycode = mkOption {
|
||||||
|
type = nullOr str;
|
||||||
|
default = optionalString (config.key == "") default.keycode;
|
||||||
|
apply = v:
|
||||||
|
if isNull v
|
||||||
|
then ""
|
||||||
|
else v;
|
||||||
|
};
|
||||||
|
group = mkOption {
|
||||||
|
type = enum (lib.unique (mapAttrsToList (_: s: s.group) defaultShortcuts));
|
||||||
|
default = default.group;
|
||||||
|
};
|
||||||
|
l10nId = mkOption {
|
||||||
|
type = enum (lib.unique (mapAttrsToList (_: s: s.l10nId) defaultShortcuts));
|
||||||
|
default = default.l10nId;
|
||||||
|
};
|
||||||
|
modifiers = {
|
||||||
|
control = mkEnableOption "";
|
||||||
|
alt = mkEnableOption "";
|
||||||
|
shift = mkEnableOption "";
|
||||||
|
meta = mkEnableOption "";
|
||||||
|
accel = mkEnableOption "";
|
||||||
|
};
|
||||||
|
action = mkOption {
|
||||||
|
type = enum (lib.unique (mapAttrsToList (_: s: s.action) defaultShortcuts));
|
||||||
|
default = default.action;
|
||||||
|
};
|
||||||
|
disabled = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = default.disabled;
|
||||||
|
};
|
||||||
|
reserved = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = default.reserved;
|
||||||
|
};
|
||||||
|
internal = mkOption {
|
||||||
|
type = bool;
|
||||||
|
default = default.internal;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
# FIXME: Zen does not update zen-themes.css
|
||||||
|
# modsForce = mkEnableOption "";
|
||||||
|
# mods = mkOption {
|
||||||
|
# type = attrsOf (
|
||||||
|
# either
|
||||||
|
# path
|
||||||
|
# (submodule ({name, ...}: {
|
||||||
|
# options = {
|
||||||
|
# id = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = name;
|
||||||
|
# };
|
||||||
|
# name = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# };
|
||||||
|
# description = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# homepage = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# style = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# };
|
||||||
|
# readme = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# image = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# author = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# version = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# tags = mkOption {
|
||||||
|
# type = listOf str;
|
||||||
|
# default = [];
|
||||||
|
# };
|
||||||
|
# createdAt = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# updatedAt = mkOption {
|
||||||
|
# type = str;
|
||||||
|
# default = "";
|
||||||
|
# };
|
||||||
|
# enabled = mkOption {
|
||||||
|
# type = bool;
|
||||||
|
# default = true;
|
||||||
|
# };
|
||||||
|
# };
|
||||||
|
# }))
|
||||||
|
# );
|
||||||
|
# apply = with builtins;
|
||||||
|
# v:
|
||||||
|
# mapAttrs (n: v:
|
||||||
|
# if (isPath v || isStringLike v)
|
||||||
|
# then fromJSON (readFile v)
|
||||||
|
# else v)
|
||||||
|
# v;
|
||||||
|
# default = {};
|
||||||
|
# };
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = mkIf cfg.enable {
|
||||||
|
home.file =
|
||||||
|
concatMapAttrs (profileName: profile: {
|
||||||
|
"${configDir}/${profileName}/zen-keyboard-shortcuts.json" = mkIf (profile.shortcuts != {}) {
|
||||||
|
text = builtins.toJSON {shortcuts = mapAttrsToList (_: v: v) (defaultShortcuts // profile.shortcuts);};
|
||||||
|
force = profile.shortcutsForce;
|
||||||
|
};
|
||||||
|
# "${configDir}/${profileName}/zen-themes.json" = mkIf (profile.mods != {}) {
|
||||||
|
# text = builtins.toJSON profile.mods;
|
||||||
|
# force = profile.modsForce;
|
||||||
|
# };
|
||||||
|
})
|
||||||
|
cfg.profiles;
|
||||||
|
};
|
||||||
|
}
|
||||||
2109
modules/home-manager/zen-browser/default_shortcuts.json
Normal file
2109
modules/home-manager/zen-browser/default_shortcuts.json
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user