From d9c856f73eb2eb3d91d0651f2a6b7dd58054e5c1 Mon Sep 17 00:00:00 2001 From: Bryan Ramos Date: Sat, 15 Jun 2024 14:42:43 -0400 Subject: [PATCH] Prepared arkenfox settings --- src/user/configs/bookmarks/default.nix | 173 +++++++++++-- src/user/configs/default.nix | 3 +- .../gui/modules/browsers/firefox/default.nix | 243 ++++++++++++++++++ 3 files changed, 391 insertions(+), 28 deletions(-) diff --git a/src/user/configs/bookmarks/default.nix b/src/user/configs/bookmarks/default.nix index 9527165..8cb5b53 100644 --- a/src/user/configs/bookmarks/default.nix +++ b/src/user/configs/bookmarks/default.nix @@ -1,35 +1,45 @@ [ { - name = "Toolbar"; + name = "toolbar"; toolbar = true; bookmarks = [ { name = "ArchWiki"; - url = "wiki.archlinux.org/"; - tags = [ "dev" "linux" ]; - keyword = "arch"; + url = "https://wiki.archlinux.org/"; + tags = [ "dev" "linux" "docs" ]; } { name = "NixOS"; bookmarks = [ { name = "Nixpkgs"; - url = "search.nixos.org/packages"; + url = "https://search.nixos.org/packages"; tags = [ "nix" "dev" "linux" ]; keyword = "pkgs"; } { name = "Home Manager Options"; - url = "nix-community.github.io/home-manager/options.xhtml"; + url = "https://nix-community.github.io/home-manager/options.xhtml"; tags = [ "nix" "dev" "linux" ]; keyword = "hm"; } + { + name = "Nix"; + bookmarks = [ + { + name = "nix.dev"; + url = "https://nix.dev"; + tags = [ "nix" "dev" "docs" ]; + keyword = "nix"; + } + ]; + } ]; } { name = "Gentoo Wiki"; - url = "wiki.gentoo.org"; - tags = [ "dev" "linux" ]; + url = "https://wiki.gentoo.org"; + tags = [ "dev" "linux" "docs" ]; keyword = "gentoo"; } { @@ -37,59 +47,170 @@ bookmarks = [ { name = "Gmail"; - url = "gmail.com"; + url = "https://gmail.com"; tags = [ "google" "email" ]; keyword = "gmail"; } { name = "ProtonMail"; - url = "mail.protonmail.com"; - tags = [ "email" ]; + url = "https://mail.protonmail.com"; + tags = [ "email" "personal" "work" ]; keyword = "email"; } ]; } { name = "Outlook"; - url = "outlook.office365.com"; - tags = [ "work" "email" ]; + url = "https://outlook.office365.com"; + tags = [ "work" "email" "microsoft" ]; keyword = "work"; } { name = "Teams"; - url = "teams.microsoft.com"; - tags = [ "work" ]; + url = "https://teams.microsoft.com"; + tags = [ "work" "microsoft" ]; keyword = "teams"; } { name = "Twitter"; - url = "x.com"; - tags = [ "social" ]; + url = "https://x.com"; + tags = [ "social" "forum" ]; keyword = "x"; } { name = "Reddit"; - url = "reddit.com"; - tags = [ "social" ]; + url = "https://reddit.com"; + tags = [ "social" "forum" ]; keyword = "reddit"; } { name = "Substack"; - url = "substack.com"; - tags = [ "social" "blogging" ]; + url = "https://substack.com"; + tags = [ "social" "blogging" "personal" ]; keyword = "blog"; } + { + name = "Youtube"; + url = "https://youtube.com"; + tags = [ "social" "entertainment" "google" ]; + keyword = "youtube"; + } + { + name = "Twitch"; + url = "https://twitch.com"; + tags = [ "social" "entertainment" "amazon" ]; + keyword = "twitch"; + } + { + name = "Amazon"; + url = "https://amazon.com"; + tags = [ "shopping" "amazon" ]; + keyword = "amazon"; + } { name = "Nostr"; + url = "https://primal.net"; + tags = [ "social" "nostr" "bitcoin" ]; + keyword = "nostr"; + } + { + name = "ChatGPT"; + url = "https://chat.openai.com"; + tags = [ "dev" "ai" "microsoft" ]; + keyword = "ai"; + } + { + name = "Dev"; bookmarks = [ { - name = "Socials"; + name = "Github"; + url = "https://github.com"; + tags = [ "dev" "work" "personal" "microsoft" ]; + keyword = "git"; + } + { + name = "Gist"; + url = "https://gist.github.com"; + tags = [ "dev" "work" "personal" "microsoft" "blogging" ]; + keyword = "gist"; + } + { + name = "Stack Overflow"; + url = "https://stackoverflow.com"; + tags = [ "dev" "work" "forum" ]; + } + { + name = "Tools"; bookmarks = [ { - name = "Primal"; - url = "primal.net"; - tags = [ "social" "nostr" "bitcoin" ]; - keyword = "nostr"; + name = "Namecheap"; + url = "https://namecheap.com"; + tags = [ "dev" "shopping" "hosting" ]; + } + { + name = "LetsEncrypt"; + url = "https://letsencrypt.com"; + tags = [ "dev" "hosting" ]; + } + { + name = "Documentation"; + bookmarks = [ + { + name = "MDN"; + url = "https://developer.mozilla.org"; + tags = [ "dev" "docs" ]; + keyword = "mdn"; + } + { + name = "DevDocs"; + url = "https://devdocs.io"; + tags = [ "dev" "docs" ]; + keyword = "docs"; + } + { + name = "References"; + bookmarks = [ + { + name = "ASCII Table"; + url = "https://asciitable.com"; + tags = [ "dev" ]; + keyword = "ascii"; + } + ]; + } + ]; + } + ]; + } + ]; + } + { + name = "Financials"; + bookmarks = [ + { + name = "Fidelity"; + url = "https://fidelity.com"; + tags = [ "money" "stocks" "banking" ]; + keyword = "bank"; + } + { + name = "Chase"; + url = "https://chase.com"; + tags = [ "money" "banking" ]; + } + { + name = "Wells Fargo"; + url = "https://wellsfargo.com"; + tags = [ "money" "banking" ]; + } + { + name = "Crapto"; + bookmarks = [ + { + name = "Coinbase"; + url = "https://coinbase.com"; + tags = [ "bitcoin" ]; + keyword = "btc"; } ]; } diff --git a/src/user/configs/default.nix b/src/user/configs/default.nix index 092bfe4..687fc48 100644 --- a/src/user/configs/default.nix +++ b/src/user/configs/default.nix @@ -14,8 +14,6 @@ userConfigs = rec { groups = [ "wheel" "networkmanager" "home-manager" "input" ]; - keys = import ./keys; - gitConfig = optionalAttrs modules.git.enable { userName = "Bryan Ramos"; userEmail = email; @@ -25,6 +23,7 @@ userConfigs = rec { }; }; + keys = import ./keys; bookmarks = import ./bookmarks; }; diff --git a/src/user/modules/gui/modules/browsers/firefox/default.nix b/src/user/modules/gui/modules/browsers/firefox/default.nix index 8c1ef9f..000d23e 100644 --- a/src/user/modules/gui/modules/browsers/firefox/default.nix +++ b/src/user/modules/gui/modules/browsers/firefox/default.nix @@ -15,6 +15,249 @@ in profiles = { "${config.user.name}" = { bookmarks = config.user.bookmarks; + + search = { + force = true; + default = "Startpage"; + engines = { + "Startpage" = { + urls = [{ + template = "https://www.startpage.com/sp/search?q={searchTerms}"; + }]; + iconUpdateURL = "https://www.startpage.com/sp/cdn/favicons/favicon--default.ico"; + }; + }; + }; + + containersForce = true; + containers = { + Personal = { + color = "blue"; + icon = "fingerprint"; + id = 0; + }; + Work = { + color = "yellow"; + icon = "briefcase"; + id = 1; + }; + Banking = { + color = "green"; + icon = "dollar"; + id = 2; + }; + Social = { + color = "red"; + icon = "chill"; + id = 3; + }; + Shopping = { + color = "purple"; + icon = "cart"; + id = 4; + }; + }; + settings = { + "ui.key.menuAcessKeyFocuses" = false; + "signon.rememberSignons" = false; + "extensions.pocket.enabled" = false; + + # May break extensions due to Nix + "extensions.enabledScopes" = 5; + + # May break stuff but increase privacy + #"extensions.webextensions.restrictedDomains" = ""; + #"privacy.resistFingerprinting" = true; + #"privacy.resistFingerprinting.letterboxing" = true; + #"privacy.resistFingerprinting.block_mozAddonManager" = true; + + "browser.startup.homepage_override.mstone" = "ignore"; + + "browser.aboutConfig.showWarning" = false; + "browser.startup.page" = 0; + "browser.formfill.enable" = false; + "places.history.enabled" = false; + + "browser.urlbar.suggest.history" = false; + "browser.urlbar.suggest.topsites" = false; + "browser.urlbar.autoFill" = false; + "browser.toolbars.bookmarks.showOtherBookmarks" = false; + + "browser.newtabpage.enabled" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.default.sites" = ""; + + "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" = ""; + "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" = false; + "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" = false; + "browser.tabs.crashReporting.sendReport" = false; + "browser.crashReports.unsubmittedCheck.autoSubmit2" = false; + + "captivedetect.canonicalURL" = ""; + "network.captive-portal-service.enabled" = false; + "network.connectivity-service.enabled" = false; + + "browser.safebrowsing.downloads.remote.enabled" = false; + + "network.prefetch-next" = false; + "network.dns.disablePrefetch" = true; + "network.predictor.enabled" = false; + "network.predictor.enable-prefetch" = false; + "network.http.speculative-parallel-limit" = 0; + "network.http.speculativeConnect.enabled" = false; + + "network.proxy.sock_remote_dns" = true; + "network.file.disable_unc_paths" = true; + "network.gio.supported-protocols" = ""; + + "browser.urlbar.speculativeConnect.enabled" = false; + "browser.search.suggest.enabled" = false; + "browser.urlbar.suggest.searches" = false; + + "browser.urlbar.clipboard.featureGate" = false; + "browser.urlbar.richSuggestions.featureGate" = false; + "browser.urlbar.trending.featureGate" = false; + "browser.urlbar.addons.featureGate" = false; + "browser.urlbar.pocket.featureGate" = false; + "browser.urlbar.weather.featureGate" = false; + "browser.urlbar.yelp.featureGate" = false; + "browser.urlbar.suggest.engines" = false; + + "signon.autofillForms" = false; + "signon.formlessCapture.enabled" = false; + + "network.auth.subresource-http-auth-allow" = 1; + + "browser.privatebrowsing.forceMediaMemoryCache" = true; + "media.memory_cache_max_size" = 65536; + "browser.sessionstore.privacy_level" = 2; + "browser.shell.shortcutFavicons" = false; + + "security.ssl.require_safe_negotiation" = true; + "security.tls.enable_0rtt_data" = false; + "security.OCSP.enabled" = true; + "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; + + "network.http.referer.XOriginTrimmingPolicy" = 2; + + "privacy.userContext.enabled" = true; + "privacy.userContext.ui.enabled" = true; + + "media.peerconnection.ice.proxy_only_if_behind_proxy" = true; + "media.peerconnection.ice.default_address_only" = true; + + "dom.disable_window_move_resize" = true; + + "browser.download.start_downloads_in_tmp_dir" = false; + "browser.helperApps.deleteTempFileOnExit" = true; + "browser.uitour.enabled" = true; + + "devtools.debugger.remote-enabled" = false; + "permissions.manager.defaultsUrl" = ""; + "webchannel.allowObject.urlWhitelist" = ""; + "network.IDN_show_punycode" = true; + + "pdfjs.disabled" = false; + "pdfjs.enableScripting" = false; + + "browser.tabs.searchclipboardfor.middleclick" = false; + "browser.contentanalysis.default_allow" = false; + + "browser.download.useDownloadDir" = true; + "browser.download.alwaysOpenPanel" = true; + "browser.download.manager.addToRecentDocs" = false; + "browser.download.always_ask_before_handling_new_types" = true; + "extensions.postDownloadThirdPartyPrompt" = true; + + "browser.contentblocking.category" = "strict"; + + "privacy.sanitize.sanitizeOnShutdown" = true; + "privacy.clearOnShutdown.cache" = true; + "privacy.clearOnShutdown_v2.cache" = true; + "privacy.clearOnShutdown.downloads" = true; + "privacy.clearOnShutdown.formdata" = true; + "privacy.clearOnShutdown.history" = true; + "privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = true; + + "privacy.clearOnShutdown.cookies" = true; + "privacy.clearOnShutdown.offlineApss" = true; + "privacy.clearOnShutdown.sessions" = true; + "privacy.clearOnShutdown_v2.cookiesAndStorage" = true; + + "privacy.clearSiteData.cache" = true; + "privacy.clearSiteData.cookiesAndStorage" = false; + "privacy.clearSiteData.historyFormDataAndDownloads" = true; + + "privacy.cpd.cache" = true; + "privacy.clearHistory.cache" = true; + "privacy.cpd.formdata" = true; + "privacy.cpd.history" = true; + "privacy.clearHistory.historyFormDataAndDownloads" = true; + "privacy.cpd.cookies" = false; + "privacy.cpd.sessions" = true; + "privacy.cpd.offlineApps" = false; + "privacy.clearHistory.cookiesAndStorage" = false; + + "privacy.sanitize.timeSpan" = 0; + + "privacy.window.maxInnerWidth" = 1600; + "privacy.window.maxInnerHeight" = 900; + + "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; + "browser.chrome.site_icons" = false; + "browser.download.forbid_open_with" = true; + + "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; + }; }; }; };