feat: Add zen-browser module for Tytonidae

This commit is contained in:
ulic-youthlic 2025-11-11 18:11:23 +08:00
parent 1d304a15bd
commit 1078f489ff
Signed by: youthlic
GPG key ID: 63E86C3C14A0D721
5 changed files with 265 additions and 1 deletions

26
flake.lock generated
View file

@ -1372,7 +1372,8 @@
"sops-nix": "sops-nix",
"spacemacs": "spacemacs",
"stylix": "stylix",
"treefmt-nix": "treefmt-nix"
"treefmt-nix": "treefmt-nix",
"zen-browser": "zen-browser"
}
},
"rust-overlay": {
@ -1761,6 +1762,29 @@
"repo": "xwayland-satellite",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"home-manager": [
"home-manager"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1763616019,
"narHash": "sha256-yCNgkYovgIpOZankp38BxKFISmdc2b34vtEuVuxhTuk=",
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"rev": "a0a29968bccb2f118b33360697d5cc5fdae30cfa",
"type": "github"
},
"original": {
"owner": "0xc000022070",
"repo": "zen-browser-flake",
"type": "github"
}
}
},
"root": "root",

View file

@ -83,6 +83,15 @@
nixpkgs.follows = "nixpkgs";
};
};
zen-browser = {
type = "github";
owner = "0xc000022070";
repo = "zen-browser-flake";
inputs = {
nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager";
};
};
niri-flake = {
type = "github";

View file

@ -51,6 +51,7 @@
alacritty.enable = true;
zed-editor.enable = true;
firefox.enable = true;
zen-browser.enable = true;
openssh.enable = true;
helix.enable = true;
nvchad.enable = true;

View file

@ -0,0 +1,229 @@
{
lib,
config,
pkgs,
...
}: let
cfg = config.david.programs.zen-browser;
in {
options = {
david.programs.zen-browser = {
enable = lib.mkEnableOption "zen-browser";
};
};
config = lib.mkIf cfg.enable {
programs.zen-browser = {
enable = true;
profiles.default = {
name = "default";
isDefault = true;
extensions = {
packages = with pkgs.nur.repos.rycee.firefox-addons; [
immersive-translate
tridactyl
redirector
];
};
search = {
force = true;
default = "ddg";
engines = {
"Guix Packages" = {
urls = [
{
template = "https://packages.guix.gnu.org/search/";
params = [
{
name = "query";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@gp"];
};
"Nix Packages" = {
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{
name = "type";
value = "packages";
}
{
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 = "channel";
value = "unstable";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@no"];
};
"Home Manager Options" = {
urls = [
{
template = "https://home-manager-options.extranix.com";
params = [
{
name = "query";
value = "{searchTerms}";
}
{
name = "release";
value = "master";
}
];
}
];
definedAliases = ["@hm"];
};
"Nix Flakes" = {
urls = [
{
template = "https://search.nixos.org/flakes";
params = [
{
name = "channel";
value = "unstable";
}
{
name = "query";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@nf"];
};
"NixOS Wiki" = {
urls = [
{
template = "https://wiki.nixos.org/w/index.php";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@nw"];
};
"Rust Stdandard Lib" = {
urls = [
{
template = "https://doc.rust-lang.org/nightly/std/index.html";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@rs"];
};
"GitHub" = {
urls = [
{
template = "https://github.com/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
{
name = "type";
value = "repositories";
}
];
}
];
definedAliases = ["@gh"];
};
"Rust Reference" = {
urls = [
{
template = "https://doc.rust-lang.org/nightly/reference";
params = [
{
name = "search";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@rr"];
};
"Rust Crates" = {
urls = [
{
temaplte = "https://crates.io/search";
params = [
{
name = "q";
value = "{searchTerms}";
}
];
}
];
definedAliases = ["@rc"];
};
"C++ Reference" = {
urls = [
{
template = "https://duckduckgo.com/";
params = [
{
name = "q";
value = "{searchTerms}";
}
{
name = "sites";
value = "cppreference.com";
}
];
}
];
definedAliases = ["@cr"];
};
"bing".metaData.hidden = true;
"google".metaData.alias = "@g"; # builtin engines only support specifying one additional alias
};
};
};
policies = {
DisableAppUpdate = true;
Preferences = let
mkLockedAttrs = builtins.mapAttrs (_: value: {
Value = value;
Status = "locked";
});
in
mkLockedAttrs {
"browser.tabs.closeTabByDblclick" = true;
};
};
};
};
}

View file

@ -9,6 +9,7 @@
betterfox-nix.homeModules.betterfox
nix4nvchad.homeManagerModule
noctalia.homeModules.default
zen-browser.homeModules.twilight
])
++ lib.youthlic.loadImports ./.;