From f915a1fd1aee3fea052987de6b197fb32c5f87c2 Mon Sep 17 00:00:00 2001 From: Roy Dumblauskas Date: Sat, 7 Jun 2025 17:47:39 -0500 Subject: [PATCH] initial stolen config --- home.nix | 177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 177 insertions(+) diff --git a/home.nix b/home.nix index 4037910..d6730f8 100755 --- a/home.nix +++ b/home.nix @@ -45,6 +45,183 @@ allowOther = true; }; + # Configure firefox to be resilient against reboot + programs.firefox = { + enable = true; + + profiles.roy = { + search = { + force = true; + default = "ddgc"; + privateDefault = "ddgc"; + engines = { + bing.metaData.hidden = true; + ddg.metaData.hidden = true; + google.metaData.hidden = true; + wikipedia.metaData.hidden = true; + amazon.metaData.hidden = true; + ebay.metaData.hidden = true; + ddgc = { + name = "DuckDuckGo (themed)"; + urls = [{ template = "https://duckduckgo.com/?k7=222222&kj=222222&kae=d&q={searchTerms}"; }]; + icon = "https://duckduckgo.com/favicon.ico"; + }; + }; + }; + + extensions.force = true; + extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [ + ublock-origin + ]; + extensions.settings."uBlock0@raymondhill.net".settings = { + selectedFilterLists = [ + "ublock-filters" + "ublock-badware" + "ublock-privacy" + "ublock-quick-fixes" + "ublock-unbreak" + "easylist-chat" + "easylist-newsletters" + "easylist-notifications" + "easylist-annoyances" + "adguard-mobile-app-banners" + "adguard-other-annoyances" + "adguard-popup-overlays" + "adguard-widgets" + "ublock-annoyances" + ]; + }; + + settings = { + # don't force manual enablement of extensions on first launch + "extensions.autoDisableScopes" = 0; + "browser.urlbar.shortcuts.bookmarks" = false; + "browser.urlbar.shortcuts.history" = false; + "browser.urlbar.shortcuts.tabs" = false; + "browser.aboutConfig.showWarning" = false; + "dom.security.https_only_mode" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.pbmode.enabled" = true; + "privacy.donottrackheader.enabled" = true; + "signon.rememberSignons" = false; + "extensions.formautofill.creditCards.enabled" = false; + "extensions.formautofill.addresses.enabled" = false; + "browser.urlbar.suggest.quicksuggest.sponsored" = false; + # hide weather on new tab page + "browser.newtabpage.activity-stream.showWeather" = false; + "browser.newtabpage.activity-stream.feeds.section.topstories" = false; + "browser.newtabpage.activity-stream.feeds.topsites" = false; + "browser.toolbars.bookmarks.visibility" = "never"; + # set default download dir (to avoid Download dir creation) + "browser.download.dir" = "/home/roy/dl"; + "browser.download.useDownloadDir" = false; + "browser.download.folderList" = 2; + "full-screen-api.ignore-widgets" = true; + "browser.tabs.firefox-view" = false; + "browser.gesture.swipe.left" = ""; + "browser.gesture.swipe.right" = ""; + "pdfjs.sidebarViewOnLoad" = 0; + "identity.fxaccounts.enabled" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.uitour.enabled" = false; + "toolkit.telemetry.enabled" = false; + # don't show about:welcome or privacy page on first launch + "browser.aboutwelcome.enabled" = false; + "datareporting.policy.dataSubmissionPolicyBypassNotification" = true; + # disable pocket + "extensions.pocket.enabled" = false; + # keep window open when closing all tabs + "browser.tabs.closeWindowWithLastTab" = false; + # allegedly disable addon recommendations + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" = false; + # allegedly disable feature recommendations + "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" = false; + # don't show "open previous tabs?" toolbar, hopefully still allow functionality + "browser.startup.couldRestoreSession.count" = -1; + }; + + bookmarks.force = true; + bookmarks.settings = [ + { + name = "google search"; + url = "https://www.google.com/search?q=%s"; + keyword = "g"; + } + { + name = "youtube search"; + url = "https://www.youtube.com/results?search_query=%s"; + keyword = "yt"; + } + { + name = "wikipedia search"; + url = "https://en.wikipedia.org/wiki/Special:Search?search=%s"; + keyword = "w"; + } + { + name = "dictionary search"; + url = "https://www.wordnik.com/words/%s"; + keyword = "d"; + } + { + name = "github go to repo"; + url = "https://github.com/RoyDumblauskas/%s"; + keyword = "repo"; + } + { + name = "chatgpt"; + url = "https://chatgpt.com"; + keyword = "chat"; + } + { + name = "github my repos"; + url = "https://github.com/RoyDumblauskas?tab=repositories"; + keyword = "repos"; + } + { + name = "github profile"; + url = "https://github.com/RoyDumblauskas"; + keyword = "gh"; + } + { + name = "drive 0"; + url = "https://drive.google.com/drive/u/0/folders/1hMAgupSZvhAml0K1WhBi9sNINfvkhw0e"; + keyword = "d0"; + } + { + name = "drive 1"; + url = "https://drive.google.com/drive/u/1"; + keyword = "d1"; + } + { + name = "mail 1"; + url = "https://mail.google.com/mail/u/1"; + keyword = "m1"; + } + { + name = "mail 0"; + url = "https://mail.google.com/mail/u/0"; + keyword = "m0"; + } + { + name = "discord"; + url = "https://discord.com/app"; + keyword = "dis"; + } + { + name = "downloads"; + url = "file:///home/roy/dl/%s"; + keyword = "dl"; + } + { + name = "nix package search"; + url = "https://search.nixos.org/packages?channel=unstable&query=%s"; + keyword = "nixp"; + } + ]; + }; + }; + + # Configure nixvim programs.nixvim = { enable = true; opts = {