feat: I WANT A MORE STABLE LIFE

use GNOME with Forge as a desktop environment and use zen-browser as
default browser
This commit is contained in:
Guz
2026-03-19 15:44:44 -03:00
parent 175862335a
commit bd1976f48f
7 changed files with 1122 additions and 593 deletions

93
flake.lock generated
View File

@@ -68,21 +68,6 @@
"type": "github"
}
},
"crane": {
"locked": {
"lastModified": 1766774972,
"narHash": "sha256-8qxEFpj4dVmIuPn9j9z6NTbU+hrcGjBOvaxTzre5HmM=",
"owner": "ipetkov",
"repo": "crane",
"rev": "01bc1d404a51a0a07e9d8759cd50a7903e218c82",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"disko": {
"inputs": {
"nixpkgs": [
@@ -173,24 +158,6 @@
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1765835352,
"narHash": "sha256-XswHlK/Qtjasvhd1nOa1e8MgZ8GS//jBoTqWtrS1Giw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "a34fae9c08a15ad73f295041fec82323541400a9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
@@ -433,21 +400,6 @@
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1765674936,
"narHash": "sha256-k00uTP4JNfmejrCLJOwdObYC9jHRrr/5M/a/8L2EIdo=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "2075416fcb47225d9b68ac469a5c4801a9c4dd85",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1773646010,
@@ -626,7 +578,7 @@
"rec-sh": "rec-sh",
"sops-nix": "sops-nix",
"stylix": "stylix",
"xremap": "xremap"
"zen-browser": "zen-browser"
}
},
"sops-nix": {
@@ -810,43 +762,26 @@
"type": "github"
}
},
"xremap": {
"zen-browser": {
"inputs": {
"crane": "crane",
"flake-parts": "flake-parts_2",
"nixpkgs": [
"nixpkgs"
"home-manager": [
"home-manager"
],
"xremap": "xremap_2"
"nixpkgs": [
"nixpkgs-unstable"
]
},
"locked": {
"lastModified": 1771968045,
"narHash": "sha256-BK2Zcio1gBMTIjIV2MfULqgxv21Y4S9HbgzGuI4AzSc=",
"owner": "xremap",
"repo": "nix-flake",
"rev": "b89f36dd4a0a68d904a4995e3156f0ac758fcdd6",
"lastModified": 1773737882,
"narHash": "sha256-P6k0BtT1/idYveVRdcwAZk8By9UjZW8XOMhSoS6wTBY=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "a7f1db35d74faf04e5189b3a32f890186ace5c28",
"type": "github"
},
"original": {
"owner": "xremap",
"repo": "nix-flake",
"type": "github"
}
},
"xremap_2": {
"flake": false,
"locked": {
"lastModified": 1771790974,
"narHash": "sha256-hXbCEdWcpOvHsFIE7pQw3evqPjqXJhEYBCBJKoGVzJQ=",
"owner": "k0kubun",
"repo": "xremap",
"rev": "a2fc6caa0c7d35d87d130437dc4a4582a3908871",
"type": "github"
},
"original": {
"owner": "k0kubun",
"ref": "v0.14.15",
"repo": "xremap",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"type": "github"
}
}

View File

@@ -29,11 +29,6 @@
inputs.nixpkgs.follows = "nixpkgs";
};
xremap = {
url = "github:xremap/nix-flake";
inputs.nixpkgs.follows = "nixpkgs";
};
heart-modpack = {
url = "git+ssh://gitea@spacestation/heart/modpack.git";
# url = "git+file:///home/guz/.projects/heart-modpack";
@@ -55,6 +50,12 @@
url = "git+https://code.capytal.cc/dot013/rec.sh/?ref=main";
inputs.nixpkgs.follows = "nixpkgs";
};
zen-browser = {
url = "github:0xc000022070/zen-browser-flake";
inputs.nixpkgs.follows = "nixpkgs-unstable";
inputs.home-manager.follows = "home-manager";
};
};
outputs = {

View File

@@ -1,242 +1,364 @@
{
config,
lib,
osConfig,
pkgs,
self,
...
}:
with lib; {
}: {
imports = [
self.homeManagerModules.qutebrowser-profiles
./scripts.nix
./profiles.nix
self.homeManagerModules.zen-browser
];
programs.qutebrowser = {
enable = true;
xdg.mimeApps.defaultApplications = with lib;
listToAttrs (map (name: {
inherit name;
value = config.programs.zen-browser.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"
]);
keyBindings = {
normal = {
",m" = "spawn umpv {url}";
",M" = "hint links spawn umpv {hint-url}";
";M" = "hint --rapid links spawn umpv {hint-url}";
"tD" = "config-cycle -t -u {url} colors.webpage.darkmode.enabled false true ;; reload";
};
programs.zen-browser = let
locked = v: {
Value = v;
Status = "locked";
};
settings = {
auto_save.session = true;
confirm_quit = ["downloads"];
tabs.width = builtins.floor (1920 * 0.1);
tabs.position = "left";
# Colors
colors.tabs.pinned.even.bg = mkForce "#181818";
colors.tabs.pinned.odd.bg = mkForce "#181818";
colors.tabs.selected.even.bg = mkForce "#CDD6F4"; # Catppuccin's Text
colors.tabs.selected.odd.bg = mkForce "#CDD6F4"; # Catppuccin's Text
colors.tabs.selected.even.fg = mkForce "#111111";
colors.tabs.selected.odd.fg = mkForce "#111111";
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";
"beacon.enabled" = locked false;
"browser.startup.page" = locked 3;
"device.sensors.enabled" = locked false;
"dom.battery.enabled" = locked false;
"dom.event.clipboardevents.enabled" = locked false;
"geo.enabled" = locked false;
"media.peerconnection.enabled" = locked false;
"privacy.clearHistory.cookiesAndStorage" = locked false;
"privacy.clearHistory.siteSettings" = locked false;
"privacy.firstparty.isolate" = locked true;
"privacy.resistFingerprinting" = locked true;
"privacy.trackingprotection.enabled" = locked true;
"privacy.trackingprotection.socialtracking.enabled" = locked true;
"webgl.disabled" = true;
"zen.view.use-single-toolbar" = false;
};
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')
# Thanks to @hseg on GitHub (https://github.com/qutebrowser/qutebrowser/issues/6880#issuecomment-1815248845)
config.bind('o', 'cmd-set-text -s :open -s')
config.bind('go', 'cmd-set-text :open -s {url:pretty}')
config.bind('O', 'cmd-set-text -s :open -s -t')
config.bind('gO', 'cmd-set-text :open -s -t -r {url:pretty}')
config.bind('xo', 'cmd-set-text -s :open -s -b')
config.bind('xO', 'cmd-set-text :open -s -b -r {url:pretty}')
config.bind('wo', 'cmd-set-text -s :open -s -w')
config.bind('wO', 'cmd-set-text :open -s -w {url:pretty}')
config.bind('pp', 'open -s -- {clipboard}')
config.bind('pP', 'open -s -- {primary}')
config.bind('Pp', 'open -s -t -- {clipboard}')
config.bind('PP', 'open -s -t -- {primary}')
config.bind('wp', 'open -s -w -- {clipboard}')
config.bind('wP', 'open -s -w -- {primary}')
'';
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://wiki.nixos.org/w/index.php?search={}";
# 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";
};
profiles = let
programmingSearchEngines = {
# Languages
go = "https://pkg.go.dev/search?q={}";
};
setColor = c: {
colors.tabs.selected.even.bg = c;
colors.tabs.selected.odd.bg = c;
colors.tabs.pinned.selected.even.bg = c;
colors.tabs.pinned.selected.odd.bg = c;
};
in {
"art".settings = setColor "#CBA6F7"; # Catppuccin's Mauve;
"personal".settings = setColor "#F5E0DC"; # Catppuccin's Rosewater
"work" = {
settings = setColor "#74C7EC"; # Catppuccin's Sapphire
searchEngines = programmingSearchEngines;
};
"job" = {
settings =
(config.programs.qutebrowser.profiles."work".settings)
// {
confirm_quit = ["always"];
content.webgl = true;
}
// (setColor "#A6E2A1"); # Catppuccin's Green
searchEngines = programmingSearchEngines;
};
"shopping".settings = setColor "#F9E2AF"; # Catppuccin's Yellow
"goverment".settings = setColor "#A6ADC8"; # Catppuccin's Subtext 1
"academic".settings =
{
confirm_quit = ["always"];
content.webgl = true;
}
// setColor "#19236F";
"facebook".settings = setColor "#1877F2"; # Facebook's Blue
"yt-music".settings =
{
tabs.width = 10;
}
// (setColor "#FF0000"); # Youtube's Red
};
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());
in {
enable = true;
profiles."default" = {
containersForce = true;
containers = {
Personal = {
color = "purple";
icon = "fingerprint";
id = 1;
};
(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=";
Work = {
color = "blue";
icon = "fingerprint";
id = 2;
};
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]"
];
})
];
Shopping = {
color = "yellow";
icon = "cart";
id = 4;
};
Goverment = {
color = "orange";
icon = "dollar";
id = 5;
};
Academic = {
color = "orange";
icon = "briefcase";
id = 6;
};
};
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}";}];
};
go = {
name = "Go Packages";
urls = [{template = "https://pkg.go.dev/search?q={searchTerms}";}];
icon = pkgs.fetchurl {
url = "https://pkg.go.dev/static/shared/logo/go-white.svg";
hash = "sha256-oqFYZnPAxESEpY0Qcz5OPiCMTWXyI1nqOEYmsdbGqy4=";
};
definedAliases = ["@go"];
};
mdn = {
name = "MDN";
urls = [{template = "https://developer.mozilla.org/en-US/search?q={searchTerms}";}];
icon = pkgs.fetchurl {
url = "https://developer.mozilla.org/static/client/mdn-m.70aac857e4a908d0.svg";
hash = "sha256-sTAKxjk5b8lUaa9057LOH0H3N54LeXkPF/mOe4gpHDI=";
};
definedAliases = ["@mdn"];
};
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"];
};
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-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-wiki = {
name = "Nix Wiki";
urls = [
{template = "https://wiki.nixos.org/w/index.php?search={searchTerms}";}
{template = "https://nixos.wiki/index.php?search={searchTerms}";}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@wiki"];
};
};
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 = 7000;
};
"Work 2" = {
id = "761ecf8e-5850-4030-b0d8-0d4c0efe1a2e";
icon = "chrome://browser/skin/zen-icons/selectable/star.svg";
container = containers."Work".id;
position = 6000;
};
"Work 3" = {
id = "fdbed307-bad6-4ddb-bb6d-2d1bab864162";
icon = "chrome://browser/skin/zen-icons/selectable/sun.svg";
container = containers."Work".id;
position = 5000;
};
"Academic" = {
id = "92529b12-d9ab-4a65-887c-056e041ff497";
icon = "chrome://browser/skin/zen-icons/selectable/school.svg";
container = containers."Academic".id;
position = 4000;
};
"Goverment" = {
id = "7e83e835-caef-4b94-be0c-b6b3959d0830";
icon = "chrome://browser/skin/zen-icons/selectable/folder.svg";
container = containers."Goverment".id;
position = 3000;
};
"Shopping" = {
id = "78aabdad-8aae-4fe0-8ff0-2a0c6c4ccc24";
icon = "chrome://browser/skin/zen-icons/selectable/basket.svg";
container = containers."Shopping".id;
position = 2000;
};
};
};
policies = {
AutofillAdressEnabled = true;
AutofillCreditCardEnabled = false;
EnableTrackingProtection = {
Value = true;
Locked = true;
Cryptomining = true;
Fingerprinting = true;
};
ExtensionSettings = {
"@contain-facebook" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/facebook-container/latest.xpi";
installation_mode = "force_installed";
};
"7esoorv3@alefvanoon.anonaddy.me" = {
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";
};
"extraneous@sysrqmagician.github.io" = {
install_url = "https://addons.mozilla.org/firefox/downloads/latest/extraneous/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";
};
};
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;
};
};
programs.mpv.enable = true;
programs.mpv.scripts = with pkgs.mpvScripts; [
quality-menu
sponsorblock
];
xdg.mimeApps.defaultApplications = listToAttrs (map (name: {
inherit name;
value = config.programs.qutebrowser.package.meta.desktopFileName;
}) [
"application/x-extension-shtml"
"application/x-extension-xhtml"
"application/x-extension-html"
"application/x-extension-xhtm"
"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"
]);
}

