From cfd8f747074b0be8779b74370f57064964a5ec22 Mon Sep 17 00:00:00 2001 From: Bloxx12 Date: Wed, 9 Apr 2025 15:31:18 +0200 Subject: [PATCH] flake: add schizofox again --- flake.nix | 2 + modules/programs/gui/schizofox/module.nix | 117 ++++++++++++++++++++++ 2 files changed, 119 insertions(+) create mode 100644 modules/programs/gui/schizofox/module.nix diff --git a/flake.nix b/flake.nix index 9a4b1c2..e9303de 100644 --- a/flake.nix +++ b/flake.nix @@ -38,6 +38,8 @@ impermanence.url = "github:nix-community/impermanence"; + schizofox.url = "github:schizofox/schizofox"; + # secure booting lanzaboote = { url = "github:nix-community/lanzaboote"; diff --git a/modules/programs/gui/schizofox/module.nix b/modules/programs/gui/schizofox/module.nix new file mode 100644 index 0000000..181b896 --- /dev/null +++ b/modules/programs/gui/schizofox/module.nix @@ -0,0 +1,117 @@ +{ + config, + inputs, + lib, + ... +}: let + inherit (lib.modules) mkIf; + inherit (lib.options) mkEnableOption; + inherit (builtins) listToAttrs; + + cfg = config.modules.programs.schizofox; +in { + options.modules.programs.schizofox.enable = mkEnableOption "Schizofox browser"; + imports = [ + inputs.schizofox.nixosModules.default + ]; + + config = mkIf cfg.enable { + programs.schizofox = { + enable = true; + theme = { + font = "Lexend"; + colors = { + background-darker = "181825"; + background = "1e1e2e"; + foreground = "cdd6f4"; + }; + }; + + security = { + sanitizeOnShutdown.enable = true; + sandbox.enable = true; + noSessionRestore = true; + userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:106.0) Gecko/20100101 Firefox/106.0"; + }; + + misc = { + drm.enable = true; + disableWebgl = false; + bookmarks = [ + { + Title = "Noogle"; + URL = "https://noogle.dev"; + Placement = "toolbar"; + } + { + Title = "Nixpkgs Manual"; + URL = "https://nixos.org/manual/nixpkgs/stable"; + Placement = "toolbar"; + } + ]; + }; + + extensions = { + simplefox.enable = true; + darkreader.enable = true; + + enableDefaultExtensions = true; + enableExtraExtensions = true; + extraExtensions = let + extensions = [ + { + 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"; + } + { + id = "{74145f27-f039-47ce-a470-a662b129930a}"; + name = "clearurls"; + } + { + id = "{b86e4813-687a-43e6-ab65-0bde4ab75758}"; + name = "localcdn-fork-of-decentraleyes"; + } + { + id = "smart-referer@meh.paranoid.pk"; + name = "smart-referer"; + } + { + id = "skipredirect@sblask"; + name = "skip-redirect"; + } + { + id = "7esoorv3@alefvanoon.anonaddy.me"; + name = "libredirect"; + } + { + id = "DontFuckWithPaste@raim.ist"; + name = "dont-fuck-with-paste"; + } + ]; + + mappedExtensions = + map (extension: { + name = extension.id; + value = { + install_url = "https://addons.mozilla.org/firefox/downloads/latest/${extension.name}/latest.xpi"; + }; + }) + extensions; + in + listToAttrs mappedExtensions; + }; + }; + }; +}