{
  config,
  lib,
  pkgs,
  ...
}:

{
  imports = [ ];

  options.me = {
    chromium.enable = lib.mkOption {
      type = lib.types.bool;
      default = false;
      example = true;
      description = "Whether we want to install chromium.";
    };
  };

  config = lib.mkIf config.me.chromium.enable (
    lib.mkMerge [
      { }
      (lib.mkIf config.me.graphical {
        environment.systemPackages = with pkgs; [
          (chromium.override { enableWideVine = true; })
        ];
        allowedUnfree = [
          "chromium"
          "chromium-unwrapped"
          "widevine-cdm"
        ];

        environment.persistence."/persist" = lib.mkIf (!config.me.buildingIso) {
          hideMounts = true;
          users.talexander = {
            directories = [
              {
                directory = ".config/chromium";
                user = "talexander";
                group = "talexander";
                mode = "0700";
              }
            ];
          };
        };
        environment.persistence."/state" = lib.mkIf (!config.me.buildingIso) {
          hideMounts = true;
          users.talexander = {
            directories = [
              {
                directory = ".cache/chromium";
                user = "talexander";
                group = "talexander";
                mode = "0700";
              }
            ];
          };
        };

        # Enabling vulkan causes video to render as white
        # nixpkgs.config.chromium.commandLineArgs = "--enable-features=Vulkan";
      })
    ]
  );
}