nixos-config/home/modules/firefox.nix

339 lines
10 KiB
Nix
Raw Normal View History

2024-02-22 19:01:16 +01:00
{
inputs,
outputs,
config,
pkgs,
lib,
...
}:
with inputs; {
2024-10-08 11:19:34 +02:00
home.sessionVariables.DEFAULT_BROWSER =
if (config.os == "linux")
then "${pkgs.firefox}/bin/firefox"
else "firefox";
2024-02-12 20:08:44 +01:00
programs.firefox = lib.mkIf (config.os == "linux") {
2024-02-12 20:08:44 +01:00
enable = true;
package =
pkgs.firefox.override {cfg = {enableGnomeExtensions = true;};};
2024-02-12 20:08:44 +01:00
profiles.xqtc = {
isDefault = true;
extensions = with inputs.firefox-addons.packages.${pkgs.system}; [
ublock-origin
sponsorblock
2024-09-16 19:12:08 +02:00
dearrow
pronoundb
2024-07-01 20:45:31 +02:00
tabcenter-reborn
firefox-color
unpaywall
2024-02-12 20:08:44 +01:00
bitwarden
sidebery
2024-03-11 15:38:25 +01:00
leechblock-ng
2024-02-12 20:08:44 +01:00
darkreader
2024-07-06 16:42:49 +02:00
ipvfoo
stylus
2024-07-01 20:45:31 +02:00
shinigami-eyes
2024-04-18 13:31:55 +02:00
violentmonkey
vimium-c
2024-02-12 20:08:44 +01:00
noscript
];
2024-10-19 15:31:58 +02:00
bookmarks = [
{
toolbar = true;
bookmarks = [
{
name = "heroin.trade";
bookmarks = [
{
name = "Forgejo";
url = "https://git.heroin.trade";
}
{
name = "Grafana";
url = "https://grafana.heroin.trade";
}
{
name = "Jellyfin";
url = "https://jellyfin.heroin.trade";
}
{
name = "Uptime";
url = "https://uptime.heroin.trade";
}
{
name = "Lanraragi";
url = "https://calibre.heroin.trade";
}
{
name = "Paperless";
url = "https://paperless.heroin.trade";
}
{
name = "Nextcloud";
url = "https://cloud.heroin.trade";
}
];
}
{
name = "piracy";
bookmarks = [
{
name = "slskd";
url = "http://seraphim.fritz.box:5030";
}
{
name = "Sonarr";
url = "http://seraphim.fritz.box:8989";
}
{
name = "Radarr";
url = "http://seraphim.fritz.box:7878";
}
{
name = "Prowlarr";
url = "http://seraphim.fritz.box:9696";
}
{
name = "qBittorrent";
url = "http://seraphim.fritz.box:8085";
}
];
}
2024-10-19 15:31:58 +02:00
];
}
];
2024-02-12 20:08:44 +01:00
search = {
default = "DuckDuckGo";
2024-02-12 20:08:44 +01:00
force = true;
engines = {
"SearX" = {
urls = [
{
template = "https://searx.org/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
iconUpdateURL = "https://searx.org/favicon.ico";
definedAliases = ["@sx"];
};
2024-02-12 20:08:44 +01:00
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
2024-02-12 20:08:44 +01:00
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@np"];
2024-02-12 20:08:44 +01:00
};
2024-02-22 19:01:16 +01:00
"Nix Options" = {
urls = [
{
template = "https://search.nixos.org/options";
params = [
{
name = "type";
value = "options";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
2024-02-22 19:01:16 +01:00
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@no"];
2024-02-22 19:01:16 +01:00
};
2024-02-12 20:08:44 +01:00
2024-04-18 13:31:55 +02:00
"Nix Dev" = {
urls = [
{
template = "https://nix.dev/search.html";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = ["@nd"];
};
2024-02-12 20:08:44 +01:00
"NixOS Wiki" = {
urls = [
{
template = "https://nixos.wiki/index.php?search={searchTerms}";
}
];
2024-02-12 20:08:44 +01:00
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@nw"];
2024-02-12 20:08:44 +01:00
};
"nixpkgs PR Tracker" = {
urls = [
{
template = "https://nixpk.gs/pr-tracker.html?pr={searchTerms}";
}
];
iconUpdateURL = "https://nixos.wiki/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@npr"];
};
2024-05-03 10:08:16 +02:00
"Reddit" = {
urls = [
{
template = "https://reddit.com/r/{searchTerms}";
}
];
iconUpdateURL = "https://reddit.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@r"];
};
"Github Repos" = {
urls = [
{
template = "https://github.com/search?q={searchTerms}&type=repositories";
}
];
iconUpdateURL = "https://github.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@ghr"];
};
"Github Code" = {
urls = [
{
template = "https://github.com/search?q={searchTerms}&type=code";
}
];
iconUpdateURL = "https://github.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@ghc"];
};
"Github PRs" = {
urls = [
{
template = "https://github.com/search?q={searchTerms}&type=pullrequests";
}
];
iconUpdateURL = "https://github.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@ghpr"];
};
"Github Users" = {
urls = [
{
template = "https://github.com/search?q={searchTerms}&type=users";
}
];
iconUpdateURL = "https://github.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@ghu"];
};
"Hackage" = {
urls = [
{
template = "https://hackage.haskell.org/packages/browse?terms={searchTerms}";
}
];
iconUpdateURL = "https://hackage.haskell.org/static/favicon.png";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@hak"];
};
"crates.io" = {
urls = [
{
template = "https://crates.io/search?q={searchTerms}";
}
];
iconUpdateURL = "https://crates.io/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@cio"];
};
2024-05-27 19:28:24 +02:00
"OSDev Wiki" = {
urls = [
{
template = "https://wiki.osdev.org/index.php?search={searchTerms}";
}
];
iconUpdateURL = "https://wiki.osdev.org/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@osdev"];
};
"YouTube" = {
urls = [
{
template = "https://youtube.com/results?search_query={searchTerms}";
}
];
iconUpdateURL = "https://youtube.com/favicon.ico";
updateInterval = 24 * 60 * 60 * 1000; # every day
definedAliases = ["@yt"];
};
2024-05-03 10:08:16 +02:00
2024-02-12 20:08:44 +01:00
"Bing".metaData.hidden = true;
"Google".metaData.hidden = true;
"DuckDuckGo".metaData.alias = "@ddg";
};
};
settings = {
"app.normandy.first_run" = false;
"app.shield.optoutstudies.enabled" = false;
"privacy.donotttrackheader.enabled" = true;
2024-10-19 15:31:58 +02:00
"browser.startup.homepage" = "https://duckduckgo.com";
2024-02-12 20:08:44 +01:00
"browser.search.region" = "DE";
"browser.search.isUS" = false;
"browser.theme.content-theme" = "0";
"browser.theme.toolbar-theme" = "0";
"browser.newtabpage.activity-stream.showSponsored" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
2024-06-09 20:48:07 +02:00
"media.eme.enabled" = true;
"services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsored" =
false;
"services.sync.prefs.sync.browser.newtabpage.activity-stream.showSponsoredTopSites" =
false;
2024-10-19 15:31:58 +02:00
"browser.toolbars.bookmarks.visibility" = "always";
2024-02-12 20:08:44 +01:00
"general.useragent.locale" = "de-DE";
"distribution.searchplugins.defaultLocale" = "de-DE";
"signon.rememberSignons" = false;
"toolkit.legacyUserProfileCustomizations.stylesheets" =
true; # Needed to allow userChrome.css
2024-02-12 20:08:44 +01:00
};
# userChrome = ''
# #TabsToolbar {
# display: none; !important
# }
# #sidebar-header {
# display: none;
# }
# '';
userChrome = builtins.readFile ../config-files/catpuccin-firefox.css;
2024-02-12 20:08:44 +01:00
};
};
}