nichts/nyx/homes/notashelf/programs/graphical/apps/schizofox/default.nix
2024-04-09 23:11:33 +02:00

97 lines
2.6 KiB
Nix

{
self',
inputs,
osConfig,
lib,
...
}: let
inherit (lib) mkIf;
inherit (osConfig) modules;
sys = modules.system;
prg = sys.programs;
in {
imports = [inputs.schizofox.homeManagerModule];
config = mkIf prg.firefox.enable {
programs.schizofox = {
enable = true;
theme = {
font = "Inter";
colors = {
background-darker = "181825";
background = "1e1e2e";
foreground = "cdd6f4";
};
};
search = rec {
defaultSearchEngine = "Searxng";
removeEngines = ["Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia" "LibRedirect" "DuckDuckGo"];
searxUrl = "https://search.notashelf.dev";
searxQuery = "${searxUrl}/search?q={searchTerms}&categories=general";
addEngines = [
{
Name = "Searxng";
Description = "Decentralized search engine";
Alias = "sx";
Method = "GET";
URLTemplate = "${searxQuery}";
}
];
};
security = {
sanitizeOnShutdown = false;
sandbox = true;
noSessionRestore = false;
userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0";
};
misc = {
drmFix = true;
disableWebgl = false;
startPageURL = "file://${self'.packages.schizofox-startpage.outPath}/index.html";
bookmarks = [
{
Title = "Nyx";
URL = "https://github.com/NotAShelf/nyx";
Placement = "toolbar";
Folder = "Github";
}
];
};
extensions = {
simplefox.enable = true;
darkreader.enable = true;
extraExtensions = let
mkUrl = name: "https://addons.mozilla.org/firefox/downloads/latest/${name}/latest.xpi";
extensions = [
{
id = "1018e4d6-728f-4b20-ad56-37578a4de76";
name = "flagfox";
}
{
id = "{c2c003ee-bd69-42a2-b0e9-6f34222cb046}";
name = "auto-tab-discard";
}
{
id = "{a4c4eda4-fb84-4a84-b4a1-f7c1cbf2a1ad}";
name = "refined-github-";
}
{
id = "sponsorBlocker@ajay.app";
name = "sponsorblock";
}
{
id = "{446900e4-71c2-419f-a6a7-df9c091e268b}";
name = "bitwarden-password-manager";
}
];
extraExtensions = builtins.foldl' (acc: ext: acc // {ext.id = {install_url = mkUrl ext.name;};}) {} extensions;
in
extraExtensions;
};
};
};
}