let profile = "default"; in { config, inputs, pkgs, lib, ... }: { home-manager.users.tzlil = { /* TODO figure out if you like sidebery or TST more if sidebery: figure out where options are stored so you can set colors declaratively and also tree groups also figure out how to make ctrl+e for SB not conflict with vimium, maybe will rebind to F1 figure out the search engine crap, i have them hidden but id like them removed completely, Extensions.Uninstall and SearchEngines.Remove did nothing incorporate user.js instead of hardcoding some shit myself */ home.file.".mozilla/firefox/default/browser-extension-data/redirector@einaregilsson.com/storage.js".text = builtins.toJSON { redirects = map ({ includePattern, redirectUrl, description, }: { appliesTo = ["main_frame"]; inherit description; disabled = false; error = null; exampleResult = ""; exampleUrl = ""; excludePattern = ""; grouped = false; inherit includePattern; patternDesc = ""; patternType = "W"; processMatches = "noProcessing"; inherit redirectUrl; }) [ { includePattern = "https://*youtube.com/watch?*v=*"; redirectUrl = "https://yewtu.be/watch?$2v=$3}"; description = "invidious"; } { includePattern = "https://*youtube.com/results?*search_query=*"; redirectUrl = "https://yewtu.be/search?$2q=$3"; description = "invidious search"; } ]; enableNotifications = false; }; programs.firefox = { enable = true; package = pkgs.wrapFirefox pkgs.firefox-unwrapped { extraPolicies = { OverrideFirstRunPage = ""; Extensions.Install = map (x: x.src.outPath) config.home-manager.users.tzlil.programs.firefox.profiles."default".extensions; ExtensionSettings = { "google@search.mozilla.org" = {installation_mode = "blocked";}; "amazondotcom@search.mozilla.org" = {installation_mode = "blocked";}; "wikipedia@search.mozilla.org" = {installation_mode = "blocked";}; "bing@search.mozilla.org" = {installation_mode = "blocked";}; }; }; }; profiles."${profile}" = { search = { default = "DuckDuckGo"; force = true; engines = { "Nix Packages" = { urls = [ { template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = ["!np"]; }; "Home Manager" = { urls = [ { template = "https://mipmip.github.io/home-manager-option-search/"; params = [ { name = "query"; value = "{searchTerms}"; } ]; } ]; icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = ["!hm"]; }; "Invidious" = { urls = [ { template = "https://yewtu.be/search"; params = [ { name = "q"; value = "{searchTerms}"; } ]; } ]; iconUpdateURL = "https://invidious.io/favicon.ico"; definedAliases = ["!yt"]; }; }; }; userChrome = builtins.readFile ./userChrome.css; extensions = with inputs.firefox-addons.packages.${pkgs.system}; [ # privacy crap ublock-origin clearurls darkreader privacy-possum smart-referer # localcdn canvasblocker history-cleaner # usability crap vimium # upgrade for new theme stuff (inputs.firefox-addons.lib.${pkgs.system}.buildFirefoxXpiAddon { pname = "sidebery"; version = "v5.0.0rc4"; addonId = "{3c078156-979c-498b-8990-85f7987dd929}"; url = "https://github.com/mbnuqw/sidebery/releases/download/v5.0.0rc4/sidebery-5.0.0rc4.xpi"; sha256 = "sha256-YsH9yYfGefClRS93dMV/eLMFuoPFKPrx0NL2hIv4dEk="; meta = with lib; { homepage = "https://github.com/mbnuqw/sidebery"; description = "Tabs tree and bookmarks in sidebar with advanced containers configuration."; license = licenses.mit; platforms = platforms.all; }; }) redirector demodal kristofferhagen-nord-theme # new-tab-override # misc snowflake # (flagfox.overrideAttrs {meta.license.free = true;}) ]; settings = { # for custom browser style "toolkit.legacyUserProfileCustomizations.stylesheets" = true; "browser.newtabpage.pinned" = [ {url = "https://tzlil.net";} ]; "browser.startup.homepage" = "https://lobste.rs"; "extensions.activeThemeID" = "{e410fec2-1cbd-4098-9944-e21e708418af}"; "svg.context-properties.content.enabled" = true; "browser.toolbars.bookmarks.visibility" = "always"; "browser.uidensity" = 1; "browser.aboutConfig.showWarning" = false; "browser.shell.checkDefaultBrowser" = false; # remove google "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; "browser.search.hiddenOneOffs" = "Google,Bing,Amazon.com,eBay,Twitter,Wikipedia (en)"; "browser.download.dir" = config.home-manager.users.tzlil.xdg.userDirs.download; # privacy crap "app.normandy.enabled" = false; "app.shield.optoutstudies.enabled" = false; "app.update.auto" = false; "beacon.enabled" = false; "breakpad.reportURL" = ""; "browser.tabs.inTitlebar" = 0; "browser.compactmode.show" = true; "browser.contentblocking.category" = "strict"; "browser.crashReports.unsubmittedCheck.enabled" = false; "browser.discovery.enabled" = false; "browser.newtab.preload" = false; "browser.newtabpage.activity-stream.enabled" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.telemetry" = false; "browser.ping-centre.telemetry" = false; "browser.pocket.enabled" = false; "browser.safebrowsing.malware.enabled" = true; "browser.safebrowsing.phishing.enabled" = true; "browser.send_pings" = false; "browser.tabs.crashReporting.sendReport" = false; "signon.autofillForms" = false; "media.autoplay.default" = 2; "device.sensors.enabled" = false; "datareporting.healthreport.service.enabled" = false; "datareporting.healthreport.uploadEnabled" = false; "datareporting.policy.dataSubmissionEnabled" = false; "dom.security.https_only_mode" = true; "dom.battery.enabled" = false; "experiments.enabled" = false; "experiments.supported" = false; "extensions.pocket.enabled" = false; "extensions.shield-recipe-client.enabled" = false; "network.dns.blockDotOnion" = true; "network.stricttransportsecurity.preloadlist" = true; "privacy.donottrackheader.enabled" = true; "privacy.firstparty.isolate" = true; "privacy.trackingprotection.cryptomining.enabled" = true; "privacy.trackingprotection.enabled" = true; "privacy.trackingprotection.fingerprinting.enabled" = true; "privacy.trackingprotection.pbmode.enabled" = true; "privacy.trackingprotection.socialtracking.enabled" = true; "security.insecure_password.ui.enabled" = true; "security.ssl.errorReporting.automatic" = false; "services.sync.engine.addons" = false; "services.sync.addons.ignoreUserEnabledChanges" = true; "toolkit.telemetry.archive.enabled" = false; "toolkit.telemetry.bhrPing.enabled" = false; "toolkit.telemetry.enabled" = false; "toolkit.telemetry.firstShutdownPing.enabled" = false; "toolkit.telemetry.hybridContent.enabled" = false; "toolkit.telemetry.newProfilePing.enabled" = false; "toolkit.telemetry.reportingpolicy.firstRun" = false; "toolkit.telemetry.server" = ""; "toolkit.telemetry.shutdownPingSender.enabled" = false; "toolkit.telemetry.unified" = false; "toolkit.telemetry.updatePing.enabled" = false; }; }; }; }; }