feat: refactored firefox config

This commit is contained in:
Nick 2024-10-20 04:01:31 -05:00
parent 6a98266619
commit fa753b9d14
3 changed files with 648 additions and 574 deletions

View file

@ -1,31 +1,93 @@
[ {flake, ...}: let
{ inherit (flake.config.people) user0;
name = "Bookmarks"; inherit (flake.config.system.device) nas server;
toolbar = true; 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 = [ bookmarks = [
# Development {
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"; name = "GitHub";
url = "https://github.com/BRBWaffles"; url = "https://github.com/BRBWaffles";
tags = ["git" "github"]; tags = ["git" "github" "brbwaffles"];
keyword = "GitHub"; keyword = "GitHub";
} }
{ {
name = "GitLab (Appoota)"; name = "GitLab (Appoota)";
url = "https://gitlab.com/Appoota/dotfiles"; url = "https://gitlab.com/Appoota/dotfiles";
tags = ["gitlab" "git"]; tags =
["appoota"]
++ gitlabTags;
keyword = "GitLab";
}
{
name = "GitLab (Fallaryn)";
url = "https://gitlab.com/fallaryn/dotfiles";
tags =
["fallaryn"]
++ gitlabTags;
keyword = "GitLab"; keyword = "GitLab";
} }
{ {
name = "GitLab (Isaac)"; name = "GitLab (Isaac)";
url = "https://gitlab.com/askyourself/dotfiles"; url = "https://gitlab.com/askyourself/dotfiles";
tags = ["gitlab" "git"]; tags =
["isaac" "askyourself"]
++ gitlabTags;
keyword = "GitLab"; keyword = "GitLab";
} }
{ {
name = "GitLab (Nick)"; name = "GitLab (Nick)";
url = "https://gitlab.com/BRBWaffles/dotfiles"; url = "https://gitlab.com/BRBWaffles/dotfiles";
tags = ["gitlab" "git"]; tags =
["brbwaffles"]
++ gitlabTags;
keyword = "GitLab"; keyword = "GitLab";
} }
{ {
@ -34,148 +96,12 @@
tags = ["hackage" "hack" "haskell"]; tags = ["hackage" "hack" "haskell"];
keyword = "Hack"; 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"; name = "Gaming";
url = "https://mail.google.com/mail/u/0/#inbox"; toolbar = false;
tags = ["gmail" "google" "mail" "gm" "email"]; bookmarks = [
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"; name = "Battle.net";
url = "https://us.shop.battle.net"; url = "https://us.shop.battle.net";
@ -206,7 +132,12 @@
tags = ["steamdb" "steam" "db"]; tags = ["steamdb" "steam" "db"];
keyword = "SteamDB"; keyword = "SteamDB";
} }
# Finances ];
}
{
name = "Finances";
toolbar = false;
bookmarks = [
{ {
name = "Adsense"; name = "Adsense";
url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments"; url = "https://www.google.com/adsense/new/u/0/pub-4524791551954022/payments";
@ -225,6 +156,12 @@
tags = ["credit" "karma" "bank" "banking"]; tags = ["credit" "karma" "bank" "banking"];
keyword = "Credit"; keyword = "Credit";
} }
{
name = "Kijiji";
url = "https://www.kijiji.ca";
tags = ["kijiji" "kij" "ki"];
keyword = "Kij";
}
{ {
name = "LiberaPay"; name = "LiberaPay";
url = "https://liberapay.com/TheNutrivore/"; url = "https://liberapay.com/TheNutrivore/";
@ -273,7 +210,48 @@
tags = ["wix" "website" "business" "bills" "nutrivore"]; tags = ["wix" "website" "business" "bills" "nutrivore"];
keyword = "Wix"; keyword = "Wix";
} }
# Academic ];
}
{
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"; name = "Nutrivore";
url = "https://www.the-nutrivore.com/"; url = "https://www.the-nutrivore.com/";
@ -281,36 +259,215 @@
keyword = "Nutrivore"; keyword = "Nutrivore";
} }
{ {
name = "Proof Tree"; name = "${instance.ollama.label} (Server)";
url = "https://www.umsu.de/trees/"; url = "https://${instance.ollama.subdomain}.${instance.web.domains.url1}";
tags = ["proof" "tree" "logic" "academic"]; tags = ollamaTags;
keyword = "Logic"; keyword = instance.ollama.label;
} }
{ {
name = "PubMed"; name = "${instance.ollama.label} (Desktop)";
url = "https://pubmed.ncbi.nlm.nih.gov/"; url = "http://localhost:${toString instance.ollama.ports.port0}";
tags = ["pub" "pubmed" "science" "research" "academic"]; tags = ollamaTags;
keyword = "Pub"; keyword = instance.ollama.label;
} }
{ {
name = "Sci-Hub"; name = "${instance.owncast.label} (Admin)";
url = "https://sci-hub.ee/"; url = "http://${server.ip.address0}:${toString instance.owncast.ports.port0}/admin";
tags = ["sci" "sci-hub" "scihub" "science" "research" "academic" "torrent"]; tags = owncastTags;
keyword = "Sci"; keyword = instance.owncast.label;
} }
{ {
name = "Stanford Encyclopedia of Philosophy"; name = "${instance.owncast.label} (Server)";
url = "https://plato.stanford.edu/"; url = "http://${instance.owncast.subdomain}.${instance.web.domains.url1}";
tags = ["standford" "encyclopedia" "philosophy" "phil"]; tags = owncastTags;
keyword = "Phil"; keyword = instance.owncast.label;
} }
{ {
name = "Zotero Bibliography"; name = instance.peertube.label;
url = "https://zbib.org/"; url = "https://${instance.peertube.subdomain}.${instance.web.domains.url1}";
tags = ["votero" "bibliography" "bib" "zbib"]; tags = ["peertube" "peer" "tube" "nutrivore"];
keyword = "Bib"; keyword = instance.peertube.label;
} }
# Telus {
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"; name = "ADT";
url = "https://www.adt.com/control-login"; url = "https://www.adt.com/control-login";
@ -323,7 +480,12 @@
tags = ["telus" "phone" "security" "bills" "money"]; tags = ["telus" "phone" "security" "bills" "money"];
keyword = "Telus"; keyword = "Telus";
} }
# Tools ];
}
{
name = "Tools";
toolbar = false;
bookmarks = [
{ {
name = "Uncensored AI"; name = "Uncensored AI";
url = "https://www.aiuncensored.info/"; url = "https://www.aiuncensored.info/";
@ -378,6 +540,12 @@
tags = ["portchecker" "port" "checker"]; tags = ["portchecker" "port" "checker"];
keyword = "Port"; keyword = "Port";
} }
{
name = "Proof Tree";
url = "https://www.umsu.de/trees/";
tags = ["proof" "tree" "logic" "academic"];
keyword = "Logic";
}
{ {
name = "RhymeZone"; name = "RhymeZone";
url = "https://www.rhymezone.com/"; url = "https://www.rhymezone.com/";
@ -414,7 +582,12 @@
tags = ["percentage" "percent" "calculator"]; tags = ["percentage" "percent" "calculator"];
keyword = "Percent"; keyword = "Percent";
} }
# Tracking ];
}
{
name = "Tracking";
toolbar = false;
bookmarks = [
{ {
name = "Metal Tracker"; name = "Metal Tracker";
url = "https://en.metal-tracker.com/"; url = "https://en.metal-tracker.com/";
@ -433,110 +606,9 @@
tags = ["torrent" "1337"]; tags = ["torrent" "1337"];
keyword = "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";
}
]; ];
} }
] ];
};
};
}

0
home-manager/modules/firefox/config/userChrome.css Executable file → Normal file
View file

View file

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