{ 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/"; label = "github"; } { url = "https://git.jojodev.com/"; label = "jojodev"; } { url = "https://git.jolheiser.com"; label = "ugit"; } ]; # tailscale apps "browser.fixup.domainwhitelist.go" = true; "browser.fixup.domainwhitelist.git" = true; "browser.fixup.domainwhitelist.paste" = true; "browser.fixup.domainwhitelist.radarr" = true; "browser.fixup.domainwhitelist.sonarr" = true; "browser.fixup.domainwhitelist.jellyfin" = true; }; 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 = "https://git"; } { name = "cfg"; tags = [ "cfg" "tailscale" ]; keyword = "cfg"; url = "https://cfg"; } { name = "media"; bookmarks = [ { name = "jellyfin"; tags = [ "jellyfin" "tailscale" ]; keyword = "jellyfin"; url = "http://jellyfin"; } { name = "sonarr"; tags = [ "sonarr" "tailscale" "shows" ]; keyword = "sonarr"; url = "http://sonarr"; } { name = "radarr"; tags = [ "radarr" "tailscale" "movies" ]; keyword = "radarr"; url = "http://radarr"; } { name = "bazarr"; tags = [ "bazarr" "tailscale" "translations" ]; keyword = "bazarr"; url = "http://bazarr"; } { name = "prowlarr"; tags = [ "prowlarr" "tailscale" "indexers" ]; keyword = "prowlarr"; url = "http://prowlarr"; } ]; } ]; } { 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/"; } ]; }; }; }