Personal Nix setup
at main 1.4 kB view raw
1{ lib, config, pkgs, helpers, ... }: 2 3with lib; 4let 5 cfg = config.modules.apps; 6in { 7 options.modules.apps.zen-browser = { 8 enable = mkOption { 9 default = false; 10 description = "Whether to enable Zen."; 11 type = types.bool; 12 }; 13 }; 14 15 config.modules.apps.zen-browser = { 16 enable = if helpers.isLinux then (mkDefault false) else (mkForce false); 17 }; 18} // helpers.linuxAttrs { 19 config = mkIf (cfg.enable && cfg.zen-browser.enable) { 20 home.packages = [ pkgs.zen-browser ]; 21 22 systemd.user.sessionVariables = { 23 MOZ_ENABLE_WAYLAND = 1; 24 MOZ_WEBRENDER = 1; 25 NIXOS_OZONE_WL = mkDefault 1; 26 }; 27 28 xdg = { 29 mimeApps = { 30 enable = mkDefault true; 31 defaultApplications = let 32 browser = [ "zen-beta.desktop" ]; 33 in { 34 "application/json" = browser; 35 "application/pdf" = browser; 36 "application/xml" = browser; 37 "application/xhtml+xml" = browser; 38 "application/xhtml_xml" = browser; 39 "application/x-extension-htm" = browser; 40 "application/x-extension-html" = browser; 41 "x-scheme-handler/about" = browser; 42 "x-scheme-handler/ftp" = browser; 43 "x-scheme-handler/http" = browser; 44 "x-scheme-handler/https" = browser; 45 "x-scheme-handler/unknown" = browser; 46 "text/html" = browser; 47 "text/xml" = browser; 48 }; 49 }; 50 }; 51 }; 52}