ae7d017d2b
- Renamed profiles/youtube.nix to profiles/web-app.nix. - Refactored to accept id, name, and url as arguments. - Added settings to force homepage on startup and new tabs. - Disabled session restore and undo-close-tab for web-app profiles.
104 lines
3.6 KiB
Nix
104 lines
3.6 KiB
Nix
{
|
|
pkgs,
|
|
myConfig,
|
|
...
|
|
}: {
|
|
id = 1;
|
|
name = "YouTube";
|
|
search.force = true;
|
|
search.default = "ddg";
|
|
extensions.force = true;
|
|
extensions.packages = with pkgs.nur.repos.rycee.firefox-addons; [
|
|
ublock-origin
|
|
bitwarden
|
|
tridactyl
|
|
];
|
|
|
|
settings = {
|
|
# --- Privacy & Hardening ---
|
|
"browser.contentblocking.category" = "strict";
|
|
"privacy.trackingprotection.enabled" = true;
|
|
"privacy.resistFingerprinting" = true; # Note: Spoofs timezone and caps FPS to 60
|
|
"geo.enabled" = false;
|
|
"media.peerconnection.enabled" = false; # Prevents WebRTC IP leaks
|
|
"network.dns.disablePrefetch" = true;
|
|
"network.prefetch-next" = false;
|
|
|
|
# --- NixOS / Hyprland Integration ---
|
|
"widget.use-xdg-desktop-portal.file-picker" = 1; # Use native file picker
|
|
|
|
# --- UI & Behavior ---
|
|
"browser.compactmode.show" = true;
|
|
"browser.tabs.closeWindowWithLastTab" = false;
|
|
"extensions.pocket.enabled" = false;
|
|
"extensions.screenshots.disabled" = true;
|
|
"browser.topsites.contile.enabled" = false;
|
|
"browser.formfill.enable" = false;
|
|
"browser.search.suggest.enabled" = false;
|
|
"browser.search.suggest.enabled.private" = false;
|
|
"browser.urlbar.suggest.searches" = false;
|
|
"browser.urlbar.showSearchSuggestionsFirst" = false;
|
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
"browser.newtabpage.activity-stream.feeds.snippets" = false;
|
|
"browser.newtabpage.activity-stream.section.highlights.includePocket" = false;
|
|
"browser.newtabpage.activity-stream.section.highlights.includeBookmarks" = false;
|
|
"browser.newtabpage.activity-stream.section.highlights.includeDownloads" = false;
|
|
"browser.newtabpage.activity-stream.section.highlights.includeVisited" = false;
|
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
|
"browser.newtabpage.activity-stream.system.showSponsored" = false;
|
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
|
"extensions.autoDisableScopes" = 0; # Enable extensions by default
|
|
|
|
# --- Homepage & Navigation ---
|
|
"browser.startup.homepage" = "https://youtube.com";
|
|
"browser.newtabpage.pinned" = myConfig.firefox.newtabpage;
|
|
|
|
# --- DNS over HTTPS (Quad9) ---
|
|
"network.trr.mode" = 2; # Use DoH with system fallback
|
|
"network.trr.uri" = "https://dns.quad9.net/dns-query";
|
|
};
|
|
|
|
userChrome = ''
|
|
/* Hide the Navigation Bar by default */
|
|
#nav-bar {
|
|
height: 0px !important;
|
|
min-height: 0px !important;
|
|
overflow: hidden !important;
|
|
opacity: 0 !important;
|
|
transition: height 0.3s ease, opacity 0.3s ease !important;
|
|
z-index: 100 !important;
|
|
}
|
|
|
|
/* Show the Navigation Bar on hover over the navigator toolbox */
|
|
#navigator-toolbox:hover #nav-bar,
|
|
#nav-bar:focus-within {
|
|
height: 40px !important; /* Adjust based on your density settings */
|
|
min-height: 40px !important;
|
|
opacity: 1 !important;
|
|
}
|
|
|
|
/* Auto-hide Tabs Toolbar */
|
|
#TabsToolbar {
|
|
height: 0px !important;
|
|
min-height: 0px !important;
|
|
overflow: hidden !important;
|
|
opacity: 0 !important;
|
|
transition: height 0.3s ease, opacity 0.3s ease !important;
|
|
z-index: 100 !important;
|
|
}
|
|
|
|
/* Show Tabs Toolbar on hover over the navigator toolbox */
|
|
#navigator-toolbox:hover #TabsToolbar {
|
|
height: 30px !important; /* Adjust based on your tab height preference */
|
|
min-height: 30px !important;
|
|
opacity: 1 !important;
|
|
}
|
|
|
|
/* Hide Bookmarks Toolbar */
|
|
#PersonalToolbar {
|
|
visibility: collapse !important;
|
|
}
|
|
'';
|
|
}
|