diff --git a/modules/desktop/firefox.nix b/modules/desktop/firefox.nix index 847b1b3..2ab9027 100644 --- a/modules/desktop/firefox.nix +++ b/modules/desktop/firefox.nix @@ -1,22 +1,137 @@ { ... }: { home-manager.users.jade = { pkgs, ... }: { + home.file = { + ".tridactylrc" = { + text = '' + set editorcmd kitty hx %f +%l + set newtab about:blank + ''; + }; + }; programs.firefox = { - # TODO: tridactyl? enable = true; + package = pkgs.firefox.override { + nativeMessagingHosts = [ + pkgs.tridactyl-native + ]; + }; policies = { DefaultDownloadDirectory = "\${home}/Downloads"; Extensions.Install = [ "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin" + "https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim" "https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17" + "https://addons.mozilla.org/firefox/downloads/latest/gruvbox-dark-theme" "https://addons.mozilla.org/firefox/downloads/latest/torproject-snowflake" "https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager" "https://addons.mozilla.org/firefox/downloads/latest/terms-of-service-didnt-read" ]; + Extensions.Uninstall = [ + "google@search.mozilla.org" + "bing@search.mozilla.org" + "amazondotcom@search.mozilla.org" + "ebay@search.mozilla.org" + "twitter@search.mozilla.org" + ]; + SearchEngines = [ + "Google" + "Bing" + "Amazon.com" + "eBay" + "Twitter" + ]; + "DisableFirefoxStudies" = true; + "DisableTelemetry" = true; + "DisableFeedbackCommands" = true; + "DisablePocket" = true; }; - profiles.jader= { + profiles.jade = { + bookmarks = [ + { + name = "Toolbar"; + toolbar = true; + bookmarks = [ + { + name = "Katzencafé"; + tags = [ "fedi" "social" ]; + keyword = "ck"; + url = "https://ck.katzen.cafe"; + } + { + name = "Mastodon.de"; + tags = [ "fedi" "social" ]; + keyword = "mde"; + url = "https://mastodon.de"; + } + { + name = "Nekoverse"; + tags = [ "fedi" "social" ]; + keyword = "neko"; + url = "https://social.nekover.se"; + } + { + name = "Katzenschmiede"; + tags = [ "fedi" "git" ]; + keyword = "forge"; + url = "https://forge.katzen.cafe"; + } + { + name = "Katzenwolke"; + tags = [ "cloud" ]; + keyword = "wolke"; + url = "https://wolke.katzen.cafe"; + } + { + name = "Penpot"; + tags = [ "design" ]; + keyword = "pp"; + url = "https://design.katzen.cafe"; + } + { + name = "Pad"; + tags = [ "pad" ]; + keyword = "pad"; + url = "https://pad.katzen.cafe"; + } + { + name = "CCCHH"; + bookmarks = [ + { + name = "Website"; + url = "https://hamburg.ccc.de"; + } + { + name = "Wiki"; + url = "https://wiki.ccchh.net"; + } + { + name = "Wiki (old)"; + url = "https://wiki.hamburg.ccc.de"; + } + { + name = "Wiki (nonpublic)"; + url = "https://nonpublic.wiki.hamburg.ccc.de"; + } + { + name = "Pads"; + url = "https://pad.hamburg.ccc.de"; + } + { + name = "Cloud"; + url = "https://cloud.hamburg.ccc.de"; + } + { + name = "Club Assistant"; + url = "https://club-assistant.ccchh.net"; + } + ]; + } + ]; + } + ]; search = { force = true; - default = "duckduckgo"; + default = "DuckDuckGo"; engines = { "Nix Packages" = { urls = [{ @@ -85,15 +200,9 @@ icon = "https://doc.rust-lang.org/favicon.ico"; definedAliases = [ "std" ]; }; - "duckduckgo" = { - urls = [{ - template = "https://duckduckgo.com/"; - params = [ - { name = "q"; value = "{searchTerms}"; } - ]; - }]; - icon = "https://duckduckgo.com/favicon.ico"; - }; + "Bing".metaData.hidden = true; + "Google".metaData.hidden = true; + "Amazon.de".metaData.hidden = true; }; }; settings = { @@ -109,10 +218,17 @@ "screenshots.browser.component.enabled" = true; "browser.aboutConfig.showWarning" = false; "browser.aboutwelcome.showModal" = false; + "browser.aboutwelcome.enabled" = false; "browser.preferences.moreFromMozilla" = false; "identity.fxaccounts.enabled" = false; "browser.tabs.firefox-view" = false; "browser.tabs.firefox-view-next" = false; + "browser.newtabpage.activity-stream.showSponsored" = false; + "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; + "browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false; + "privacy.trackingprotection.emailtracking.enabled" = true; + "privacy.trackingprotection.enabled" = true; + "privacy.trackingprotection.socialtracking.enabled" = true; "geo.provider.network.logging.enabled" = true; "extensions.getAddons.showPane" = false;