refactor: firefox overhaul

This commit is contained in:
Nick 2024-11-09 16:44:23 -06:00
parent 9ea002b5a3
commit a2bf6014ff
85 changed files with 1253 additions and 1133 deletions

View file

@ -70,7 +70,6 @@ in {
inherit
(modules)
brave
firefox
flameshot
misc-android
misc-desktop
@ -92,6 +91,15 @@ in {
};
};
firefox = {
imports = builtins.attrValues {
inherit
(modules)
firefox
;
};
};
productionArt = {
imports = builtins.attrValues {
inherit

View file

@ -1,645 +0,0 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit (flake.config.people.users.${user0}) aliases;
inherit (flake.config.machines.devices) nas server;
inherit (flake.config.services) instances;
gitlabTags = ["git" "gitlab"];
youtubeTags = ["youtube" "you" "tube" "yt"];
jellyfinTags = ["jelly" "video" "streaming" "movies" "shows" "music"];
ollamaTags = [instances.ollama.name "chat" "ai"];
owncastTags = [instances.owncast.name "own" "cast" "stream"];
syncthingTags = [instances.syncthing.name "sync" "thing" instances.synology.name];
in {
programs.firefox.profiles = {
${user0} = {
bookmarks = [
{
name = "Academic";
toolbar = false;
bookmarks = [
{
name = "PubMed";
url = "https://pubmed.ncbi.nlm.nih.gov";
tags = ["pub" "pubmed" "science" "research" "academic"];
keyword = "Pub";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"];
keyword = "Sci";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = ["standford" "encyclopedia" "philosophy" "phil"];
keyword = "Phil";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = ["votero" "bibliography" "bib" "zbib"];
keyword = "Bib";
}
];
}
{
name = "Development";
toolbar = false;
bookmarks = [
{
name = "Discord (Development Portal)";
url = "https://discord.com/developers/applications";
tags = ["discord" "development" "portal" "bot"];
keyword = "Discord";
}
{
name = "GitHub";
url = "https://github.com/BRBWaffles";
tags = ["git" "github" "brbwaffles"];
keyword = "GitHub";
}
{
name = "GitLab (Appoota)";
url = "https://gitlab.com/Appoota/dotfiles";
tags =
["appoota"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Fallaryn)";
url = "https://gitlab.com/fallaryn/dotfiles";
tags =
["fallaryn"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Isaac)";
url = "https://gitlab.com/askyourself/dotfiles";
tags =
["isaac" "askyourself"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Nick)";
url = "https://gitlab.com/BRBWaffles/dotfiles";
tags =
["brbwaffles"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "Hackage";
url = "https://hackage.haskell.org";
tags = ["hackage" "hack" "haskell"];
keyword = "Hack";
}
];
}
{
name = "Gaming";
toolbar = false;
bookmarks = [
{
name = "Battle.net";
url = "https://us.shop.battle.net";
tags = ["battle.net" "battle" "net"];
keyword = "Battle";
}
{
name = "Chess.com";
url = "https://www.chess.com/home";
tags = ["chess"];
keyword = "Chess";
}
{
name = "Lichess";
url = "https://lichess.org";
tags = ["lichess" "chess"];
keyword = "Li";
}
{
name = "ProtonDB";
url = "https://www.protondb.com";
tags = ["steam" "db"];
keyword = "DB";
}
{
name = "SteamDB";
url = "https://steamdb.info";
tags = ["steamdb" "steam" "db"];
keyword = "SteamDB";
}
];
}
{
name = "Finances";
toolbar = false;
bookmarks = [
{
name = "Adsense";
url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments";
tags = ["google" "adsense" "ads" "money"];
keyword = "Adsense";
}
{
name = "Canada Revenue Agency";
url = "https://apps4.ams-sga.cra-arc.gc.ca/gol-ged/awsc/amss/browser/check?program=mima&target=login&lang=en&idp=cms";
tags = ["cra" "canada" "money"];
keyword = "CRA";
}
{
name = "Credit Karma";
url = "https://www.creditkarma.ca";
tags = ["credit" "karma" "bank" "banking"];
keyword = "Credit";
}
{
name = "Kijiji";
url = "https://www.kijiji.ca";
tags = ["kijiji" "kij" "ki"];
keyword = "Kij";
}
{
name = "LiberaPay";
url = "https://liberapay.com/TheNutrivore";
tags = ["libera" "liberapay" "donations" "bank" "banking" "money" "nutrivore"];
keyword = "Libera";
}
{
name = "Patreon";
url = "https://www.patreon.com/thenutrivore";
tags = ["patreon" "donations" "bank" "banking" "money" "nutrivore"];
keyword = "Patreon";
}
{
name = "PayPal";
url = "https://www.paypal.com/myaccount/summary?intl=0";
tags = ["paypal" "bank" "banking" "money"];
keyword = "PayPal";
}
{
name = "Shopify";
url = "https://the-nutrivore.myshopify.com/admin";
tags = ["shopify" "business" "shop" "bank" "banking" "money"];
keyword = "Shopify";
}
{
name = "Simplii";
url = "https://online.simplii.com/ebm-resources/public/client/web/index.html#/signon";
tags = ["simplii" "bank" "banking" "money"];
keyword = "Simplii";
}
{
name = "Stripe";
url = "https://dashboard.stripe.com/settings/user";
tags = ["stripe" "bank" "banking" "money"];
keyword = "Stripe";
}
{
name = "Telus (Security)";
url = "https://smarthome-security.telus.com/web/system/home";
tags = ["telus" "security"];
keyword = "ADT";
}
{
name = "Wealthsimple";
url = "https://my.wealthsimple.com/app/tax-onboarding/2021";
tags = ["wealth" "simple" "bank" "banking" "crypto"];
keyword = "Wealth";
}
{
name = "Wix";
url = "https://manage.wix.com/dashboard/413fd74d-8a8f-4c77-bd91-9ea560ffe906/home";
tags = ["wix" "website" "business" "bills" "nutrivore"];
keyword = "Wix";
}
];
}
{
name = "Self Hosted";
toolbar = false;
bookmarks = [
{
name = instances.forgejo.label;
url = "https://${instances.forgejo.subdomain}.${instances.web.domains.url0}";
tags = [instances.forgejo.name "forge" "git"];
keyword = instances.forgejo.label;
}
{
name = "${instances.jellyfin.label} (Internet)";
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
{
name = "${instances.jellyfin.label} (Local)";
url = "http://${server.ip.address0}:${toString instances.jellyfin.ports.port1}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
{
name = instances.mastodon.label;
url = "https://${instances.web.domains.url1}";
tags = [instances.mastodon.name "mast" "md"];
keyword = instances.mastodon.label;
}
{
name = "Namecheap";
url = "https://www.namecheap.com";
tags = ["namecheap" "name" "cheap" "dns"];
keyword = "Name";
}
{
name = instances.nextcloud.label;
url = "https://${instances.nextcloud.subdomain}.${instances.web.domains.url1}";
tags = [instances.nextcloud.name "next" "cloud" "calendar"];
keyword = instances.nextcloud.label;
}
{
name = aliases.name2;
url = instances.web.domains.url2;
tags = [aliases.name3 "blog"];
keyword = aliases.name2;
}
{
name = "${instances.ollama.label} (Server)";
url = "https://${instances.ollama.subdomain}.${instances.web.domains.url1}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
{
name = "${instances.ollama.label} (Desktop)";
url = "http://localhost:${toString instances.ollama.ports.port0}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
{
name = "${instances.owncast.label} (Admin)";
url = "http://${server.ip.address0}:${toString instances.owncast.ports.port0}/admin";
tags = owncastTags;
keyword = instances.owncast.label;
}
{
name = "${instances.owncast.label} (Server)";
url = "http://${instances.owncast.subdomain}.${instances.web.domains.url1}";
tags = owncastTags;
keyword = instances.owncast.label;
}
{
name = instances.peertube.label;
url = "https://${instances.peertube.subdomain}.${instances.web.domains.url1}";
tags = [instances.peertube.name "peer" "tube" "nutrivore"];
keyword = instances.peertube.label;
}
{
name = "Router";
url = "http://${instances.web.localhost.address2}";
tags = ["router" "asus"];
keyword = "Router";
}
{
name = "${instances.syncthing.label} (${instances.synology.label})";
url = "http://${nas.ip.address0}:${toString instances.syncthing.ports.port0}";
tags =
["synology"]
++ syncthingTags;
keyword = instances.syncthing.label;
}
{
name = "${instances.syncthing.label} (Desktop)";
url = "http://localhost:${toString instances.syncthing.ports.port0}";
tags =
["desktop"]
++ syncthingTags;
keyword = instances.syncthing.label;
}
{
name = instances.synology.label;
url = "https://${nas.ip.address0}:${toString instances.synology.ports.port0}";
tags = [instances.synology.name "dsm" "cloud"];
keyword = instances.synology.label;
}
{
name = instances.vaultwarden.label;
url = "https://${instances.vaultwarden.subdomain}.${instances.web.domains.url0}";
tags = [instances.vaultwarden.name "bitwarden" "vault" "bit" "warden"];
keyword = instances.vaultwarden.label;
}
{
name = instances.wiki.label;
url = "https://${instances.wiki.subdomain}.${instances.web.domains.url1}";
tags = [instances.wiki.name "vault"];
keyword = instances.wiki.label;
}
];
}
{
name = "Shopping";
toolbar = false;
bookmarks = [
{
name = "Amazon";
url = "https://www.amazon.ca";
tags = ["amazon" "shopping" "supply"];
keyword = "Amazon";
}
{
name = "Door Dash";
url = "https://www.doordash.com";
tags = ["doordash" "door" "dash" "food"];
keyword = "Amazon";
}
{
name = "FTY Supplies";
url = "https://fytsupplies.ca";
tags = ["tattoo tat" "fyt" "shopping" "supply"];
keyword = "FYT";
}
{
name = "Skip the Dishes";
url = "https://www.skipthedishes.com";
tags = ["skip" "dishes" "food"];
keyword = "Skip";
}
{
name = "Uber Eats";
url = "https://www.ubereats.com";
tags = ["uber" "eats" "food"];
keyword = "Uber";
}
{
name = "TatSoul";
url = "https://www.tatsoul.com";
tags = ["tattoo" "tat" "tatsoul" "shopping" "supply"];
keyword = "TatSoul";
}
];
}
{
name = "Social Media";
toolbar = false;
bookmarks = [
{
name = "Disboard";
url = "https://disboard.org";
tags = ["disboard" "discord" "dis" "ds" "social"];
keyword = "Disboard";
}
{
name = "Discord (Web Client)";
url = "https://discord.com/channels/@me";
tags = ["discord" "dis" "ds" "social"];
keyword = "Discord";
}
{
name = "Gmail";
url = "https://mail.google.com/mail/u/0/#inbox";
tags = ["gmail" "google" "mail" "gm" "email"];
keyword = "Gmail";
}
{
name = "Lemmy";
url = "https://lemmy.world";
tags = ["lemmy" "social"];
keyword = "Lem";
}
{
name = "OnlyFans";
url = "https://onlyfans.com";
tags = ["onlyfans" "only" "fans"];
keyword = "Only";
}
{
name = "Pixelfed";
url = "https://pixelfed.social/i/web/profile/651714972141461392";
tags = ["pixelfed" "pixel" "pi"];
keyword = "Pix";
}
{
name = "Proton Mail";
url = "https://mail.proton.me/u/1/inbox";
tags = ["proton" "mail" "pr" "email"];
keyword = "Pro";
}
{
name = "Proton Calendar";
url = "https://calendar.proton.me";
tags = ["proton" "calendar"];
keyword = "Cal";
}
{
name = "Proton VPN";
url = "https://account.proton.me/u/0/vpn";
tags = ["proton" "vpn"];
keyword = "VPN";
}
{
name = "Reddit";
url = "https://www.reddit.com";
tags = ["reddit" "social"];
keyword = "Reddit";
}
{
name = "StreamLabs";
url = "https://streamlabs.com/dashboard";
tags = ["streamlabs" "stream" "labs"];
keyword = "Stream";
}
{
name = "Tinder";
url = "https://tinder.com/app/recs";
tags = ["tinder" "dating" "booty"];
keyword = "Tinder";
}
{
name = "YouTube";
url = "https://www.youtube.com";
tags = youtubeTags;
keyword = "You";
}
{
name = "YouTube Studio";
url = "https://studio.youtube.com/channel/UCy9yYcDx2XuVVgcWLJJDoxw";
tags =
["studio"]
++ youtubeTags;
keyword = "Studio";
}
{
name = "X (Twitter)";
url = "https://twitter.com/TheNutrivore";
tags = ["twitter" "x" "social"];
keyword = "Twitter";
}
];
}
{
name = "Tools";
toolbar = false;
bookmarks = [
{
name = "Uncensored AI";
url = "https://www.aiuncensored.info";
tags = ["uncensored" "ai"];
keyword = "AI";
}
{
name = "Canadian Blood Services";
url = "https://www.blood.ca/en";
tags = ["canadian" "blood" "services" "give"];
keyword = "Give";
}
{
name = "Chmod Calculator";
url = "https://chmod-calculator.com";
tags = ["chmod" "calculator"];
keyword = "Chmod";
}
{
name = "ChatGPT";
url = "https://chatgpt.com";
tags = ["chat" "chatgpt" "gpt"];
keyword = "Chat";
}
{
name = "Claude AI";
url = "https://claude.ai";
tags = ["claude" "ai"];
keyword = "Claude";
}
{
name = "Cronometer";
url = "https://cronometer.com/#diary";
tags = ["cronometer" "cron" "nutrition"];
keyword = "Cron";
}
{
name = "DNS Checker";
url = "https://dnschecker.org";
tags = ["dns" "checker"];
keyword = "DNS";
}
{
name = "EventBrite";
url = "https://www.eventbrite.ca/d/canada--winnipeg/events--today/winnipeg/?page=1";
tags = ["eventbrite" "event" "brite"];
keyword = "Event";
}
{
name = "Google Maps";
url = "https://www.google.com/maps";
tags = ["maps" "google"];
keyword = "Map";
}
{
name = "ListenBrainz";
url = "https://listenbrainz.org/user/BRBWaffles";
tags = ["listenbrainz" "listen" "brains"];
keyword = "Listen";
}
{
name = "Memory Express";
url = "https://www.memoryexpress.com";
tags = ["memoryexpress" "memory" "mem" "express"];
keyword = "Mem";
}
{
name = "Percentage Calculator";
url = "https://percentagecalculator.net";
tags = ["percentage" "percent" "calculator"];
keyword = "Percent";
}
{
name = "Portchecker";
url = "https://portchecker.co";
tags = ["portchecker" "port" "checker"];
keyword = "Port";
}
{
name = "Proof Tree";
url = "https://www.umsu.de/trees";
tags = ["proof" "tree" "logic" "academic"];
keyword = "Logic";
}
{
name = "RhymeZone";
url = "https://www.rhymezone.com";
tags = ["rhymezone" "rhyme" "zone"];
keyword = "Rhyme";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"];
keyword = "Sci";
}
{
name = "Speedtest";
url = "https://www.speedtest.net";
tags = ["speedtest" "speed" "test"];
keyword = "Speed";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = ["standford" "encyclopedia" "philosophy" "phil"];
keyword = "Phil";
}
{
name = "Telus (Billing)";
url = "https://www.telus.com/my-telus/billing/summary";
tags = ["telus" "phone" "bills" "money"];
keyword = "Telus";
}
{
name = "TinEye";
url = "https://tineye.com";
tags = ["tineye" "tin" "eye"];
keyword = "Tin";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = ["votero" "bibliography" "bib" "zbib"];
keyword = "Bib";
}
];
}
{
name = "Tracking";
toolbar = false;
bookmarks = [
{
name = "1337";
url = "https://1337x.to";
tags = ["torrent" "1337"];
keyword = "1337";
}
{
name = "Core Radio";
url = "https://coreradio.online";
tags = ["core" "radio" "metal"];
keyword = "Core";
}
{
name = "Metal Tracker";
url = "https://en.metal-tracker.com";
tags = ["metaltracker" "metal" "tracker"];
keyword = "Metal";
}
{
name = "Torrent Leech";
url = "https://www.torrentleech.org";
tags = ["torrent" "leech"];
keyword = "Leech";
}
];
}
];
};
};
}

View file

@ -0,0 +1,30 @@
{
name = "Academic";
toolbar = false;
bookmarks = [
{
name = "PubMed";
url = "https://pubmed.ncbi.nlm.nih.gov";
tags = ["pub" "pubmed" "science" "research" "academic"];
keyword = "Pub";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"];
keyword = "Sci";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = ["standford" "encyclopedia" "philosophy" "phil"];
keyword = "Phil";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = ["votero" "bibliography" "bib" "zbib"];
keyword = "Bib";
}
];
}

View file

@ -0,0 +1,28 @@
{flake, ...}: let
aggregatedBookmarks =
builtins.foldl' (
emptyList: bookmarks:
emptyList ++ bookmarks.bookmarks
) [] (map
(name: import ./${name}.nix)
[
"academic"
"development"
"gaming"
"finances"
"shopping"
"socialMedia"
"tools"
"tracking"
])
++ builtins.foldl' (
emptyList: bookmarks:
emptyList ++ bookmarks.bookmarks
) [] (map
(name: import ./${name}.nix {inherit flake;})
[
"selfHosted"
]);
in {
bookmarks = aggregatedBookmarks;
}

View file

@ -0,0 +1,59 @@
let
gitlabTags = ["git" "gitlab"];
gitlabURL = "https://gitlab.com/";
in {
name = "Development";
toolbar = false;
bookmarks = [
{
name = "Discord (Development Portal)";
url = "https://discord.com/developers/applications";
tags = ["discord" "development" "portal" "bot"];
keyword = "Discord";
}
{
name = "GitHub";
url = "https://github.com/BRBWaffles";
tags = ["git" "github" "brbwaffles"];
keyword = "GitHub";
}
{
name = "GitLab (Appoota)";
url = "${gitlabURL}/Appoota/dotfiles";
tags =
["appoota"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Fallaryn)";
url = "${gitlabURL}/fallaryn/dotfiles";
tags =
["fallaryn"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Isaac)";
url = "${gitlabURL}/askyourself/dotfiles";
tags =
["isaac" "askyourself"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Nick)";
url = "${gitlabURL}/BRBWaffles/dotfiles";
tags =
["brbwaffles"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "Hackage";
url = "https://hackage.haskell.org";
tags = ["hackage" "hack" "haskell"];
keyword = "Hack";
}
];
}

View file

@ -0,0 +1,84 @@
{
name = "Finances";
toolbar = false;
bookmarks = [
{
name = "Adsense";
url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments";
tags = ["google" "adsense" "ads" "money"];
keyword = "Adsense";
}
{
name = "Canada Revenue Agency";
url = "https://apps4.ams-sga.cra-arc.gc.ca/gol-ged/awsc/amss/browser/check?program=mima&target=login&lang=en&idp=cms";
tags = ["cra" "canada" "money"];
keyword = "CRA";
}
{
name = "Credit Karma";
url = "https://www.creditkarma.ca";
tags = ["credit" "karma" "bank" "banking"];
keyword = "Credit";
}
{
name = "Kijiji";
url = "https://www.kijiji.ca";
tags = ["kijiji" "kij" "ki"];
keyword = "Kij";
}
{
name = "LiberaPay";
url = "https://liberapay.com/TheNutrivore";
tags = ["libera" "liberapay" "donations" "bank" "banking" "money" "nutrivore"];
keyword = "Libera";
}
{
name = "Patreon";
url = "https://www.patreon.com/thenutrivore";
tags = ["patreon" "donations" "bank" "banking" "money" "nutrivore"];
keyword = "Patreon";
}
{
name = "PayPal";
url = "https://www.paypal.com/myaccount/summary?intl=0";
tags = ["paypal" "bank" "banking" "money"];
keyword = "PayPal";
}
{
name = "Shopify";
url = "https://the-nutrivore.myshopify.com/admin";
tags = ["shopify" "business" "shop" "bank" "banking" "money"];
keyword = "Shopify";
}
{
name = "Simplii";
url = "https://online.simplii.com/ebm-resources/public/client/web/index.html#/signon";
tags = ["simplii" "bank" "banking" "money"];
keyword = "Simplii";
}
{
name = "Stripe";
url = "https://dashboard.stripe.com/settings/user";
tags = ["stripe" "bank" "banking" "money"];
keyword = "Stripe";
}
{
name = "Telus (Security)";
url = "https://smarthome-security.telus.com/web/system/home";
tags = ["telus" "security"];
keyword = "ADT";
}
{
name = "Wealthsimple";
url = "https://my.wealthsimple.com/app/tax-onboarding/2021";
tags = ["wealth" "simple" "bank" "banking" "crypto"];
keyword = "Wealth";
}
{
name = "Wix";
url = "https://manage.wix.com/dashboard/413fd74d-8a8f-4c77-bd91-9ea560ffe906/home";
tags = ["wix" "website" "business" "bills" "nutrivore"];
keyword = "Wix";
}
];
}

View file

@ -0,0 +1,36 @@
{
name = "Gaming";
toolbar = false;
bookmarks = [
{
name = "Battle.net";
url = "https://us.shop.battle.net";
tags = ["battle.net" "battle" "net"];
keyword = "Battle";
}
{
name = "Chess.com";
url = "https://www.chess.com/home";
tags = ["chess"];
keyword = "Chess";
}
{
name = "Lichess";
url = "https://lichess.org";
tags = ["lichess" "chess"];
keyword = "Li";
}
{
name = "ProtonDB";
url = "https://www.protondb.com";
tags = ["steam" "db"];
keyword = "DB";
}
{
name = "SteamDB";
url = "https://steamdb.info";
tags = ["steamdb" "steam" "db"];
keyword = "SteamDB";
}
];
}

View file

@ -0,0 +1,128 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit (flake.config.people.users.${user0}) aliases;
inherit (flake.config.machines.devices) nas server;
inherit (flake.config.services) instances;
jellyfinTags = ["jelly" "video" "streaming" "movies" "shows" "music"];
ollamaTags = [instances.ollama.name "chat" "ai"];
owncastTags = [instances.owncast.name "own" "cast" "stream"];
syncthingTags = [instances.syncthing.name "sync" "thing" instances.synology.name];
in {
name = "Self Hosted";
toolbar = false;
bookmarks = [
{
name = instances.forgejo.label;
url = "https://${instances.forgejo.subdomain}.${instances.web.domains.url0}";
tags = [instances.forgejo.name "forge" "git"];
keyword = instances.forgejo.label;
}
{
name = "${instances.jellyfin.label} (Internet)";
url = "https://${instances.jellyfin.name}.${instances.web.domains.url0}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
{
name = "${instances.jellyfin.label} (Local)";
url = "http://${server.ip.address0}:${toString instances.jellyfin.ports.port1}";
tags = jellyfinTags;
keyword = instances.jellyfin.label;
}
{
name = instances.mastodon.label;
url = "https://${instances.web.domains.url1}";
tags = [instances.mastodon.name "mast" "md"];
keyword = instances.mastodon.label;
}
{
name = "Namecheap";
url = "https://www.namecheap.com";
tags = ["namecheap" "name" "cheap" "dns"];
keyword = "Name";
}
{
name = instances.nextcloud.label;
url = "https://${instances.nextcloud.subdomain}.${instances.web.domains.url1}";
tags = [instances.nextcloud.name "next" "cloud" "calendar"];
keyword = instances.nextcloud.label;
}
{
name = aliases.name2;
url = instances.web.domains.url2;
tags = [aliases.name3 "blog"];
keyword = aliases.name2;
}
{
name = "${instances.ollama.label} (Server)";
url = "https://${instances.ollama.subdomain}.${instances.web.domains.url1}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
{
name = "${instances.ollama.label} (Desktop)";
url = "http://localhost:${toString instances.ollama.ports.port0}";
tags = ollamaTags;
keyword = instances.ollama.label;
}
{
name = "${instances.owncast.label} (Admin)";
url = "http://${server.ip.address0}:${toString instances.owncast.ports.port0}/admin";
tags = owncastTags;
keyword = instances.owncast.label;
}
{
name = "${instances.owncast.label} (Server)";
url = "http://${instances.owncast.subdomain}.${instances.web.domains.url1}";
tags = owncastTags;
keyword = instances.owncast.label;
}
{
name = instances.peertube.label;
url = "https://${instances.peertube.subdomain}.${instances.web.domains.url1}";
tags = [instances.peertube.name "peer" "tube" "nutrivore"];
keyword = instances.peertube.label;
}
{
name = "Router";
url = "http://${instances.web.localhost.address2}";
tags = ["router" "asus"];
keyword = "Router";
}
{
name = "${instances.syncthing.label} (${instances.synology.label})";
url = "http://${nas.ip.address0}:${toString instances.syncthing.ports.port0}";
tags =
["synology"]
++ syncthingTags;
keyword = instances.syncthing.label;
}
{
name = "${instances.syncthing.label} (Desktop)";
url = "http://localhost:${toString instances.syncthing.ports.port0}";
tags =
["desktop"]
++ syncthingTags;
keyword = instances.syncthing.label;
}
{
name = instances.synology.label;
url = "https://${nas.ip.address0}:${toString instances.synology.ports.port0}";
tags = [instances.synology.name "dsm" "cloud"];
keyword = instances.synology.label;
}
{
name = instances.vaultwarden.label;
url = "https://${instances.vaultwarden.subdomain}.${instances.web.domains.url0}";
tags = [instances.vaultwarden.name "bitwarden" "vault" "bit" "warden"];
keyword = instances.vaultwarden.label;
}
{
name = instances.wiki.label;
url = "https://${instances.wiki.subdomain}.${instances.web.domains.url1}";
tags = [instances.wiki.name "vault"];
keyword = instances.wiki.label;
}
];
}

View file

@ -0,0 +1,42 @@
{
name = "Shopping";
toolbar = false;
bookmarks = [
{
name = "Amazon";
url = "https://www.amazon.ca";
tags = ["amazon" "shopping" "supply"];
keyword = "Amazon";
}
{
name = "Door Dash";
url = "https://www.doordash.com";
tags = ["doordash" "door" "dash" "food"];
keyword = "Amazon";
}
{
name = "FTY Supplies";
url = "https://fytsupplies.ca";
tags = ["tattoo tat" "fyt" "shopping" "supply"];
keyword = "FYT";
}
{
name = "Skip the Dishes";
url = "https://www.skipthedishes.com";
tags = ["skip" "dishes" "food"];
keyword = "Skip";
}
{
name = "Uber Eats";
url = "https://www.ubereats.com";
tags = ["uber" "eats" "food"];
keyword = "Uber";
}
{
name = "TatSoul";
url = "https://www.tatsoul.com";
tags = ["tattoo" "tat" "tatsoul" "shopping" "supply"];
keyword = "TatSoul";
}
];
}

View file

@ -0,0 +1,101 @@
let
discordTags = ["disboard" "discord" "dis" "ds" "social"];
youtubeTags = ["youtube" "you" "tube" "yt"];
in {
name = "Social Media";
toolbar = false;
bookmarks = [
{
name = "Disboard";
url = "https://disboard.org";
tags = discordTags;
keyword = "Disboard";
}
{
name = "Discord (Web Client)";
url = "https://discord.com/channels/@me";
tags = discordTags;
keyword = "Discord";
}
{
name = "Gmail";
url = "https://mail.google.com/mail/u/0/#inbox";
tags = ["gmail" "google" "mail" "gm" "email"];
keyword = "Gmail";
}
{
name = "Lemmy";
url = "https://lemmy.world";
tags = ["lemmy" "social"];
keyword = "Lem";
}
{
name = "OnlyFans";
url = "https://onlyfans.com";
tags = ["onlyfans" "only" "fans"];
keyword = "Only";
}
{
name = "Pixelfed";
url = "https://pixelfed.social/i/web/profile/651714972141461392";
tags = ["pixelfed" "pixel" "pi"];
keyword = "Pix";
}
{
name = "Proton Mail";
url = "https://mail.proton.me/u/1/inbox";
tags = ["proton" "mail" "pr" "email"];
keyword = "Pro";
}
{
name = "Proton Calendar";
url = "https://calendar.proton.me";
tags = ["proton" "calendar"];
keyword = "Cal";
}
{
name = "Proton VPN";
url = "https://account.proton.me/u/0/vpn";
tags = ["proton" "vpn"];
keyword = "VPN";
}
{
name = "Reddit";
url = "https://www.reddit.com";
tags = ["reddit" "social"];
keyword = "Reddit";
}
{
name = "StreamLabs";
url = "https://streamlabs.com/dashboard";
tags = ["streamlabs" "stream" "labs"];
keyword = "Stream";
}
{
name = "Tinder";
url = "https://tinder.com/app/recs";
tags = ["tinder" "dating" "booty"];
keyword = "Tinder";
}
{
name = "YouTube";
url = "https://www.youtube.com";
tags = youtubeTags;
keyword = "You";
}
{
name = "YouTube Studio";
url = "https://studio.youtube.com/channel/UCy9yYcDx2XuVVgcWLJJDoxw";
tags =
["studio"]
++ youtubeTags;
keyword = "Studio";
}
{
name = "X (Twitter)";
url = "https://twitter.com/TheNutrivore";
tags = ["twitter" "x" "social"];
keyword = "Twitter";
}
];
}

View file

@ -0,0 +1,138 @@
{
name = "Tools";
toolbar = false;
bookmarks = [
{
name = "Uncensored AI";
url = "https://www.aiuncensored.info";
tags = ["uncensored" "ai"];
keyword = "AI";
}
{
name = "Canadian Blood Services";
url = "https://www.blood.ca/en";
tags = ["canadian" "blood" "services" "give"];
keyword = "Give";
}
{
name = "Chmod Calculator";
url = "https://chmod-calculator.com";
tags = ["chmod" "calculator"];
keyword = "Chmod";
}
{
name = "ChatGPT";
url = "https://chatgpt.com";
tags = ["chat" "chatgpt" "gpt"];
keyword = "Chat";
}
{
name = "Claude AI";
url = "https://claude.ai";
tags = ["claude" "ai"];
keyword = "Claude";
}
{
name = "Cronometer";
url = "https://cronometer.com/#diary";
tags = ["cronometer" "cron" "nutrition"];
keyword = "Cron";
}
{
name = "DNS Checker";
url = "https://dnschecker.org";
tags = ["dns" "checker"];
keyword = "DNS";
}
{
name = "EventBrite";
url = "https://www.eventbrite.ca/d/canada--winnipeg/events--today/winnipeg/?page=1";
tags = ["eventbrite" "event" "brite"];
keyword = "Event";
}
{
name = "Google Maps";
url = "https://www.google.com/maps";
tags = ["maps" "google"];
keyword = "Map";
}
{
name = "ListenBrainz";
url = "https://listenbrainz.org/user/BRBWaffles";
tags = ["listenbrainz" "listen" "brains"];
keyword = "Listen";
}
{
name = "Memory Express";
url = "https://www.memoryexpress.com";
tags = ["memoryexpress" "memory" "mem" "express"];
keyword = "Mem";
}
{
name = "Percentage Calculator";
url = "https://percentagecalculator.net";
tags = ["percentage" "percent" "calculator"];
keyword = "Percent";
}
{
name = "Portchecker";
url = "https://portchecker.co";
tags = ["portchecker" "port" "checker"];
keyword = "Port";
}
{
name = "Proof Tree";
url = "https://www.umsu.de/trees";
tags = ["proof" "tree" "logic" "academic"];
keyword = "Logic";
}
{
name = "RhymeZone";
url = "https://www.rhymezone.com";
tags = ["rhymezone" "rhyme" "zone"];
keyword = "Rhyme";
}
{
name = "RhymeZone";
url = "https://www.rhymezone.com";
tags = ["rhymezone" "rhyme" "zone"];
keyword = "Rhyme";
}
{
name = "Sci-Hub";
url = "https://sci-hub.ee";
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"];
keyword = "Sci";
}
{
name = "Speedtest";
url = "https://www.speedtest.net";
tags = ["speedtest" "speed" "test"];
keyword = "Speed";
}
{
name = "Stanford Encyclopedia of Philosophy";
url = "https://plato.stanford.edu";
tags = ["standford" "encyclopedia" "philosophy" "phil"];
keyword = "Phil";
}
{
name = "Telus (Billing)";
url = "https://www.telus.com/my-telus/billing/summary";
tags = ["telus" "phone" "bills" "money"];
keyword = "Telus";
}
{
name = "TinEye";
url = "https://tineye.com";
tags = ["tineye" "tin" "eye"];
keyword = "Tin";
}
{
name = "Zotero Bibliography";
url = "https://zbib.org";
tags = ["votero" "bibliography" "bib" "zbib"];
keyword = "Bib";
}
];
}

View file

@ -0,0 +1,30 @@
{
name = "Tracking";
toolbar = false;
bookmarks = [
{
name = "1337";
url = "https://1337x.to";
tags = ["torrent" "1337"];
keyword = "1337";
}
{
name = "Core Radio";
url = "https://coreradio.online";
tags = ["core" "radio" "metal"];
keyword = "Core";
}
{
name = "Metal Tracker";
url = "https://en.metal-tracker.com";
tags = ["metaltracker" "metal" "tracker"];
keyword = "Metal";
}
{
name = "Torrent Leech";
url = "https://www.torrentleech.org";
tags = ["torrent" "leech"];
keyword = "Leech";
}
];
}

View file

@ -1,15 +0,0 @@
{nur, ...}:
builtins.attrValues {
inherit
(nur.repos.rycee.firefox-addons)
bitwarden
enhancer-for-youtube
localcdn
sponsorblock
ublock-origin
unpaywall
sidebery
;
}
# https://github.com/nix-community/nur-combined/blob/master/repos/rycee/pkgs/firefox-addons/generated-firefox-addons.nix

View file

@ -0,0 +1,14 @@
{nur, ...}: {
extensions = builtins.attrValues {
inherit
(nur.repos.rycee.firefox-addons)
bitwarden
enhancer-for-youtube
localcdn
sponsorblock
ublock-origin
unpaywall
sidebery
;
};
}

View file

@ -1,228 +0,0 @@
{flake, ...}: let
inherit (flake.config.people) user0;
inherit (flake.config.services) instances;
in {
programs.firefox.profiles = {
${user0} = {
search = {
force = true;
default = "Kagi";
engines = {
# Self-Hosted
"${instances.jellyfin.label}" = {
definedAliases = ["@jf"];
icon = ./icons/jf.png;
urls = [{template = "https://${instances.jellyfin.subdomain}.${instances.web.domains.url0}/web/#/search.html?query={searchTerms}";}];
};
"${instances.peertube.label}" = {
definedAliases = ["@pt"];
icon = ./icons/pt.png;
urls = [{template = "https://${instances.peertube.subdomain}.${instances.web.domains.url1}/search?search={searchTerms}";}];
};
# General
"AlternativeTo" = {
definedAliases = ["@al"];
icon = ./icons/al.png;
urls = [{template = "https://alternativeto.net/browse/search/?q={searchTerms}";}];
};
"Amazon" = {
definedAliases = ["@am"];
icon = ./icons/am.png;
urls = [{template = "https://www.amazon.ca/s?k={searchTerms}&ref=nav_bb_sb";}];
};
"Brave" = {
definedAliases = ["@br"];
icon = ./icons/br.png;
urls = [{template = "https://search.brave.com/search?q={searchTerms}&source=web";}];
};
"Core Radio" = {
definedAliases = ["@cr"];
icon = ./icons/cr.png;
urls = [{template = "https://coreradio.online/?do=search&subaction=search&story={searchTerms}";}];
};
"DNS Checker" = {
definedAliases = ["@dn"];
icon = ./icons/dn.png;
urls = [{template = "https://dnschecker.org/#A/{searchTerms}";}];
};
"Door Dash" = {
definedAliases = ["@do"];
icon = ./icons/do.png;
urls = [{template = "https://www.doordash.com/search/store/{searchTerms}";}];
};
"Hackage" = {
definedAliases = ["@ha"];
icon = ./icons/ha.png;
urls = [{template = "https://hackage.haskell.org/packages/search?terms={searchTerms}";}];
};
"Kagi" = {
definedAliases = ["@ka"];
icon = ./icons/ka.png;
urls = [{template = "https://kagi.com/search?q={searchTerms}";}];
};
"FYT Supplies" = {
definedAliases = ["@fy"];
icon = ./icons/fy.png;
urls = [{template = "https://fytsupplies.ca/search?type=product%2Carticle%2Cpage%2Ccollection&options[prefix]=last&q={searchTerms}*";}];
};
"Hoogle" = {
definedAliases = ["@ho"];
icon = ./icons/ho.png;
urls = [{template = "https://www.stackage.org/lts-22.33/hoogle?q={searchTerms}";}];
};
"Kijiji" = {
definedAliases = ["@ki"];
icon = ./icons/ki.png;
urls = [{template = "https://www.kijiji.ca/b-winnipeg/{searchTerms}";}];
};
"Memory Express" = {
definedAliases = ["@me"];
icon = ./icons/me.png;
urls = [{template = "https://www.memoryexpress.com/Search/Products?Search={searchTerms}";}];
};
"Nix Packages" = {
definedAliases = ["@np"];
icon = ./icons/nx.png;
urls = [{template = "https://searchix.alanpearce.eu/packages/nixpkgs/search?query={searchTerms}";}];
};
"Nix Options" = {
definedAliases = ["@no"];
icon = ./icons/nx.png;
urls = [{template = "https://searchix.alanpearce.eu/options/nixos/search?query={searchTerms}";}];
};
"Nix Home Manager" = {
definedAliases = ["@nh"];
icon = ./icons/nx.png;
urls = [{template = "https://searchix.alanpearce.eu/options/home-manager/search?query={searchTerms}";}];
};
"Nix Wiki" = {
definedAliases = ["@nw"];
icon = ./icons/nx.png;
urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
};
"The Pirate Bay" = {
definedAliases = ["@pi"];
icon = ./icons/pi.png;
urls = [{template = "https://thepiratebay.org/search.php?q={searchTerms}&all=on&search=Pirate+Search&page=0&orderby=";}];
};
"Proton DB" = {
definedAliases = ["@pd"];
icon = ./icons/pd.png;
urls = [{template = "https://www.protondb.com/search?q={searchTerms}";}];
};
"Reddit" = {
definedAliases = ["@re"];
icon = ./icons/re.png;
urls = [{template = "https://www.reddit.com/search/?q={searchTerms}";}];
};
"Rhyme Zone" = {
definedAliases = ["@rz"];
icon = ./icons/rz.png;
urls = [{template = "https://www.rhymezone.com/r/rhyme.cgi?Word={searchTerms}&typeofrhyme=perfect&org1=syl&org2=l&org3=y";}];
};
"Sci-Hub" = {
definedAliases = ["@sc"];
icon = ./icons/sc.png;
urls = [{template = "https://sci-hub.ee/{searchTerms}";}];
};
"Skip The Dishes" = {
definedAliases = ["@sk"];
icon = ./icons/sk.png;
urls = [{template = "https://www.skipthedishes.com/winnipeg/items?search={searchTerms}";}];
};
"Stanford Encyclopedia of Philosophy" = {
definedAliases = ["@ph"];
icon = ./icons/ph.png;
urls = [{template = "https://plato.stanford.edu/search/searcher.py?query={searchTerms}";}];
};
"Steam DB" = {
definedAliases = ["@sd"];
icon = ./icons/sd.png;
urls = [{template = "https://steamdb.info/search/?a=all&q={searchTerms}";}];
};
"Urban Dictionary" = {
definedAliases = ["@ur"];
icon = ./icons/ur.png;
urls = [{template = "https://www.urbandictionary.com/define.php?term={searchTerms}";}];
};
"VSTorrent" = {
definedAliases = ["@vs"];
icon = ./icons/vs.png;
urls = [{template = "https://vstorrent.org/?s={searchTerms}";}];
};
"Wikipedia" = {
definedAliases = ["@wi"];
icon = ./icons/wi.png;
urls = [{template = "https://en.wikipedia.org/wiki/{searchTerms}";}];
};
"XVideos" = {
definedAliases = ["@xv"];
icon = ./icons/xv.png;
urls = [{template = "https://www.xvideos.com/?k={searchTerms}";}];
};
"YouTube" = {
definedAliases = ["@yo"];
icon = ./icons/yo.png;
urls = [{template = "https://www.youtube.com/results?search_query={searchTerms}";}];
};
"1337x" = {
definedAliases = ["@13"];
icon = ./icons/13.png;
urls = [{template = "https://1337x.to/search/{searchTerms}/1/";}];
};
"Torrent Leech" = {
definedAliases = ["@tl"];
icon = ./icons/tl.png;
urls = [{template = "https://www.torrentleech.org/torrents/browse/index/query/{searchTerms}";}];
};
"X" = {
definedAliases = ["@tw"];
icon = ./icons/tw.png;
urls = [{template = "https://x.com/search?q={searchTerms}";}];
};
"Amazon.ca".metaData.hidden = true;
"Bing".metaData.hidden = true;
"eBay".metaData.hidden = true;
"Google".metaData.hidden = true;
"Wikipedia (en)".metaData.hidden = true;
};
order = [
# "1337x"
"AlternativeTo"
# "Amazon"
# "Brave"
"Core Radio"
# "DNS Checker"
# "Door Dash"
# "FYT Supplies"
"Hackage"
"Hoogle"
"Jellyfin"
"Kagi"
# "Kijiji"
# "Memory Express"
"Nix Home Manager"
"Nix Options"
"Nix Packages"
"Nix Wiki"
"PeerTube"
# "Proton DB"
# "Reddit"
# "Rhyme Zone"
"Sci-Hub"
# "Skip The Dishes"
# "Stanford Encyclopedia of Philosophy"
# "Steam DB"
# "The Pirate Bay"
"Torrent Leech"
"Urban Dictionary"
# "VSTorrent"
"Wikipedia"
# "X"
# "XVideos"
"YouTube"
];
};
};
};
}

View file

@ -0,0 +1,12 @@
{
"Sci-Hub" = {
definedAliases = ["@sc"];
icon = ./icons/sc.png;
urls = [{template = "https://sci-hub.ee/{searchTerms}";}];
};
"Wikipedia" = {
definedAliases = ["@wi"];
icon = ./icons/wi.png;
urls = [{template = "https://en.wikipedia.org/wiki/{searchTerms}";}];
};
}

View file

@ -0,0 +1,31 @@
{flake, ...}: let
aggregatedSearchEngines =
builtins.foldl' (
emptySet: searchEngine:
emptySet // (import ./${searchEngine}.nix)
) {} [
"academic"
"development"
"gaming"
"hidden"
"shopping"
"socialMedia"
"spank"
"tools"
"tracking"
"web"
]
// builtins.foldl' (
emptySet: searchEngine:
emptySet // (import ./${searchEngine}.nix {inherit flake;})
) {} [
"selfHosted"
];
in {
search = {
force = true;
default = "Kagi";
engines = aggregatedSearchEngines;
order = import ./order.nix;
};
}

View file

@ -0,0 +1,37 @@
{
"DNS Checker" = {
definedAliases = ["@dn"];
icon = ./icons/dn.png;
urls = [{template = "https://dnschecker.org/#A/{searchTerms}";}];
};
"Hackage" = {
definedAliases = ["@ha"];
icon = ./icons/ha.png;
urls = [{template = "https://hackage.haskell.org/packages/search?terms={searchTerms}";}];
};
"Hoogle" = {
definedAliases = ["@ho"];
icon = ./icons/ho.png;
urls = [{template = "https://www.stackage.org/lts-22.33/hoogle?q={searchTerms}";}];
};
"Nix Home Manager" = {
definedAliases = ["@nh"];
icon = ./icons/nx.png;
urls = [{template = "https://searchix.alanpearce.eu/options/home-manager/search?query={searchTerms}";}];
};
"Nix Options" = {
definedAliases = ["@no"];
icon = ./icons/nx.png;
urls = [{template = "https://searchix.alanpearce.eu/options/nixos/search?query={searchTerms}";}];
};
"Nix Packages" = {
definedAliases = ["@np"];
icon = ./icons/nx.png;
urls = [{template = "https://searchix.alanpearce.eu/packages/nixpkgs/search?query={searchTerms}";}];
};
"Nix Wiki" = {
definedAliases = ["@nw"];
icon = ./icons/nx.png;
urls = [{template = "https://nixos.wiki/index.php?search={searchTerms}";}];
};
}

View file

@ -0,0 +1,13 @@
{
"Proton DB" = {
definedAliases = ["@pd"];
icon = ./icons/pd.png;
urls = [{template = "https://www.protondb.com/search?q={searchTerms}";}];
};
"Steam DB" = {
definedAliases = ["@sd"];
icon = ./icons/sd.png;
urls = [{template = "https://steamdb.info/search/?a=all&q={searchTerms}";}];
};
}

View file

@ -0,0 +1,7 @@
{
"Amazon.ca".metaData.hidden = true;
"Bing".metaData.hidden = true;
"eBay".metaData.hidden = true;
"Google".metaData.hidden = true;
"Wikipedia (en)".metaData.hidden = true;
}

View file

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 38 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 539 KiB

After

Width:  |  Height:  |  Size: 539 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 266 KiB

After

Width:  |  Height:  |  Size: 266 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 195 KiB

After

Width:  |  Height:  |  Size: 195 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 58 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 71 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 7 KiB

After

Width:  |  Height:  |  Size: 7 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

View file

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.1 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 357 KiB

After

Width:  |  Height:  |  Size: 357 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 436 KiB

After

Width:  |  Height:  |  Size: 436 KiB

Before After
Before After

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View file

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before After
Before After

View file

@ -0,0 +1,36 @@
[
# "1337x"
"AlternativeTo"
# "Amazon"
# "Brave"
"Core Radio"
# "DNS Checker"
# "Door Dash"
# "FYT Supplies"
"Hackage"
"Hoogle"
"Jellyfin"
"Kagi"
# "Kijiji"
# "Memory Express"
"Nix Home Manager"
"Nix Options"
"Nix Packages"
"Nix Wiki"
"PeerTube"
# "Proton DB"
# "Reddit"
# "Rhyme Zone"
"Sci-Hub"
# "Skip The Dishes"
# "Stanford Encyclopedia of Philosophy"
# "Steam DB"
# "The Pirate Bay"
"Torrent Leech"
"Urban Dictionary"
# "VSTorrent"
"Wikipedia"
# "X"
# "XVideos"
"YouTube"
]

View file

@ -0,0 +1,14 @@
{flake, ...}: let
inherit (flake.config.services) instances;
in {
"${instances.jellyfin.label}" = {
definedAliases = ["@jf"];
icon = ./icons/jf.png;
urls = [{template = "https://${instances.jellyfin.subdomain}.${instances.web.domains.url0}/web/#/search.html?query={searchTerms}";}];
};
"${instances.peertube.label}" = {
definedAliases = ["@pt"];
icon = ./icons/pt.png;
urls = [{template = "https://${instances.peertube.subdomain}.${instances.web.domains.url1}/search?search={searchTerms}";}];
};
}

View file

@ -0,0 +1,32 @@
{
"Amazon" = {
definedAliases = ["@am"];
icon = ./icons/am.png;
urls = [{template = "https://www.amazon.ca/s?k={searchTerms}&ref=nav_bb_sb";}];
};
"Door Dash" = {
definedAliases = ["@do"];
icon = ./icons/do.png;
urls = [{template = "https://www.doordash.com/search/store/{searchTerms}";}];
};
"FYT Supplies" = {
definedAliases = ["@fy"];
icon = ./icons/fy.png;
urls = [{template = "https://fytsupplies.ca/search?type=product%2Carticle%2Cpage%2Ccollection&options[prefix]=last&q={searchTerms}*";}];
};
"Kijiji" = {
definedAliases = ["@ki"];
icon = ./icons/ki.png;
urls = [{template = "https://www.kijiji.ca/b-winnipeg/{searchTerms}";}];
};
"Memory Express" = {
definedAliases = ["@me"];
icon = ./icons/me.png;
urls = [{template = "https://www.memoryexpress.com/Search/Products?Search={searchTerms}";}];
};
"Skip The Dishes" = {
definedAliases = ["@sk"];
icon = ./icons/sk.png;
urls = [{template = "https://www.skipthedishes.com/winnipeg/items?search={searchTerms}";}];
};
}

View file

@ -0,0 +1,17 @@
{
"Reddit" = {
definedAliases = ["@re"];
icon = ./icons/re.png;
urls = [{template = "https://www.reddit.com/search/?q={searchTerms}";}];
};
"YouTube" = {
definedAliases = ["@yo"];
icon = ./icons/yo.png;
urls = [{template = "https://www.youtube.com/results?search_query={searchTerms}";}];
};
"X" = {
definedAliases = ["@tw"];
icon = ./icons/tw.png;
urls = [{template = "https://x.com/search?q={searchTerms}";}];
};
}

View file

@ -0,0 +1,17 @@
{
"Spankbang" = {
definedAliases = ["@sb"];
icon = ./icons/sb.png;
urls = [{template = "https://spankbang.com/s/{searchTerms}/";}];
};
"XHampster" = {
definedAliases = ["@xh"];
icon = ./icons/xh.png;
urls = [{template = "https://xhamster.com/search/{searchTerms}";}];
};
"XVideos" = {
definedAliases = ["@xv"];
icon = ./icons/xv.png;
urls = [{template = "https://www.xvideos.com/?k={searchTerms}";}];
};
}

View file

@ -0,0 +1,22 @@
{
"AlternativeTo" = {
definedAliases = ["@al"];
icon = ./icons/al.png;
urls = [{template = "https://alternativeto.net/browse/search/?q={searchTerms}";}];
};
"Rhyme Zone" = {
definedAliases = ["@rz"];
icon = ./icons/rz.png;
urls = [{template = "https://www.rhymezone.com/r/rhyme.cgi?Word={searchTerms}&typeofrhyme=perfect&org1=syl&org2=l&org3=y";}];
};
"Urban Dictionary" = {
definedAliases = ["@ur"];
icon = ./icons/ur.png;
urls = [{template = "https://www.urbandictionary.com/define.php?term={searchTerms}";}];
};
"Stanford Encyclopedia of Philosophy" = {
definedAliases = ["@ph"];
icon = ./icons/ph.png;
urls = [{template = "https://plato.stanford.edu/search/searcher.py?query={searchTerms}";}];
};
}

View file

@ -0,0 +1,27 @@
{
"1337x" = {
definedAliases = ["@13"];
icon = ./icons/13.png;
urls = [{template = "https://1337x.to/search/{searchTerms}/1/";}];
};
"Core Radio" = {
definedAliases = ["@cr"];
icon = ./icons/cr.png;
urls = [{template = "https://coreradio.online/?do=search&subaction=search&story={searchTerms}";}];
};
"The Pirate Bay" = {
definedAliases = ["@pi"];
icon = ./icons/pi.png;
urls = [{template = "https://thepiratebay.org/search.php?q={searchTerms}&all=on&search=Pirate+Search&page=0&orderby=";}];
};
"Torrent Leech" = {
definedAliases = ["@tl"];
icon = ./icons/tl.png;
urls = [{template = "https://www.torrentleech.org/torrents/browse/index/query/{searchTerms}";}];
};
"VSTorrent" = {
definedAliases = ["@vs"];
icon = ./icons/vs.png;
urls = [{template = "https://vstorrent.org/?s={searchTerms}";}];
};
}

View file

@ -0,0 +1,12 @@
{
"Brave" = {
definedAliases = ["@br"];
icon = ./icons/br.png;
urls = [{template = "https://search.brave.com/search?q={searchTerms}&source=web";}];
};
"Kagi" = {
definedAliases = ["@ka"];
icon = ./icons/ka.png;
urls = [{template = "https://kagi.com/search?q={searchTerms}";}];
};
}

View file

@ -1,234 +0,0 @@
{
"ui.systemUsesDarkTheme" = 1;
"browser.aboutConfig.showWarning" = false;
"browser.aboutwelcome.enabled" = false;
"browser.bookmarks.addedImportButton" = false;
"browser.toolbars.bookmarks.visibility" = "never";
"browser.urlbar.suggest.history" = false;
"browser.urlbar.suggest.bookmark" = true;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.shortcut" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.suggest.recentsearches" = false;
"dom.forms.autocomplete.formautofill" = true;
"extensions.pocket.enabled" = false;
"general.autoScroll" = true;
"media.eme.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.compactmode.show" = true;
# STARTUP
"browser.newtab.url" = "about:home";
"browser.newtabpage.activity-stream.default.sites" = "";
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.showRecentSaves" = false;
"browser.newtabpage.activity-stream.showSearch" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showWeather" = false;
"browser.newtabpage.enabled" = true;
"browser.startup.homepage" = "about:home";
"browser.startup.page" = 1;
"browser.tabs.closeWindowWithLastTab" = false;
"browser.tabs.firefox-view-newIcon" = false;
"browser.tabs.firefox-view" = false;
"browser.tabs.inTitlebar" = 1;
"browser.tabs.loadBookmarksInBackground" = true;
"browser.tabs.tabmanager.enabled" = false;
# GEOLOCATION
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
"geo.provider.ms-windows-location" = false;
"geo.provider.use_corelocation" = false;
"geo.provider.use_gpsd" = false;
"geo.provider.use_geoclue" = false;
# TELEMETRY
"extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"browser.discovery.enabled" = false;
"browser.shopping.experience2023.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.server" = "data:,";
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.coverage.opt-out" = true;
"toolkit.coverage.opt-out" = true;
"toolkit.coverage.endpoint.base" = "";
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"app.shield.optoutstudies.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"breakpad.reportURL" = "";
"browser.tabs.crashReporting.sendReport" = false;
"network.captive-portal-service.enabled" = false;
"network.connectivity-service.enabled" = false;
# SAFE BROWSING
"browser.safebrowsing.downloads.remote.enabled" = false;
# BLOCK IMPLICIT OUTBOUND
"network.prefetch-next" = false;
"network.dns.disablePrefetch" = true;
"network.predictor.enabled" = false;
"network.predictor.enable-prefetch" = false;
"network.http.speculative-parallel-limit" = 0;
"browser.places.speculativeConnect.enabled" = false;
# DNS / DoH / PROXY / SOCKS
"network.proxy.socks_remote_dns" = true;
"network.file.disable_unc_paths" = true;
"network.gio.supported-protocols" = "";
# LOCATION BAR / SEARCH BAR / SUGGESTIONS / HISTORY / FORMS
"browser.formfill.enable" = false;
"browser.search.separatePrivateDefault.ui.enabled" = true;
"browser.search.separatePrivateDefault" = true;
"browser.search.suggest.enabled" = false;
"browser.urlbar.maxRichResults" = 16;
"browser.urlbar.speculativeConnect.enabled" = false;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.addresses.supported" = "on";
"extensions.formautofill.addresses.usage.hasEntry" = true;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.formautofill.heuristics.enabled" = false;
# PASSWORDS
"network.auth.subresource-http-auth-allow" = 1;
"signon.autofillForms" = false;
"signon.formlessCapture.enabled" = false;
"signon.rememberSignons" = false;
# DISK AVOIDANCE
"browser.cache.disk.enable" = false;
"browser.privatebrowsing.forceMediaMemoryCache" = true;
"media.memory_cache_max_size" = 65536;
"browser.sessionstore.privacy_level" = 2;
"toolkit.winRegisterApplicationRestart" = false;
"browser.shell.shortcutFavicons" = false;
# HTTPS (SSL/TLS / OCSP / CERTS / HPKP)
"security.ssl.require_safe_negotiation" = true;
"security.tls.enable_0rtt_data" = false;
"security.OCSP.enabled" = 1;
"security.OCSP.require" = true;
"security.cert_pinning.enforcement_level" = 2;
"security.remote_settings.crlite_filters.enabled" = true;
"security.pki.crlite_mode" = 2;
"dom.security.https_only_mode" = true;
"dom.security.https_only_mode_send_http_background_request" = false;
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
"browser.xul.error_pages.expert_bad_cert" = true;
# REFERERS
"network.http.referer.XOriginTrimmingPolicy" = 2;
# CONTAINERS
"privacy.userContext.enabled" = true;
"privacy.userContext.ui.enabled" = true;
# PLUGINS / MEDIA / WEBRTC
"media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
"media.peerconnection.ice.default_address_only" = true;
# DOM (DOCUMENT OBJECT MODEL)
"dom.disable_window_move_resize" = true;
# MISCELLANEOUS
"browser.download.start_downloads_in_tmp_dir" = true;
"browser.helperApps.deleteTempFileOnExit" = true;
"browser.uitour.enabled" = false;
"devtools.debugger.remote-enabled" = false;
"network.IDN_show_punycode" = true;
"pdfjs.disabled" = false;
"pdfjs.enableScripting" = false;
# SHUTDOWN & SANITIZING
"privacy.sanitize.sanitizeOnShutdown" = false;
"privacy.clearOnShutdown.cache" = true;
"privacy.clearOnShutdown.downloads" = true;
"privacy.clearOnShutdown.formdata" = true;
"privacy.clearOnShutdown.history" = true;
"privacy.clearOnShutdown.cookies" = true;
"privacy.clearOnShutdown.offlineApps" = true;
"privacy.clearOnShutdown.sessions" = false;
"privacy.clearSiteData.cache" = true;
"privacy.clearSiteData.historyFormDataAndDownloads" = true;
"privacy.clearHistory.cache" = true;
"privacy.clearHistory.cookiesAndStorage" = false;
"privacy.clearHistory.historyFormDataAndDownloads" = true;
"privacy.cpd.sessions" = true;
# FPP (fingerprintingProtection)
"privacy.fingerprintingProtection.pbmode" = true;
"privacy.fingerprintingProtection" = true;
# RFP (resistFingerprinting)
"privacy.resistFingerprinting" = true;
"privacy.window.maxInnerWidth" = 1600;
"privacy.window.maxInnerHeight" = 900;
"privacy.resistFingerprinting.block_mozAddonManager" = true;
"privacy.resistFingerprinting.letterboxing" = false;
"privacy.spoof_english" = 1;
"browser.display.use_system_colors" = false;
"widget.non-native-theme.enabled" = true;
"browser.link.open_newwindow" = 3;
"browser.link.open_newwindow.restriction" = 0;
"webgl.disabled" = false;
# OPTIONAL OPSEC
"browser.download.useDownloadDir" = false;
"browser.download.alwaysOpenPanel" = false;
"browser.download.manager.addToRecentDocs" = false;
"browser.download.always_ask_before_handling_new_types" = true;
"extensions.enabledScopes" = 5;
"extensions.postDownloadThirdPartyPrompt" = false;
# ETP (ENHANCED TRACKING PROTECTION)
"browser.contentblocking.category" = "strict";
# SHUTDOWN & SANITIZING (continued)
"privacy.clearOnShutdown_v2.cache" = true;
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true;
"privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
# OPTIONAL HARDENING
# These settings are commented out in the original template; uncomment if needed
# "mathml.disabled" = true;
# "svg.disabled" = true;
# "gfx.font_rendering.graphite.enabled" = false;
# "javascript.options.asmjs" = false;
# "javascript.options.ion" = false;
# "javascript.options.baselinejit" = false;
# "javascript.options.jit_trustedprincipals" = true;
# "javascript.options.wasm" = false;
# "gfx.font_rendering.opentype_svg.enabled" = false;
# "media.eme.enabled" = false;
# "browser.eme.ui.enabled" = false;
# "network.dns.disableIPv6" = true;
# DON'T TOUCH
"extensions.blocklist.enabled" = true;
"network.http.referer.spoofSource" = false;
"security.dialog_enable_delay" = 1000;
"privacy.firstparty.isolate" = false;
"extensions.webcompat.enable_shims" = true;
"security.tls.version.enable-deprecated" = false;
"extensions.webcompat-reporter.enabled" = false;
"extensions.quarantinedDomains.enabled" = true;
# NON-PROJECT RELATED
# "browser.startup.homepage_override.mstone" = "ignore";
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
"browser.urlbar.showSearchTerms.enabled" = false;
}

View file

@ -0,0 +1,19 @@
{
"ui.systemUsesDarkTheme" = 1;
"browser.aboutConfig.showWarning" = false;
"browser.aboutwelcome.enabled" = false;
"browser.bookmarks.addedImportButton" = false;
"browser.toolbars.bookmarks.visibility" = "never";
"browser.urlbar.suggest.history" = false;
"browser.urlbar.suggest.bookmark" = true;
"browser.urlbar.suggest.openpage" = false;
"browser.urlbar.suggest.shortcut" = false;
"browser.urlbar.suggest.searches" = false;
"browser.urlbar.suggest.recentsearches" = false;
"dom.forms.autocomplete.formautofill" = true;
"extensions.pocket.enabled" = false;
"general.autoScroll" = true;
"media.eme.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.compactmode.show" = true;
}

View file

@ -0,0 +1,26 @@
let
aggregatedSettings =
builtins.foldl' (
emptySet: settingsFiles:
emptySet // (import ./${settingsFiles}.nix)
) {} [
"cosmetics"
"diskAvoidance"
"fingerprinting"
"formFill"
"geolocation"
"hardening"
"https"
"misc"
"noTouching"
"opSec"
"outbound"
"passwords"
"privacy"
"proxy"
"startup"
"telemetry"
];
in {
settings = aggregatedSettings;
}

View file

@ -0,0 +1,9 @@
{
# DISK AVOIDANCE
"browser.cache.disk.enable" = false;
"browser.privatebrowsing.forceMediaMemoryCache" = true;
"media.memory_cache_max_size" = 65536;
"browser.sessionstore.privacy_level" = 2;
"toolkit.winRegisterApplicationRestart" = false;
"browser.shell.shortcutFavicons" = false;
}

View file

@ -0,0 +1,18 @@
{
# FPP (fingerprintingProtection)
"privacy.fingerprintingProtection.pbmode" = true;
"privacy.fingerprintingProtection" = true;
# RFP (resistFingerprinting)
"privacy.resistFingerprinting" = true;
"privacy.window.maxInnerWidth" = 1600;
"privacy.window.maxInnerHeight" = 900;
"privacy.resistFingerprinting.block_mozAddonManager" = true;
"privacy.resistFingerprinting.letterboxing" = false;
"privacy.spoof_english" = 1;
"browser.display.use_system_colors" = false;
"widget.non-native-theme.enabled" = true;
"browser.link.open_newwindow" = 3;
"browser.link.open_newwindow.restriction" = 0;
"webgl.disabled" = false;
}

View file

@ -0,0 +1,14 @@
{
# LOCATION BAR / SEARCH BAR / SUGGESTIONS / HISTORY / FORMS
"browser.formfill.enable" = false;
"browser.search.separatePrivateDefault.ui.enabled" = true;
"browser.search.separatePrivateDefault" = true;
"browser.search.suggest.enabled" = false;
"browser.urlbar.maxRichResults" = 16;
"browser.urlbar.speculativeConnect.enabled" = false;
"extensions.formautofill.addresses.enabled" = false;
"extensions.formautofill.addresses.supported" = "on";
"extensions.formautofill.addresses.usage.hasEntry" = true;
"extensions.formautofill.creditCards.enabled" = false;
"extensions.formautofill.heuristics.enabled" = false;
}

View file

@ -0,0 +1,7 @@
{
"geo.provider.network.url" = "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%";
"geo.provider.ms-windows-location" = false;
"geo.provider.use_corelocation" = false;
"geo.provider.use_gpsd" = false;
"geo.provider.use_geoclue" = false;
}

View file

@ -0,0 +1,16 @@
{
# OPTIONAL HARDENING
# These settings are commented out in the original template; uncomment if needed
# "mathml.disabled" = true;
# "svg.disabled" = true;
# "gfx.font_rendering.graphite.enabled" = false;
# "javascript.options.asmjs" = false;
# "javascript.options.ion" = false;
# "javascript.options.baselinejit" = false;
# "javascript.options.jit_trustedprincipals" = true;
# "javascript.options.wasm" = false;
# "gfx.font_rendering.opentype_svg.enabled" = false;
# "media.eme.enabled" = false;
# "browser.eme.ui.enabled" = false;
# "network.dns.disableIPv6" = true;
}

View file

@ -0,0 +1,14 @@
{
# HTTPS (SSL/TLS / OCSP / CERTS / HPKP)
"security.ssl.require_safe_negotiation" = true;
"security.tls.enable_0rtt_data" = false;
"security.OCSP.enabled" = 1;
"security.OCSP.require" = true;
"security.cert_pinning.enforcement_level" = 2;
"security.remote_settings.crlite_filters.enabled" = true;
"security.pki.crlite_mode" = 2;
"dom.security.https_only_mode" = true;
"dom.security.https_only_mode_send_http_background_request" = false;
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
"browser.xul.error_pages.expert_bad_cert" = true;
}

View file

@ -0,0 +1,26 @@
{
# CONTAINERS
"privacy.userContext.enabled" = true;
"privacy.userContext.ui.enabled" = true;
# DOM (DOCUMENT OBJECT MODEL)
"dom.disable_window_move_resize" = true;
# MISCELLANEOUS
"browser.safebrowsing.downloads.remote.enabled" = false;
"browser.download.start_downloads_in_tmp_dir" = true;
"browser.helperApps.deleteTempFileOnExit" = true;
"browser.uitour.enabled" = false;
"devtools.debugger.remote-enabled" = false;
"network.IDN_show_punycode" = true;
"pdfjs.disabled" = false;
"pdfjs.enableScripting" = false;
# PLUGINS / MEDIA / WEBRTC
"media.peerconnection.ice.proxy_only_if_behind_proxy" = true;
"media.peerconnection.ice.default_address_only" = true;
# REFERERS
"network.http.referer.XOriginTrimmingPolicy" = 2;
# NON-PROJECT RELATED
# "browser.startup.homepage_override.mstone" = "ignore";
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false;
"browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false;
"browser.urlbar.showSearchTerms.enabled" = false;
}

View file

@ -0,0 +1,11 @@
{
# DON'T TOUCH
"extensions.blocklist.enabled" = true;
"network.http.referer.spoofSource" = false;
"security.dialog_enable_delay" = 1000;
"privacy.firstparty.isolate" = false;
"extensions.webcompat.enable_shims" = true;
"security.tls.version.enable-deprecated" = false;
"extensions.webcompat-reporter.enabled" = false;
"extensions.quarantinedDomains.enabled" = true;
}

View file

@ -0,0 +1,11 @@
{
# ETP (ENHANCED TRACKING PROTECTION)
"browser.contentblocking.category" = "strict";
# OPTIONAL OPSEC
"browser.download.useDownloadDir" = false;
"browser.download.alwaysOpenPanel" = false;
"browser.download.manager.addToRecentDocs" = false;
"browser.download.always_ask_before_handling_new_types" = true;
"extensions.enabledScopes" = 5;
"extensions.postDownloadThirdPartyPrompt" = false;
}

View file

@ -0,0 +1,9 @@
{
# BLOCK IMPLICIT OUTBOUND
"network.prefetch-next" = false;
"network.dns.disablePrefetch" = true;
"network.predictor.enabled" = false;
"network.predictor.enable-prefetch" = false;
"network.http.speculative-parallel-limit" = 0;
"browser.places.speculativeConnect.enabled" = false;
}

View file

@ -0,0 +1,7 @@
{
# PASSWORDS
"network.auth.subresource-http-auth-allow" = 1;
"signon.autofillForms" = false;
"signon.formlessCapture.enabled" = false;
"signon.rememberSignons" = false;
}

View file

@ -0,0 +1,21 @@
{
# SHUTDOWN & SANITIZING
"privacy.sanitize.sanitizeOnShutdown" = false;
"privacy.clearOnShutdown.cache" = true;
"privacy.clearOnShutdown.downloads" = true;
"privacy.clearOnShutdown.formdata" = true;
"privacy.clearOnShutdown.history" = true;
"privacy.clearOnShutdown.cookies" = true;
"privacy.clearOnShutdown.offlineApps" = true;
"privacy.clearOnShutdown.sessions" = false;
"privacy.clearSiteData.cache" = true;
"privacy.clearSiteData.historyFormDataAndDownloads" = true;
"privacy.clearHistory.cache" = true;
"privacy.clearHistory.cookiesAndStorage" = false;
"privacy.clearHistory.historyFormDataAndDownloads" = true;
"privacy.cpd.sessions" = true;
# SHUTDOWN & SANITIZING (continued)
"privacy.clearOnShutdown_v2.cache" = true;
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true;
"privacy.clearOnShutdown_v2.cookiesAndStorage" = true;
}

View file

@ -0,0 +1,6 @@
{
# DNS / DoH / PROXY / SOCKS
"network.proxy.socks_remote_dns" = true;
"network.file.disable_unc_paths" = true;
"network.gio.supported-protocols" = "";
}

View file

@ -0,0 +1,20 @@
{
"browser.newtab.url" = "about:home";
"browser.newtabpage.activity-stream.default.sites" = "";
"browser.newtabpage.activity-stream.feeds.system.topstories" = false;
"browser.newtabpage.activity-stream.feeds.topsites" = false;
"browser.newtabpage.activity-stream.showRecentSaves" = false;
"browser.newtabpage.activity-stream.showSearch" = false;
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.newtabpage.activity-stream.showWeather" = false;
"browser.newtabpage.enabled" = true;
"browser.startup.homepage" = "about:home";
"browser.startup.page" = 1;
"browser.tabs.closeWindowWithLastTab" = false;
"browser.tabs.firefox-view-newIcon" = false;
"browser.tabs.firefox-view" = false;
"browser.tabs.inTitlebar" = 1;
"browser.tabs.loadBookmarksInBackground" = true;
"browser.tabs.tabmanager.enabled" = false;
}

View file

@ -0,0 +1,29 @@
{
"extensions.getAddons.showPane" = false;
"extensions.htmlaboutaddons.recommendations.enabled" = false;
"browser.discovery.enabled" = false;
"browser.shopping.experience2023.enabled" = false;
"datareporting.policy.dataSubmissionEnabled" = false;
"datareporting.healthreport.uploadEnabled" = false;
"toolkit.telemetry.unified" = false;
"toolkit.telemetry.enabled" = false;
"toolkit.telemetry.server" = "data:,";
"toolkit.telemetry.archive.enabled" = false;
"toolkit.telemetry.newProfilePing.enabled" = false;
"toolkit.telemetry.shutdownPingSender.enabled" = false;
"toolkit.telemetry.updatePing.enabled" = false;
"toolkit.telemetry.bhrPing.enabled" = false;
"toolkit.telemetry.firstShutdownPing.enabled" = false;
"toolkit.telemetry.coverage.opt-out" = true;
"toolkit.coverage.opt-out" = true;
"toolkit.coverage.endpoint.base" = "";
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
"browser.newtabpage.activity-stream.telemetry" = false;
"app.shield.optoutstudies.enabled" = false;
"app.normandy.enabled" = false;
"app.normandy.api_url" = "";
"breakpad.reportURL" = "";
"browser.tabs.crashReporting.sendReport" = false;
"network.captive-portal-service.enabled" = false;
"network.connectivity-service.enabled" = false;
}

View file

@ -0,0 +1,3 @@
{
userChrome = builtins.readFile ./userChrome.css;
}

View file

@ -6,20 +6,19 @@
}: let
inherit (flake.config.people) user0;
in {
imports = [
./config/bookmarks.nix
./config/search.nix
];
programs.firefox = {
enable = true;
package = pkgs.firefox;
profiles = {
${user0} = {
isDefault = true;
settings = import ./config/settings.nix;
extensions = import ./config/extensions.nix {inherit nur;};
userChrome = builtins.readFile ./config/userChrome.css;
};
${user0} =
{
isDefault = true;
}
// (import ./config/bookmarks {inherit flake;})
// (import ./config/extensions {inherit nur;})
// (import ./config/search {inherit flake;})
// (import ./config/settings)
// (import ./config/themes);
};
};
}

View file

@ -7,6 +7,7 @@
[
"desktop"
"entertainment"
"firefox"
"productionArt"
"productionAudio"
"productionVideo"

View file

@ -6,6 +6,7 @@
(module: self.homeModules.${module})
[
"entertainment"
"firefox"
"desktop"
"productionWriting"
"shared"