From fa753b9d144ef97db5a8f944d2b50a8edc8e823c Mon Sep 17 00:00:00 2001 From: Nick Date: Sun, 20 Oct 2024 04:01:31 -0500 Subject: [PATCH] feat: refactored firefox config --- .../modules/firefox/config/bookmarks.nix | 1156 +++++++++-------- .../modules/firefox/config/userChrome.css | 62 +- home-manager/modules/firefox/default.nix | 4 +- 3 files changed, 648 insertions(+), 574 deletions(-) mode change 100755 => 100644 home-manager/modules/firefox/config/userChrome.css diff --git a/home-manager/modules/firefox/config/bookmarks.nix b/home-manager/modules/firefox/config/bookmarks.nix index e5f65dc..a96d033 100755 --- a/home-manager/modules/firefox/config/bookmarks.nix +++ b/home-manager/modules/firefox/config/bookmarks.nix @@ -1,542 +1,614 @@ -[ - { - name = "Bookmarks"; - toolbar = true; - bookmarks = [ - # Development - { - name = "GitHub"; - url = "https://github.com/BRBWaffles"; - tags = ["git" "github"]; - keyword = "GitHub"; - } - { - name = "GitLab (Appoota)"; - url = "https://gitlab.com/Appoota/dotfiles"; - tags = ["gitlab" "git"]; - keyword = "GitLab"; - } - { - name = "GitLab (Isaac)"; - url = "https://gitlab.com/askyourself/dotfiles"; - tags = ["gitlab" "git"]; - keyword = "GitLab"; - } - { - name = "GitLab (Nick)"; - url = "https://gitlab.com/BRBWaffles/dotfiles"; - tags = ["gitlab" "git"]; - keyword = "GitLab"; - } - { - name = "Hackage"; - url = "https://hackage.haskell.org/"; - tags = ["hackage" "hack" "haskell"]; - keyword = "Hack"; - } - { - name = "Nix Home Manager Options"; - url = "https://mipmip.github.io/home-manager-option-search/"; - tags = ["nix" "nixos" "home" "home manager" "options"]; - keyword = "Home"; - } - # Social Media - { - 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 = "Kijiji"; - url = "https://www.kijiji.ca"; - tags = ["kijiji" "kij" "ki"]; - keyword = "Kij"; - } - { - 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 = ["protonmail" "proton" "mail" "pr" "email"]; - keyword = "Pro"; - } - { - 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 = "X (Twitter)"; - url = "https://twitter.com/TheNutrivore"; - tags = ["twitter" "x" "social"]; - keyword = "Twitter"; - } - # Streaming - { - name = "Disney+"; - url = "https://www.disneyplus.com/select-profile"; - tags = ["disney" "video" "streaming" "movies" "shows"]; - keyword = "Disney"; - } - { - name = "Netflix"; - url = "https://www.netflix.com/browse"; - tags = ["netflix" "video" "streaming" "movies" "shows"]; - keyword = "Netflix"; - } - { - name = "Prime Video"; - url = "https://www.primevideo.com/?ref_=av_auth_return_redir"; - tags = ["prime" "video" "amazon" "streaming" "movies" "shows"]; - keyword = "Prime"; - } - { - name = "YouTube Studio"; - url = "https://studio.youtube.com/channel/UCy9yYcDx2XuVVgcWLJJDoxw"; - tags = ["youtube" "you" "tube" "yt" "studio"]; - keyword = "Studio"; - } - { - name = "YouTube"; - url = "https://www.youtube.com/"; - tags = ["youtube" "you" "tube" "yt"]; - keyword = "You"; - } - # Shopping - { - 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"; - } - # Gaming - { - 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"; - } - # Finances - { - 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 = "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 = "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"; - } - # Academic - { - name = "Nutrivore"; - url = "https://www.the-nutrivore.com/"; - tags = ["nutrivore" "blog"]; - keyword = "Nutrivore"; - } - { - name = "Proof Tree"; - url = "https://www.umsu.de/trees/"; - tags = ["proof" "tree" "logic" "academic"]; - keyword = "Logic"; - } - { - 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"; - } - # Telus - { - name = "ADT"; - url = "https://www.adt.com/control-login"; - tags = ["adt" "security" "telus"]; - keyword = "ADT"; - } - { - name = "Telus"; - url = "https://www.telus.com/my-telus/billing/summary"; - tags = ["telus" "phone" "security" "bills" "money"]; - keyword = "Telus"; - } - # Tools - { - name = "Uncensored AI"; - url = "https://www.aiuncensored.info/"; - tags = ["uncensored" "ai"]; - keyword = "AI"; - } - { - 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.maps.google.com/"; - tags = ["maps" "google"]; - keyword = "Map"; - } - { - name = "Memory Express"; - url = "https://www.memoryexpress.com/"; - tags = ["memoryexpress" "memory" "mem" "express"]; - keyword = "Mem"; - } - { - name = "Portchecker"; - url = "https://portchecker.co/"; - tags = ["portchecker" "port" "checker"]; - keyword = "Port"; - } - { - name = "RhymeZone"; - url = "https://www.rhymezone.com/"; - tags = ["rhymezone" "rhyme" "zone"]; - keyword = "Rhyme"; - } - { - name = "Chmod Calculator"; - url = "https://chmod-calculator.com/"; - tags = ["chmod" "calculator"]; - keyword = "Chmod"; - } - { - name = "ListenBrainz"; - url = "https://listenbrainz.org/user/BRBWaffles/"; - tags = ["listenbrainz" "listen" "brains"]; - keyword = "Listen"; - } - { - name = "Speedtest"; - url = "https://www.speedtest.net/"; - tags = ["speedtest" "speed" "test"]; - keyword = "Speed"; - } - { - name = "TinEye"; - url = "https://tineye.com/"; - tags = ["tineye" "tin" "eye"]; - keyword = "Tin"; - } - { - name = "Percentage Calculator"; - url = "https://percentagecalculator.net"; - tags = ["percentage" "percent" "calculator"]; - keyword = "Percent"; - } - # Tracking - { - 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"; - } - { - name = "1337"; - url = "https://1337x.to/"; - tags = ["torrent" "1337"]; - keyword = "1337"; - } - # Admin - { - name = "Discord (Development Portal)"; - url = "https://discord.com/developers/applications"; - tags = ["discord" "development" "portal" "bot"]; - keyword = "Discord"; - } - { - name = "Namecheap"; - url = "https://www.namecheap.com/"; - tags = ["namecheap" "name" "cheap" "dns"]; - keyword = "Name"; - } - { - name = "Router"; - url = "http://192.168.50.1"; - tags = ["router" "asus"]; - keyword = "Router"; - } - # Self-Hosted - { - name = "Forgejo"; - url = "https://source.the-nutrivore.social"; - tags = ["forgejo" "forge" "git"]; - keyword = "Forge"; - } - { - name = "Jellyfin (Internet)"; - url = "https://jellyfin.cloudbert.fun"; - tags = ["jelly" "video" "streaming" "movies" "shows" "music"]; - keyword = "Jelly"; - } - { - name = "Jellyfin (Local)"; - url = "http://192.168.50.140:8096"; - tags = ["jelly" "video" "streaming" "movies" "shows" "music"]; - keyword = "Jelly"; - } - { - name = "Mastodon"; - url = "https://the-nutrivore.social"; - tags = ["mastodon" "mast" "md"]; - keyword = "Mast"; - } - { - name = "Nextcloud"; - url = "https://nextcloud.cloudbert.fun"; - tags = ["nextcloud" "next" "cloud"]; - keyword = "Next"; - } - { - name = "Ollama (Server)"; - url = "https://ollama.cloudbert.fun"; - tags = ["ollama" "chat" "ai"]; - keyword = "Ollama"; - } - { - name = "Ollama (Desktop)"; - url = "http://localhost:8088"; - tags = ["ollama" "chat" "ai"]; - keyword = "Ollama"; - } - { - name = "Owncast (Admin)"; - url = "http://192.168.50.140:9454"; - tags = ["owncast" "own" "cast" "stream"]; - keyword = "Owncast"; - } - { - name = "Owncast (Server)"; - url = "http://stream.the-nutrivore.social"; - tags = ["owncast" "own" "cast" "stream"]; - keyword = "Owncast"; - } - { - name = "PeerTube"; - url = "https://video.the-nutrivore.social"; - tags = ["peertube" "peer" "tube" "nutrivore"]; - keyword = "PeerTube"; - } - { - name = "Syncthing (Synology)"; - url = "http://192.168.50.209:8384"; - tags = ["syncthing" "sync" "thing" "synology"]; - keyword = "Sync"; - } - { - name = "Syncthing (Desktop)"; - url = "http://localhost:8388"; - tags = ["syncthing" "sync" "thing" "desktop"]; - keyword = "Sync"; - } - { - name = "Synology"; - url = "https://192.168.50.209:5001"; - tags = ["synology" "dsm" "cloud"]; - keyword = "DSM"; - } - { - name = "Vaultwarden"; - url = "https://vaultwarden.cloudbert.fun"; - tags = ["vaultwarden" "bitwarden" "vault" "bit" "warden"]; - keyword = "Vault"; - } - ]; - } -] +{flake, ...}: let + inherit (flake.config.people) user0; + inherit (flake.config.system.device) nas server; + inherit (flake.config.service) instance; + gitlabTags = ["git" "gitlab"]; + youtubeTags = ["youtube" "you" "tube" "yt"]; + jellyfinTags = ["jelly" "video" "streaming" "movies" "shows" "music"]; + ollamaTags = ["ollama" "chat" "ai"]; + owncastTags = ["owncast" "own" "cast" "stream"]; + syncthingTags = ["syncthing" "sync" "thing" "synology"]; +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 = "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 = instance.forgejo.label; + url = "https://${instance.forgejo.subdomain}.${instance.web.domains.url0}"; + tags = ["forgejo" "forge" "git"]; + keyword = instance.forgejo.label; + } + { + name = "${instance.jellyfin.label} (Internet)"; + url = "https://${instance.jellyfin.name}.${instance.web.domains.url0}"; + tags = jellyfinTags; + keyword = instance.jellyfin.label; + } + { + name = "${instance.jellyfin.label} (Local)"; + url = "http://${server.ip.address0}:${toString instance.jellyfin.ports.port1}"; + tags = jellyfinTags; + keyword = instance.jellyfin.label; + } + { + name = instance.mastodon.label; + url = "https://${instance.web.domains.url1}"; + tags = ["mastodon" "mast" "md"]; + keyword = instance.mastodon.label; + } + { + name = "Namecheap"; + url = "https://www.namecheap.com/"; + tags = ["namecheap" "name" "cheap" "dns"]; + keyword = "Name"; + } + { + name = instance.nextcloud.label; + url = "https://${instance.nextcloud.subdomain}.${instance.web.domains.url1}"; + tags = ["nextcloud" "next" "cloud" "calendar"]; + keyword = instance.nextcloud.label; + } + { + name = "Nutrivore"; + url = "https://www.the-nutrivore.com/"; + tags = ["nutrivore" "blog"]; + keyword = "Nutrivore"; + } + { + name = "${instance.ollama.label} (Server)"; + url = "https://${instance.ollama.subdomain}.${instance.web.domains.url1}"; + tags = ollamaTags; + keyword = instance.ollama.label; + } + { + name = "${instance.ollama.label} (Desktop)"; + url = "http://localhost:${toString instance.ollama.ports.port0}"; + tags = ollamaTags; + keyword = instance.ollama.label; + } + { + name = "${instance.owncast.label} (Admin)"; + url = "http://${server.ip.address0}:${toString instance.owncast.ports.port0}/admin"; + tags = owncastTags; + keyword = instance.owncast.label; + } + { + name = "${instance.owncast.label} (Server)"; + url = "http://${instance.owncast.subdomain}.${instance.web.domains.url1}"; + tags = owncastTags; + keyword = instance.owncast.label; + } + { + name = instance.peertube.label; + url = "https://${instance.peertube.subdomain}.${instance.web.domains.url1}"; + tags = ["peertube" "peer" "tube" "nutrivore"]; + keyword = instance.peertube.label; + } + { + name = "Router"; + url = "http://${instance.web.localhost.address2}"; + tags = ["router" "asus"]; + keyword = "Router"; + } + { + name = "${instance.syncthing.label} (${instance.synology.label})"; + url = "http://${nas.ip.address0}:${toString instance.syncthing.ports.port0}"; + tags = + ["synology"] + ++ syncthingTags; + keyword = instance.syncthing.label; + } + { + name = "${instance.syncthing.label} (Desktop)"; + url = "http://localhost:${toString instance.syncthing.ports.port0}"; + tags = + ["desktop"] + ++ syncthingTags; + keyword = instance.syncthing.label; + } + { + name = instance.synology.label; + url = "https://${nas.ip.address0}:${toString instance.synology.ports.port0}"; + tags = ["synology" "dsm" "cloud"]; + keyword = instance.synology.label; + } + { + name = instance.vaultwarden.label; + url = "https://${instance.vaultwarden.subdomain}.${instance.web.domains.url0}"; + tags = ["vaultwarden" "bitwarden" "vault" "bit" "warden"]; + keyword = instance.vaultwarden.label; + } + { + name = instance.wiki.label; + url = "https://${instance.wiki.subdomain}.${instance.web.domains.url1}"; + tags = ["wiki" "vault"]; + keyword = instance.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 = "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 = "Telus"; + toolbar = false; + bookmarks = [ + { + name = "ADT"; + url = "https://www.adt.com/control-login"; + tags = ["adt" "security" "telus"]; + keyword = "ADT"; + } + { + name = "Telus"; + url = "https://www.telus.com/my-telus/billing/summary"; + tags = ["telus" "phone" "security" "bills" "money"]; + keyword = "Telus"; + } + ]; + } + { + name = "Tools"; + toolbar = false; + bookmarks = [ + { + name = "Uncensored AI"; + url = "https://www.aiuncensored.info/"; + tags = ["uncensored" "ai"]; + keyword = "AI"; + } + { + 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.maps.google.com/"; + tags = ["maps" "google"]; + keyword = "Map"; + } + { + name = "Memory Express"; + url = "https://www.memoryexpress.com/"; + tags = ["memoryexpress" "memory" "mem" "express"]; + keyword = "Mem"; + } + { + 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 = "Chmod Calculator"; + url = "https://chmod-calculator.com/"; + tags = ["chmod" "calculator"]; + keyword = "Chmod"; + } + { + name = "ListenBrainz"; + url = "https://listenbrainz.org/user/BRBWaffles/"; + tags = ["listenbrainz" "listen" "brains"]; + keyword = "Listen"; + } + { + name = "Speedtest"; + url = "https://www.speedtest.net/"; + tags = ["speedtest" "speed" "test"]; + keyword = "Speed"; + } + { + name = "TinEye"; + url = "https://tineye.com/"; + tags = ["tineye" "tin" "eye"]; + keyword = "Tin"; + } + { + name = "Percentage Calculator"; + url = "https://percentagecalculator.net"; + tags = ["percentage" "percent" "calculator"]; + keyword = "Percent"; + } + ]; + } + { + name = "Tracking"; + toolbar = false; + bookmarks = [ + { + 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"; + } + { + name = "1337"; + url = "https://1337x.to/"; + tags = ["torrent" "1337"]; + keyword = "1337"; + } + ]; + } + ]; + }; + }; +} diff --git a/home-manager/modules/firefox/config/userChrome.css b/home-manager/modules/firefox/config/userChrome.css old mode 100755 new mode 100644 index 572aa87..e1a0da2 --- a/home-manager/modules/firefox/config/userChrome.css +++ b/home-manager/modules/firefox/config/userChrome.css @@ -1,98 +1,98 @@ /* Title bar */ .titlebar-spacer { - display: none !important; + display: none !important; } /* Tab bar */ #navigator-toolbox { - border: 0px !important; + border: 0px !important; } #TabsToolbar { - margin-left: 3px !important; + margin-left: 3px !important; } #TabsToolbar > .tabbrowser-arrowscrollbox { - overflow: visible !important; + overflow: visible !important; } /* Nav bar */ #nav-bar { - height: 0px; - min-height: 0px !important; - overflow: hidden; - transition: height 0.3s ease-in-out; + height: 0px; + min-height: 0px !important; + overflow: hidden; + transition: height 0.3s ease-in-out; } /* Only show nav-bar when specifically focused, not when clicking tab bar */ #nav-bar:focus-within { - overflow: visible; - height: auto; + overflow: visible; + height: auto; } /* Remove placeholder text in the URL bar */ #urlbar-input::placeholder { - color: transparent !important; + color: transparent !important; } #urlbar { - padding: 2px !important; + padding: 2px !important; } /* Hide URL bar text */ #urlbar-background { - border: none !important; + border: none !important; } #urlbar-border:focus-within { - overflow: visible; - height: auto; + overflow: visible; + height: auto; } /* Hide search engine icon */ #urlbar .search-one-offs:not([hidden]) { - display: none !important; + display: none !important; } /* Hide tracking protection icon */ #tracking-protection-icon-container { - display: none !important; + display: none !important; } #urlbar-container { - width: auto !important; + width: auto !important; } #urlbar { - box-shadow: none !important; + box-shadow: none !important; } #page-action-buttons { - display: none !important; + display: none !important; } /* Hide site information button */ #identity-box { - display: none !important; + display: none !important; } /* Hide shield icon */ #tracking-protection-icon-container { - display: none !important; + display: none !important; } /* Hide forward and back buttons when not active */ #back-button[disabled="true"] { - display: none !important; + display: none !important; } #forward-button[disabled="true"] { - display: none !important; + display: none !important; } .personalize-button { - display: none !important; + display: none !important; } .tab-close-button { - visibility: hidden !important; - margin-inline-end: 0 !important; - width: 16px !important; - height: 16px !important; - padding: 2px !important; + visibility: hidden !important; + margin-inline-end: 0 !important; + width: 16px !important; + height: 16px !important; + padding: 2px !important; } .tabbrowser-tab:hover .tab-close-button { - visibility: visible !important; + visibility: visible !important; } \ No newline at end of file diff --git a/home-manager/modules/firefox/default.nix b/home-manager/modules/firefox/default.nix index 0977613..298f7b1 100755 --- a/home-manager/modules/firefox/default.nix +++ b/home-manager/modules/firefox/default.nix @@ -6,6 +6,9 @@ }: let inherit (flake.config.people) user0; in { + imports = [ + ./config/bookmarks.nix + ]; programs.firefox = { enable = true; package = pkgs.firefox; @@ -13,7 +16,6 @@ in { ${user0} = { isDefault = true; search = import ./config/search.nix; - bookmarks = import ./config/bookmarks.nix; settings = import ./config/settings.nix; extensions = import ./config/extensions.nix {inherit nur;}; userChrome = builtins.readFile ./config/userChrome.css;