{ pkgs, ... }: { programs.firefox = { enable = true; profiles.default = { search = { default = "Kagi"; privateDefault = "DuckDuckGo"; order = [ "Kagi" "DuckDuckGo" ]; force = true; engines = { "Kagi" = { definedAliases = [ "@k" ]; urls = [ { template = "https://kagi.com/search"; params = [ { name = "q"; value = "{searchTerms}"; } ]; } ]; }; "DuckDuckGo" = { definedAliases = [ "@d" ]; urls = [ { template = "https://duckduckgo.com/"; params = [ { name = "q"; value = "{searchTerms}"; } ]; } ]; }; }; }; extensions = with pkgs.nur.repos.rycee.firefox-addons; [ bitwarden clearurls mailvelope multi-account-containers refined-github ublock-origin ]; settings = { "app.update.auto" = false; "signon.rememberSignons" = false; "browser.formfill.enable" = false; "browser.tabs.firefox-view" = false; "browser.aboutConfig.showWarning" = false; "browser.bookmarks.addedImportButton" = false; "extensions.pocket.enabled" = false; "browser.newtabpage.activity-stream.feeds.section.topstories" = false; "browser.newtabpage.activity-stream.showSponsoredTopSites" = false; "browser.newtabpage.pinned" = builtins.toJSON [ { url = "https://github.com/"; } { url = "https://git.jojodev.com/"; } { url = "https://git.jolheiser.com"; } ]; "browser.fixup.domainwhitelist.go" = true; # golink }; bookmarks = [ { name = "Toolbar"; toolbar = true; bookmarks = [ { name = "Gitea"; bookmarks = [ { name = "github"; tags = [ "gitea" ]; keyword = "go-gitea"; url = "https://github.com/go-gitea/gitea"; } { name = "jojodev"; tags = [ "gitea" ]; keyword = "jojodev"; url = "https://git.jojodev.com"; } { name = "gist"; tags = [ "gitea" "gist" ]; keyword = "gist"; url = "https://gist.jojodev.com"; } { name = "gitea"; tags = [ "gitea" ]; keyword = "gitea"; url = "https://gitea.com"; } { name = "try"; tags = [ "gitea" ]; keyword = "try"; url = "https://try.gitea.io"; } ]; } { name = "Tailnet"; bookmarks = [ { name = "golink"; tags = [ "tailscale" ]; keyword = "go"; url = "http://go"; } { name = "tclip"; tags = [ "tailscale" ]; keyword = "paste"; url = "http://paste"; } { name = "ugit"; tags = [ "tailscale" "git" ]; keyword = "git"; url = "http://git"; } { name = "jellyfin"; tags = [ "jellyfin" ]; keyword = "jellyfin"; url = "http://sencha:8096"; } ]; } { name = "ugit"; tags = [ "git" "ugit" ]; keyword = "ugit"; url = "https://git.jolheiser.com"; } { name = "git-pr"; tags = [ "git" "pr" ]; keyword = "git-pr"; url = "https://pr.jolheiser.com"; } { name = "todo"; tags = [ "vikunja" "todo" ]; keyword = "todo"; url = "https://todo.jolheiser.com"; } ]; } # Not in the toolbar, but still usable via keyword/searching { name = "Go Playground"; tags = [ "golang" ]; keyword = "play"; url = "https://go.dev/play/"; } ]; }; }; }