diff --git a/users/home-manager/foo-dogsquared/default.nix b/users/home-manager/foo-dogsquared/default.nix index 1d2fa432..8fcc3f04 100644 --- a/users/home-manager/foo-dogsquared/default.nix +++ b/users/home-manager/foo-dogsquared/default.nix @@ -6,6 +6,7 @@ let in { imports = [ + ./modules/browser.nix ./modules/email.nix ./modules/keys.nix ./modules/git.nix @@ -94,26 +95,6 @@ in EDITOR = "nvim"; }; - # WHOA! Even browsers with extensions can be declarative! - programs.brave = { - enable = true; - extensions = [ - { id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # Vimium - { id = "ekhagklcjbdpajgpjgmbionohlpdbjgc"; } # Zotero connector - { id = "jfnifeihccihocjbfcfhicmmgpjicaec"; } # GSConnect - { id = "aapbdbdomjkkjkaonfhkkikfgjllcleb"; } # Google Translate - { id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; } # Firenvim - { id = "gknkbkaapnhpmkcgkmdekdffgcddoiel"; } # Open Access Button - { id = "fpnmgdkabkmnadcjpehmlllkndpkmiak"; } # Wayback Machine - { id = "gphhapmejobijbbhgpjhcjognlahblep"; } # GNOME Shell integration - { id = "haebnnbpedcbhciplfhjjkbafijpncjl"; } # TinEye Reverse Image Search - { id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } # Tampermonkey - { id = "kkmlkkjojmombglmlpbpapmhcaljjkde"; } # Zhongwen - { id = "nngceckbapebfimnlniiiahkandclblb"; } # Bitwarden - { id = "oldceeleldhonbafppcapldpdifcinji"; } # LanguageTool checker - ]; - }; - home.stateVersion = "23.05"; xdg.userDirs = { diff --git a/users/home-manager/foo-dogsquared/modules/browser.nix b/users/home-manager/foo-dogsquared/modules/browser.nix new file mode 100644 index 00000000..22cbfbb6 --- /dev/null +++ b/users/home-manager/foo-dogsquared/modules/browser.nix @@ -0,0 +1,88 @@ +# WHOA! Even browsers with extensions can be declarative! +{ config, lib, pkgs, ... }: + +{ + programs.brave = { + enable = true; + extensions = [ + { id = "dbepggeogbaibhgnhhndojpepiihcmeb"; } # Vimium + { id = "ekhagklcjbdpajgpjgmbionohlpdbjgc"; } # Zotero connector + { id = "jfnifeihccihocjbfcfhicmmgpjicaec"; } # GSConnect + { id = "aapbdbdomjkkjkaonfhkkikfgjllcleb"; } # Google Translate + { id = "egpjdkipkomnmjhjmdamaniclmdlobbo"; } # Firenvim + { id = "gknkbkaapnhpmkcgkmdekdffgcddoiel"; } # Open Access Button + { id = "fpnmgdkabkmnadcjpehmlllkndpkmiak"; } # Wayback Machine + { id = "gphhapmejobijbbhgpjhcjognlahblep"; } # GNOME Shell integration + { id = "haebnnbpedcbhciplfhjjkbafijpncjl"; } # TinEye Reverse Image Search + { id = "dhdgffkkebhmkfjojejmpbldmpobfkfo"; } # Tampermonkey + { id = "kkmlkkjojmombglmlpbpapmhcaljjkde"; } # Zhongwen + { id = "nngceckbapebfimnlniiiahkandclblb"; } # Bitwarden + { id = "oldceeleldhonbafppcapldpdifcinji"; } # LanguageTool checker + ]; + }; + + programs.firefox = { + enable = true; + profiles.personal = { + isDefault = true; + settings = { + "browser.search.widget.inNavBar" = true; + "browser.search.openintab" = true; + + # Some privacy settings... + "privacy.donottrackheader.enabled" = true; + + "privacy.fingerprintingProtection" = true; + "privacy.fingerprintingProtection.pbmode" = true; + + "privacy.query_stripping.enabled" = true; + "privacy.query_stripping.enabled.pbmode" = true; + + "dom.security.https_first" = true; + "dom.security.https_first_pbm" = true; + + "privacy.firstparty.isolate" = true; + }; + + search = { + default = "Brave"; + force = true; + order = [ + "Brave" + "Nix Packages" + "Google" + ]; + engines = { + "Brave" = { + urls = [{ + template = "https://search.brave.com/search"; + params = [ + { name = "type"; value = "search"; } + { name = "q"; value = "{searchTerms}"; } + ]; + }]; + + icon = "${config.programs.brave.package}/share/icons/hicolor/64x64/apps/brave-browser.png"; + definedAliases = [ "@brave" "@b" ]; + }; + + "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" ]; + }; + + "Bing".metaData.hidden = true; + "Google".metaData.alias = "@g"; + }; + }; + }; + }; +}