dotnix/apps/gui/firefox.nix

277 lines
7.9 KiB
Nix

{ 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.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;
"browser.fixup.domainwhitelist.files" = true;
"browser.fixup.domainwhitelist.pubserve" = true;
"browser.fixup.domainwhitelist.privserve" = true;
};
bookmarks = [
{
name = "Toolbar";
toolbar = true;
bookmarks = [
{
name = "Gitea";
bookmarks = [
{
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 = "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 = "Files";
bookmarks = [
{
name = "files";
tags = [
"files"
"miniserve"
];
keyword = "files";
url = "http://files";
}
{
name = "privserve";
tags = [
"privserve"
"miniserve"
];
keyword = "privserve";
url = "http://privserve";
}
{
name = "pubserve";
tags = [
"pubserve"
"miniserve"
];
keyword = "pubserve";
url = "http://pubserve";
}
];
}
];
}
{
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/";
}
];
};
};
}