61 lines
1.9 KiB
Nix
61 lines
1.9 KiB
Nix
{ config, lib, pkgs, inputs, ... }: {
|
|
|
|
options.homeconfig.firefox.enable = lib.options.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
};
|
|
|
|
config = lib.mkIf config.homeconfig.firefox.enable {
|
|
|
|
home.sessionVariables.BROWSER = "${config.programs.firefox.package}/bin/firefox";
|
|
|
|
home.packages = lib.mkIf config.homeconfig.wal.enable [
|
|
pkgs.pywalfox-native
|
|
];
|
|
|
|
home.file.".mozilla/native-messaging-hosts/pywalfox.json".text = let
|
|
pywalfox-wrapper = pkgs.writeShellScriptBin "pywalfox-wrapper" ''
|
|
${pkgs.pywalfox-native}/bin/pywalfox start
|
|
'';
|
|
in lib.replaceStrings [ "<path>" ] [
|
|
"${pywalfox-wrapper}/bin/pywalfox-wrapper"
|
|
] (lib.readFile "${pkgs.pywalfox-native}/lib/python3.12/site-packages/pywalfox/assets/manifest.json");
|
|
|
|
|
|
programs.firefox = {
|
|
|
|
enable = true;
|
|
package = pkgs.firefox;
|
|
|
|
profiles.nathan = {
|
|
search = {
|
|
default = "ddg";
|
|
privateDefault = "ddg";
|
|
force = true;
|
|
};
|
|
bookmarks = {
|
|
force = true;
|
|
settings = [
|
|
{
|
|
name = "toolbar";
|
|
toolbar = true;
|
|
bookmarks = [
|
|
{
|
|
name = "NixOS Search - Packages";
|
|
url = "https://search.nixos.org/packages";
|
|
}
|
|
];
|
|
}
|
|
];
|
|
};
|
|
|
|
extensions.packages = with inputs.firefox-addons.packages.${pkgs.system}; [
|
|
ublock-origin
|
|
keepassxc-browser
|
|
pywalfox
|
|
];
|
|
};
|
|
};
|
|
};
|
|
}
|