/schizofox

Hardened Firefox flake for the delusional and the schizophrenics.

Primary LanguageNix

screenshot

Schizofox

Firefox configuration wrapper for the Delusional and the Schizophrenic

Stars Forks Issues Pull Requests

About Schizofox

Schizofox has started as an unnamed Firefox configuration as a part of Sioodmy's dotfiles and was later adapted by @NotAShelf in Nyx for future use.

As we came to notice it would not be feasible to maintain two separate configurations, Schizofox has since been moved into its own standalone flake and eventually an organization. Thus, this project is the result of combined efforts of two people with special interest in security.

Compared to other browsers or browser configurations, Schizofox is quite schizoprenic but it is also designed for daily-driving, so some compromises had to be made. Nevertheless, most options that affect privacy or security are behind toggles and you can enable or disable, should you wish to do so.

Keep in mind that any "super ultra privacy friendly Firefox configuration" will make you stick out, and contribute to fingerprinting; sadly there is no escape from that, not with a regular browser. If you are really looking for security, we would recommend that look into the Tor browser.

Note

Fun fact: clearing cookies is just a waste of time with cookie isolation enabled: just use temporary containers if you need to.

Notable Features

  • Extensive & modular configuration
    • Custom policy options
    • Declarative extension installation with the provided Home-Manager module.
    • Custom userStyle and userChrome configurations
  • Declarative theming. Schizofox allows for browser-wide theming with 3 colors and a font, with DarkReader integration.
  • Optional NixPak wrapping sandboxing and additional security
  • Searx instance randomizer
  • User agent randomizer
  • Tor wrapper

Contributing

Schizofox should still be considered beta software, although it is being daily driven by many. Expect breaking changes, and make sure to submit an issue in case anything breaks. If you know how to fix an existing issue, or would like to implement new changes then feel free to create a pull request.

Sample Configuration

Warning

Sample configuration may be outdated at any given time. If you receive warnings about outdated configuration options, please refer to the module options for intended usage. Schizofox will attempt to remain backwards-compatible at all times, but this is not always feasible.

Click to expand!
imports = [ inputs.schizofox.homeManagerModule ];
programs.schizofox = {
  enable = true;

  theme = {
    colors = {
      background-darker = "181825";
      background = "1e1e2e";
      foreground = "cdd6f4";
    };

    font = "Lexend";

    extraUserChrome = ''
      body {
        color: red !important;
      }
    '';
  };

  search = {
    defaultSearchEngine = "Brave";
    removeEngines = ["Google" "Bing" "Amazon.com" "eBay" "Twitter" "Wikipedia"];
    searxUrl = "https://searx.be";
    searxQuery = "https://searx.be/search?q={searchTerms}&categories=general";
    addEngines = [
      {
        Name = "Etherscan";
        Description = "Checking balances";
        Alias = "!eth";
        Method = "GET";
        URLTemplate = "https://etherscan.io/search?f=0&q={searchTerms}";
      }
    ];
  };

  security = {
    sanitizeOnShutdown = false;
    sandbox = true;
    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://${builtins.readFile ./startpage.html}";
    contextMenu.enable = true;
  };

  extensions = {
    simplefox.enable = true;
    darkreader.enable = true;

    extraExtensions = {
      "webextension@metamask.io".install_url = "https://addons.mozilla.org/firefox/downloads/latest/ether-metamask/latest.xpi";
    };
  };

  bookmarks = [
    {
      Title = "Example";
      URL = "https://example.com";
      Favicon = "https://example.com/favicon.ico";
      Placement = "toolbar";
      Folder = "FolderName";
    }
  ];

}

💛 Support Us

Schizofox is maintained by the people below. If it has helped you in any shape or form, please consider supporting us to help us continue developing Schizofox. Thank you in advance!

Maintainers

NotAShelf (Maintainer)

Sioodmy (Maintainer)

Organization

Contributors and Credits

Schizofox has been made possible with the invaluable contributions of the people below. Please make sure to check them out, or support them <3

mrtnvgr (Contributor)

gerg-l (Contributor)

Max Headroom (Contributor)

louis-thevenet (Contributor)

nyawox (Contributor)

Chomky (Contributor)

Surfaceflinger (Contributor)

diniamo (Contributor)

eriedaberria (Contributor)

In addition, our special thanks go to for their support.

hnhx

neoney