nix/modules/wm/firefox/default.nix

190 lines
5.9 KiB
Nix
Raw Normal View History

2024-11-24 21:35:15 +01:00
{
inputs,
username,
domain,
lib,
config,
...
}: let
userChrome = builtins.readFile (./. + "/userChrome");
in {
options = {
firefox.enable = lib.mkEnableOption "";
};
config = lib.mkIf config.firefox.enable {
home-manager.users.${username} = {
programs.firefox = {
enable = true;
profiles.${username} = {
userChrome = userChrome;
extensions = with inputs.firefox-addons.packages."x86_64-linux"; [
ublock-origin
darkreader
libredirect
search-by-image
terms-of-service-didnt-read
istilldontcareaboutcookies
decentraleyes
mtab
];
search.engines = {
"4get" = {
urls = [
{
template = "https://4get.${domain}/web";
params = [
{
name = "s";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@4get"];
};
};
search.force = true;
search.default = "4get";
bookmarks = [
{
name = "Bookmarks";
toolbar = true;
bookmarks = [
{
name = "Packages";
url = "https://search.nixos.org/packages?channel=unstable";
}
{
name = "PR";
url = "https://nixpk.gs/pr-tracker.html";
}
{
name = "Homemanager";
url = "https://home-manager-options.extranix.com/?query=&release=master";
}
{
name = "Stylix";
url = "https://stylix.danth.me/options/nixos.html";
}
{
name = "Git";
url = "https://git.${domain}/";
}
{
name = "Syncserver";
url = "https://sync.${domain}/";
}
{
name = "Photos";
url = "https://immich.${domain}/";
}
{
name = "Translate";
url = "https://trans.${domain}/";
}
{
name = "invidious";
url = "https://yt.${domain}/";
}
{
name = "Server";
url = "https://avoro.eu/cp/clientarea.php?action=productdetails&id=27920";
}
{
name = "Domain";
url = "https://ap.www.namecheap.com/domains/list/";
}
{
name = "Github";
url = "https://www.github.com";
}
{
name = "Hyprland";
url = "https://wiki.hyprland.org/";
}
{
name = "Helix";
url = "https://helix-editor.com/";
}
{
name = "Yazi";
url = "https://yazi-rs.github.io/docs/installation";
}
{
name = "Monkeytype";
url = "https://monkeytype.com/";
}
{
name = "Zophar's Domain";
url = "https://www.zophar.net/music";
}
{
name = "Syncthing";
url = "http://localhost:8384/";
}
];
}
];
settings = {
"dom.security.https_only_mode" = true;
"browser.download.panel.shown" = true;
"identity.fxaccounts.enabled" = false;
"signon.rememberSignons" = false;
"browser.urlbar.pocket.featureGate" = false;
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
"browser.shell.checkDefaultBrowser" = false;
"browser.shell.defaultBrowserCheckCount" = 1;
"privacy.trackingprotection.enabled" = true;
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
"browser.uiCustomization.state" = ''
{
"placements": {
"widget-overflow-fixed-list": [],
"nav-bar": [
"back-button",
"forward-button",
"stop-reload-button",
"urlbar-container",
"downloads-button",
"ublock0_raymondhill_net-browser-action",
"addon_darkreader_org-browser-action",
"_testpilot-containers-browser-action"
],
"toolbar-menubar": [
"menubar-items"
],
"TabsToolbar": [
"tabbrowser-tabs",
"new-tab-button",
"alltabs-button"
],
"PersonalToolbar": [
"personal-bookmarks"
]
},
"seen": [
"save-to-pocket-button",
"developer-button",
"ublock0_raymondhill_net-browser-action",
"addon_darkreader_org-browser-action",
"_testpilot-containers-browser-action"
],
"dirtyAreaCache": [
"nav-bar",
"PersonalToolbar",
"toolbar-menubar",
"TabsToolbar",
"widget-overflow-fixed-list"
],
"currentVersion": 18,
"newElementCount": 4
}
'';
};
};
};
};
};
}