{ config, lib, ... }:
let
  backupFolder = "~/desktop/browser-images";
  homeFolder = "/browsers";
in
{
  config = lib.mkIf config.components.gui.enable {

    programs.chromium.extensions = [
      "nngceckbapebfimnlniiiahkandclblb" # bitwarden
      # "edibdbjcniadpccecjdfdjjppcpchdlm" # I still don't care about cookies
      "gcbommkclmclpchllfjekcdonpmejbdp" # https everywhere
      "cjpalhdlnbpafiamejdnhcphjbkeiagm" # ublock origin
      "dbepggeogbaibhgnhhndojpepiihcmeb" # vimium
      "jinjaccalgkegednnccohejagnlnfdag" # Violentmonkey
      # "dpplabbmogkhghncfbfdeeokoefdjegm" # Proxy SwitchySharp
      # "mooikfkahbdckldjjndioackbalphokd" # Selenium IDE
      # "hnkcfpcejkafcihlgbojoidoihckciin" # Referer Control
    ];

    # overwrite use zram on small RAM systems
    fileSystems."/share" = lib.mkDefault {
      device = "tmpfs";
      fsType = "tmpfs";
    };

    # overwrite use zram on small RAM systems
    fileSystems."${homeFolder}" = lib.mkDefault {
      device = "tmpfs";
      fsType = "tmpfs";
    };

    services.browser = {
      enable = lib.mkDefault true;
      configList = {
        development = {
          home = "${homeFolder}/development-browser";
          homeBackup = "${backupFolder}/development-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        google = {
          home = "${homeFolder}/google-browser";
          homeBackup = "${backupFolder}/google-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        finance = {
          home = "${homeFolder}/finance-browser";
          homeBackup = "${backupFolder}/finance-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        facebook = {
          home = "${homeFolder}/facebook-browser";
          homeBackup = "${backupFolder}/facebook-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        shopping = {
          home = "${homeFolder}/shopping-browser";
          homeBackup = "${backupFolder}/shopping-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        jobrad = {
          browserType = "chrome";
          home = "${homeFolder}/jobrad-chrome";
          homeBackup = "${backupFolder}/jobrad-chrome";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        firefox-tmp = {
          browserType = "firefox";
          home = "${homeFolder}/firefox-tmp";
          homeBackup = "${backupFolder}/firefox-tmp-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        chromium-tmp = {
          browserType = "chrome";
          home = "${homeFolder}/chromium-tmp";
          homeBackup = "${backupFolder}/chrome-tmp-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };
        google-tmp = {
          browserType = "google";
          home = "${homeFolder}/google-tmp";
          homeBackup = "${backupFolder}google-tmp-browser";
          gpu = false;
          sudoUsers = [ config.users.users.mainUser.name ];
        };

      };
    };
  };
}