View File

@@ -1,44 +1,61 @@
{
config,
inputs,
lib,
pkgs,
pkgs-unstable,
self,
...
}: {
} @ args: {
imports = [
inputs.home-manager.nixosModules.default
];
# User
home-manager = {
backupFileExtension = "bkp";
extraSpecialArgs = {inherit (args) inputs self pkgs-unstable;};
useGlobalPkgs = true;
useUserPackages = true;
users."guz" = ./home.nix;
};
users.users."guz" = {
extraGroups = ["wheel" "guz"];
isNormalUser = true;
hashedPasswordFile = builtins.toString config.sops.secrets."guz/password".path;
password = "1313";
# hashedPasswordFile = builtins.toString config.sops.secrets."guz/password".path;
shell = self.packages.${pkgs.stdenv.hostPlatform.system}.devkit.zsh;
};
users.groups."guz" = {};
home-manager.backupFileExtension = "bkp";
home-manager.extraSpecialArgs = {inherit inputs self pkgs-unstable;};
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users."guz" = ./home.nix;
# Shell
programs.zsh.enable = true;
services.displayManager.sddm = {
enable = true;
extraPackages = with pkgs; [
kdePackages.qtmultimedia
kdePackages.qtsvg
kdePackages.qtvirtualkeyboard
];
theme = "${pkgs.sddm-astronaut.override {embeddedTheme = "hyprland_kath";}}/share/sddm/themes/sddm-astronaut-theme";
wayland.enable = true;
};
services.desktopManager.gnome = {
enable = true;
};
programs.hyprland = {
enable = true;
withUWSM = true;
xwayland.enable = true;
};
# Steam
programs.steam.enable = true;
xdg.portal.xdgOpenUsePortal = true;
xdg.portal.extraPortals = with pkgs; [xdg-desktop-portal-gtk];
# Shell
programs.zsh.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
}

