148 lines
4.4 KiB
Nix
148 lines
4.4 KiB
Nix
{
|
|
username ? throw "username argument is required",
|
|
}:
|
|
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}:
|
|
let
|
|
userConfig = config.users.users.${username};
|
|
in
|
|
{
|
|
home-manager.users.${username} = {
|
|
programs.firefox = {
|
|
enable = true;
|
|
|
|
policies = {
|
|
DisableTelemetry = true;
|
|
DisableFirefoxStudies = true;
|
|
DontCheckDefaultBrowser = true;
|
|
DisablePocket = true;
|
|
DefaultDownloadDirectory = "\${HOME}/Downloads";
|
|
OfferToSaveLogins = false;
|
|
AutofillAddressEnabled = false;
|
|
AutofillCreditCardEnabled = false;
|
|
Preferences = {
|
|
"browser.aboutConfig.showWarning" = false;
|
|
"browser.contentblocking.category" = "strict";
|
|
"browser.download.useDownloadDir" = false;
|
|
"browser.newtabpage.activity-stream.feeds.section.topstories" = false;
|
|
"browser.newtabpage.activity-stream.showSponsored" = false;
|
|
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
|
"browser.toolbars.bookmarks.visibility" = true;
|
|
"browser.sessionstore.restore_on_demand" = true;
|
|
"browser.sessionstore.restore_pinned_tabs_on_demand" = false;
|
|
"browser.translations.automaticallyPopup" = false;
|
|
};
|
|
};
|
|
|
|
profiles.default = {
|
|
search = {
|
|
default = "DuckDuckGo";
|
|
privateDefault = "DuckDuckGo";
|
|
order = [
|
|
"DuckDuckGo"
|
|
"Google"
|
|
"Wikipedia (en)"
|
|
"Nix Packages"
|
|
"Nix Options"
|
|
"Home Manager Options"
|
|
];
|
|
force = true;
|
|
engines = {
|
|
"Google".metaData.alias = "@g";
|
|
"DuckDuckGo".metaData.alias = "@d";
|
|
"Wikipedia (en)".metaData.alias = "@w";
|
|
|
|
"Nix Packages" = {
|
|
urls = [
|
|
{
|
|
template = "https://search.nixos.org/packages";
|
|
params = [
|
|
{
|
|
name = "type";
|
|
value = "packages";
|
|
}
|
|
{
|
|
name = "channel";
|
|
value = "unstable";
|
|
}
|
|
{
|
|
name = "query";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
definedAliases = [ "@np" ];
|
|
};
|
|
|
|
"Nix Options" = {
|
|
urls = [
|
|
{
|
|
template = "https://search.nixos.org/options";
|
|
params = [
|
|
{
|
|
name = "type";
|
|
value = "options";
|
|
}
|
|
{
|
|
name = "channel";
|
|
value = "unstable";
|
|
}
|
|
{
|
|
name = "query";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
definedAliases = [ "@no" ];
|
|
};
|
|
|
|
"Home Manager Options" = {
|
|
urls = [
|
|
{
|
|
template = "https://home-manager-options.extranix.com/";
|
|
params = [
|
|
{
|
|
name = "query";
|
|
value = "{searchTerms}";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
|
|
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
|
definedAliases = [ "@nh" ];
|
|
};
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
xdg.mimeApps.defaultApplications = {
|
|
"text/html" = "firefox.desktop";
|
|
"x-scheme-handler/http" = "firefox.desktop";
|
|
"x-scheme-handler/https" = "firefox.desktop";
|
|
"x-scheme-handler/about" = "firefox.desktop";
|
|
"x-scheme-handler/unknown" = "firefox.desktop";
|
|
};
|
|
|
|
home.sessionVariables.DEFAULT_BROWSER = lib.meta.getExe pkgs.firefox;
|
|
|
|
wayland.windowManager.hyprland.settings.bind = [ "$mod, b, exec, ${lib.meta.getExe pkgs.firefox}" ];
|
|
|
|
home.persistence = {
|
|
"/persist${userConfig.home}".directories = [ ".mozilla" ];
|
|
"/cache${userConfig.home}".directories = [ ".cache/mozilla" ];
|
|
};
|
|
};
|
|
}
|