View File

@@ -1,285 +1,98 @@
{
config,
lib,
osConfig,
pkgs,
...
}:
with lib; {
xdg.configFile."uwsm/env".source = "${config.home.sessionVariablesPackage}/etc/profile.d/hm-session-vars.sh"; # Set environment variables
wayland.windowManager.hyprland = {
enable = true;
systemd.enable = mkForce false; # Incompatible with UWSM
package = null; # Use the package from the NixOS module
portalPackage = null; # Use the package from the NixOS module
settings = {
"$MONITOR-1" = mkDefault "";
"$MONITOR-2" = mkDefault "";
animations.enabled = true;
decoration.rounding = 5;
decoration.dim_inactive = true;
decoration.dim_strength = 0.2;
decoration.dim_around = 0.4;
exec-once = [
"wl-paste --type text --watch cliphist store"
"wl-paste --type image --watch cliphist store"
];
dwindle.pseudotile = true;
dwindle.preserve_split = true;
general.gaps_in = 5;
general.gaps_out = 10;
general.border_size = 0;
general.layout = "dwindle";
input.kb_layout = elemAt 0 (strings.splitString "-" osConfig.console.keyMap);
input.kb_variant = elemAt 1 (strings.splitString "-" osConfig.console.keyMap);
input.follow_mouse = 1;
input.sensitivity = 0;
monitor = [", preferred, auto, 1"];
workspace = [
# Primary monitor
"1,monitor:$MONITOR-1,default:true"
"2,monitor:$MONITOR-1"
"3,monitor:$MONITOR-1"
"4,monitor:$MONITOR-1"
"5,monitor:$MONITOR-1"
# Second monitor
"6,monitor:$MONITOR-2"
"7,monitor:$MONITOR-2"
"8,monitor:$MONITOR-2"
"9,monitor:$MONITOR-2"
"10,monitor:$MONITOR-2,default:true"
];
# Keymaps
bind = [
# Applications shortcut
"SUPER, Q, exec, ${config.home.sessionVariables.TERMINAL}" # Terminal
# TODO: "SUPER, E, exec, " # File manager
"SUPER, W, exec, xdg-open https://search.brave.com"
# Launcher
# TODO: "SUPER, S, exec, "
"SUPER, I, exec, ${getExe pkgs.rofimoji}" # Emoji Picker
# Navigation
"SUPER, C, killactive"
"SUPER, F, fullscreen"
"SUPER_SHIFT, F, togglefloating"
"SUPER, h, movefocus l"
"SUPER, l, movefocus r"
"SUPER, k, movefocus u"
"SUPER, j, movefocus d"
"SUPER, 1, workspace 1"
"SUPER, 2, workspace 2"
"SUPER, 3, workspace 3"
"SUPER, 4, workspace 4"
"SUPER, 5, workspace 5"
"SUPER, 6, workspace 6"
"SUPER, 7, workspace 7"
"SUPER, 8, workspace 8"
"SUPER, 9, workspace 9"
"SUPER, 0, workspace 10"
"SUPER_SHIFT, 1, movetoworkspace 1"
"SUPER_SHIFT, 2, movetoworkspace 2"
"SUPER_SHIFT, 3, movetoworkspace 3"
"SUPER_SHIFT, 4, movetoworkspace 4"
"SUPER_SHIFT, 5, movetoworkspace 5"
"SUPER_SHIFT, 6, movetoworkspace 6"
"SUPER_SHIFT, 7, movetoworkspace 7"
"SUPER_SHIFT, 8, movetoworkspace 8"
"SUPER_SHIFT, 9, movetoworkspace 9"
"SUPER_SHIFT, 0, movetoworkspace 10"
# Clipboard manager
"SUPER, V, exec, cliphist list | rofi -dmenu -display-columns 2 | cliphist decode | wl-copy"
# Print region
",Print, exec, ${getExe pkgs.grim} -g \"$(${getExe slurp} -d)\" - | wl-copy"
# Copy color
"SUPER, P, exec, ${getExe pkgs.hyprpicker} | wl-copy"
];
# Mouse Keymaps
bindm = [
"SUPER, mouse:272, movewindow" # Left-click
"SUPER, mouse:273, resizewindow" # Right-click
];
};
};
# Application Launcher
programs.rofi = {
enable = true;
modes = ["drun" "emoji"];
};
# Clipboard
services.cliphist = {
enable = true;
allowImages = true;
};
home.packages = with pkgs; [
wl-clipboard
}: {
programs.gnome-shell.enable = true;
programs.gnome-shell.extensions = with pkgs.gnomeExtensions; [
{package = arcmenu;}
{package = blur-my-shell;}
{package = forge;}
{package = gsconnect;}
];
# Notifications
services.dunst = {
enable = true;
settings = {
global.follow = "mouse";
dconf.enable = true;
dconf.settings = {
"org/gnome/shell" = {
disable-user-extensions = false;
enabled-extensions = with pkgs.gnomeExtensions; [
arcmenu.extensionUuid
blur-my-shell.extensionUuid
forge.extensionUuid
gsconnect.extensionUuid
];
};
"org/gnome/shell/app-switcher" = {
current-workspace-only = true;
};
"org/gnome/mutter" = {
dynamic-workspaces = false;
num-workspaces = 5;
};
"org/gnome/desktop/wm/keybindings" = {
close = ["<Super>C"];
minimize = [];
move-to-workspace-1 = ["<Shift><Super>1"];
move-to-workspace-2 = ["<Shift><Super>2"];
move-to-workspace-3 = ["<Shift><Super>3"];
move-to-workspace-4 = ["<Shift><Super>4"];
move-to-workspace-5 = ["<Shift><Super>5"];
switch-to-workspace-1 = ["<Super>1"];
switch-to-workspace-2 = ["<Super>2"];
switch-to-workspace-3 = ["<Super>3"];
switch-to-workspace-4 = ["<Super>4"];
switch-to-workspace-5 = ["<Super>5"];
toggle-quick-settings = [];
};
"org/gnome/desktop/wm/preferences" = {
focus-mode = "mouse";
};
"org/gnome/settings-daemon/plugins/media-keys" = {
screensaver = [];
};
"org/gtk/gtk4/settings/file-chooser" = {
show-hidden = true;
};
"org/gnome/shell/extensions/arcmenu" = {
menu-button-appearance = "None";
runner-hotkey = ["<Super>S"];
runner-position = "Centered";
runner-show-frequent-apps = true;
show-activities-button = true;
};
"org/gnome/shell/extensions/blur-my-shell/panel" = {
blur = false;
};
"org/gnome/shell/extensions/forge" = {
dnd-center-layout = "stacked";
focus-on-hover-enabled = true;
tabbed-tiling-mode-enabled = false;
move-pointer-focus-enabled = true;
window-toggle-float = ["<Shift><Super>F"];
window-toggle-always-float = [];
};
};
# Bar
programs.waybar.settings = let
layer = "top";
position = "top";
home.packages = with pkgs; [
gnome-extension-manager
gnome-tweaks
];
height = 25;
spacing = 5;
qt.enable = true;
qt.style.name = "adwaita-dark";
margin-top = 5;
margin-x = 10;
margin-right = margin-x;
margin-left = margin-x;
in {
main = let
monitor = config.wayland.windowManager.hyprland.settings."$MONITOR-1";
in {
inherit
layer
position
height
spacing
margin-top
margin-right
margin-left
;
output = [monitor];
modules-left = [
"hyprland/workspaces"
];
"hyprland/workspaces" = {
active-only = false;
persistent-workspaces = {
"${monitor}" = [1 2 3 4 5];
};
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
modules-center = [
"clock"
];
modules-right = [
"pulseaudio"
];
"clock" = {
format = "{:%d 󰥔 %R}";
format-alt = "{:%B %d, 12.0%y (%A)}";
tooltip-format = "<tt><small>{calendar}</small></tt>";
calendar = {
mode = "year";
mode-mon-col = 3;
weeks-pos = "left";
on-scroll = 1;
format = with config.lib.stylix.colors.withHashtag; {
months = "<span color='${base09}'><b>{}</b></span>";
days = "<span color='${base05}'><b>{}</b></span>";
weeks = "<span color='${base09}'><b>W{}</b></span>";
weeksdays = "<span color='${base09}'><b>{}</b></span>";
today = "<span color='${base07}'><b>{}</b></span>";
};
};
};
"pulseaudio" = {
format = "{icon} {volume}%";
format-muted = "";
format-icons = {
default = ["" ""];
};
onclick = "${lib.getExe pkgs.pwvucontrol}";
};
};
secondary = let
monitor = config.wayland.windowManager.hyprland.settings."$MONITOR-2";
in {
inherit
layer
position
height
spacing
margin-top
margin-right
margin-left
;
output = [monitor];
modules-left = [
"cpu"
"memory"
"disk"
];
"cpu" = {
format = " {usage}%";
};
"memory" = {
format = " {percentage}%";
};
"disk" = {
interval = 30;
format = "󰨣 {specific_free:0.2f}";
unit = "GB";
};
modules-center = [
"hyprland/window"
];
"hyprland/window" = {
format = "{title}";
};
modules-right = [
"hyprland/workspaces"
];
"hyprland/workspaces" = {
active-only = false;
persistent-workspaces = {
"${monitor}" = [6 7 8 9 10];
};
format = "{icon}";
format-icons = {
default = "";
active = "";
};
};
# Fonts
fonts.fontconfig.enable = true;
fonts.fontconfig.defaultFonts = with config.stylix.fonts; {
sansSerif = [sansSerif.name];
serif = [serif.name];
monospace = [monospace.name];
emoji = [emoji.name];
};
stylix.fonts = {
monospace = {
package = pkgs.nerd-fonts.fira-code;
name = "FiraCode Nerd Font";
};
};
}

View File

@@ -8,8 +8,10 @@ with lib; {
mode = elemAt d 0;
}
else d) [
["0755" "Academic"]
["0755" "Documents"]
["0755" "Downloads"]
["0755" "Job"]
["0755" "KritaRecorder"]
["0755" "Music"]
["0755" "Nextcloud"]
@@ -19,20 +21,22 @@ with lib; {
["0755" "go"]
["0700" ".gnupg"]
["0700" ".ssh"]
["0755" ".steam"]
["0755" ".cache/blender"]
["0755" ".cache/go-build"]
["0755" ".cache/godot"]
["0700" ".cache/gopls"]
["0755" ".cache/nvim"]
["0700" ".cache/qutebrowser"]
["0755" ".cache/starship"]
["0700" ".cache/wezterm"]
["0755" ".cache/zellij"]
["0700" ".cache/zen"]
["0755" ".config/sops/age"]
["0755" ".config/blender"]
["0751" ".config/inkscape"]
["0600" ".config/kritarc"]
["0644" ".config/kritadisplayrc"]
["0755" ".config/qutebrowser"]
["0755" ".config/zen"]
["0755" ".local/share/direnv"]
["0700" ".local/share/keyrings"]
];

View 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"]
}
}