{ pkgs
, lib
, config
, ... }: with lib; let
  cfg = config.passthrough.gnome;
  bg = ../../../share/54345906_p0.jpg;
in mkIf cfg.enable {
  dconf.settings = let
    p = "org/gnome";
    pd = "${p}/desktop";
    ps = "${p}/shell";
    pse = "${ps}/extensions";
    ptl = "${p}/terminal/legacy";
    ptlp = "${ptl}/profiles:";
  in {
    "${pd}/peripherals/mouse".natural-scroll = true;
    "${pd}/peripherals/touchpad".tap-to-click = true;
    "${p}/epiphany".ask-for-default = false;
    "${p}/evolution-data-server".migrated = true;

    "${p}/nautilus/preferences" = {
      default-folder-viewer = "icon-view";
      migrated-gtk-settings = true;
      search-filter-time-type = "last_modified";
    };

    "${pd}/background" = {
      color-shading-type = "solid";
      picture-options = "zoom";
      picture-uri = "file://${bg}";
      picture-uri-dark = "file://${bg}";
      primary-color = "#000000000000";
      secondary-color = "#000000000000";
    };

    "${pd}/interface" = {
      color-scheme = "prefer-dark";
      cursor-theme = "Bibata-Modern-Classic";
      font-antialiasing = "grayscale";
      font-hinting = "slight";
      gtk-theme = "Adwaita-dark";
      icon-theme = "Papirus";
    };

    "${pd}/screensaver" = {
      color-shading-type = "solid";
      lock-enabled = false;
      picture-options = "zoom";
      picture-uri = "file://${bg}";
      primary-color = "#000000000000";
      secondary-color = "#000000000000";
    };

    "${pd}/wm/preferences" = {
      action-double-click-titlebar = "toggle-maximize";
      action-middle-click-titlebar = "minimize";
      button-layout = "close:appmenu";
      resize-with-right-button = true;
    };

    "${pd}/wm/keybindings" = {
      move-to-workspace-1 = [ "<Shift><Super>1" ];
      move-to-workspace-2 = [ "<Shift><Super>2" ];
      move-to-workspace-3 = [ "<Shift><Super>3" ];
      move-to-workspace-4 = [ "<Shift><Super>4" ];
      switch-to-workspace-1 = [ "<Super>1" ];
      switch-to-workspace-2 = [ "<Super>2" ];
      switch-to-workspace-3 = [ "<Super>3" ];
      switch-to-workspace-4 = [ "<Super>4" ];
    };

    "${ps}/keybindings" = {
      switch-to-application-1 = [ ];
      switch-to-application-2 = [ ];
      switch-to-application-3 = [ ];
      switch-to-application-4 = [ ];
      switch-to-application-5 = [ ];
      switch-to-application-6 = [ ];
      switch-to-application-7 = [ ];
      switch-to-application-8 = [ ];
      switch-to-application-9 = [ ];
    };

    "${p}/settings-daemon/plugins/media-keys" = {
      custom-keybindings = [
        "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
      ];
    };

    "${p}/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
      binding = "<Super>Return";
      command = "kgx";
      name = "Launch console";
    };

    "${ptlp}" = {
      #default = "95894cfd-82f7-430d-af6e-84d168bc34f5";
      list = [
        "de8a9081-8352-4ce4-9519-5de655ad9361"
        "71a9971e-e829-43a9-9b2f-4565c855d664"
        "5083e06b-024e-46be-9cd2-892b814f1fc8"
        "95894cfd-82f7-430d-af6e-84d168bc34f5"
      ];
    };

    "${ptlp}/:5083e06b-024e-46be-9cd2-892b814f1fc8" = {
      background-color = "#24273a";
      cursor-background-color = "#f4dbd6";
      cursor-colors-set = true;
      cursor-foreground-color = "#24273a";
      foreground-color = "#cad3f5";
      highlight-background-color = "#24273a";
      highlight-colors-set = true;
      highlight-foreground-color = "#5b6078";
      palette = [
        "#494d64" "#ed8796" "#a6da95" "#eed49f"
        "#8aadf4" "#f5bde6" "#8bd5ca" "#b8c0e0"
        "#5b6078" "#ed8796" "#a6da95" "#eed49f"
        "#8aadf4" "#f5bde6" "#8bd5ca" "#a5adcb"
      ];
      use-theme-colors = false;
      visible-name = "Catppuccin Macchiato";
    };

    "${ptlp}/:71a9971e-e829-43a9-9b2f-4565c855d664" = {
      background-color = "#303446";
      cursor-background-color = "#f2d5cf";
      cursor-colors-set = true;
      cursor-foreground-color = "#303446";
      default-size-columns = 150;
      default-size-rows = 35;
      foreground-color = "#c6d0f5";
      highlight-background-color = "#303446";
      highlight-colors-set = true;
      highlight-foreground-color = "#626880";
      palette = [
        "#51576d" "#e78284" "#a6d189" "#e5c890"
        "#8caaee" "#f4b8e4" "#81c8be" "#b5bfe2"
        "#626880" "#e78284" "#a6d189" "#e5c890"
        "#8caaee" "#f4b8e4" "#81c8be" "#a5adce"
      ];
      use-theme-colors = false;
      visible-name = "Catppuccin Frappe";
    };

    "${ptlp}/:95894cfd-82f7-430d-af6e-84d168bc34f5" = {
      background-color = "#1e1e2e";
      cursor-background-color = "#f5e0dc";
      cursor-colors-set = true;
      cursor-foreground-color = "#1e1e2e";
      foreground-color = "#cdd6f4";
      highlight-background-color = "#1e1e2e";
      highlight-colors-set = true;
      highlight-foreground-color = "#585b70";
      palette = [
        "#45475a" "#f38ba8" "#a6e3a1" "#f9e2af"
        "#89b4fa" "#f5c2e7" "#94e2d5" "#bac2de"
        "#585b70" "#f38ba8" "#a6e3a1" "#f9e2af"
        "#89b4fa" "#f5c2e7" "#94e2d5" "#a6adc8"
      ];
      use-theme-colors = false;
      visible-name = "Catppuccin Mocha";
    };

    "${ptlp}/:de8a9081-8352-4ce4-9519-5de655ad9361" = {
      background-color = "#eff1f5";
      cursor-background-color = "#dc8a78";
      cursor-colors-set = true;
      cursor-foreground-color = "#eff1f5";
      foreground-color = "#4c4f69";
      highlight-background-color = "#eff1f5";
      highlight-colors-set = true;
      highlight-foreground-color = "#acb0be";
      palette = [
        "#5c5f77" "#d20f39" "#40a02b" "#df8e1d"
        "#1e66f5" "#ea76cb" "#179299" "#acb0be"
        "#6c6f85" "#d20f39" "#40a02b" "#df8e1d"
        "#1e66f5" "#ea76cb" "#179299" "#bcc0cc"
      ];
      use-theme-colors = false;
      visible-name = "Catppuccin Latte";
    };

    "${ps}" = {
      disabled-extensions = [
        "light-style@gnome-shell-extensions.gcampax.github.com"
        "places-menu@gnome-shell-extensions.gcampax.github.com"
        "windowsNavigator@gnome-shell-extensions.gcampax.github.com"
        "window-list@gnome-shell-extensions.gcampax.github.com"
        "workspace-indicator@gnome-shell-extensions.gcampax.github.com"
        "dash-to-dock@micxgx.gmail.com"
      ];
      enabled-extensions = [
        "user-theme@gnome-shell-extensions.gcampax.github.com"
        "apps-menu@gnome-shell-extensions.gcampax.github.com"
        "drive-menu@gnome-shell-extensions.gcampax.github.com"
        "appindicatorsupport@rgcjonas.gmail.com"
        "dash-to-panel@jderose9.github.com"
      ];
      welcome-dialog-last-shown-version = "45.3";
    };

    #"${pse}/user-theme".name = "catppuccin-mocha-pink-compact";

    "${pse}/dash-to-dock" = {
      background-opacity = 0.80000000000000004;
      dash-max-icon-size = 48;
      dock-position = "BOTTOM";
      height-fraction = 0.90000000000000002;
      multi-monitor = true;
      running-indicator-style = "DOTS";
      custom-theme-shrink = true;
    };

    "${pse}/dash-to-panel" = {
      animate-appicon-hover = false;
      animate-appicon-hover-animation-type = "SIMPLE";
      appicon-margin = 0;
      appicon-padding = 4;
      appicon-style= "NORMAL";
      available-monitors = [ 0 ];
      dot-position = "BOTTOM";
      dot-style-focused = "METRO";
      dot-style-unfocused = "DOTS";
      group-apps = true;
      hide-overview-on-startup = true;
      hotkeys-overlay-combo = "TEMPORARILY";
      isolate-workspaces = false;
      leftbox-padding = -1;
      overview-click-to-exit = true;
      panel-anchors = ''{"0":"MIDDLE"}'';
      panel-element-positions = ''{"0":[{"element":"showAppsButton","visible":true,"position":"stackedTL"},{"element":"activitiesButton","visible":true,"position":"stackedTL"},{"element":"leftBox","visible":false,"position":"stackedTL"},{"element":"taskbar","visible":true,"position":"centerMonitor"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"dateMenu","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":false,"position":"stackedBR"}]}'';
      panel-lengths = ''{"0":100}'';
      panel-positions = ''{"0":"BOTTOM"}'';
      panel-sizes = ''{"0":42}'';
      primary-monitor = 0;
      secondarymenu-contains-showdetails = true;
      show-showdesktop-hover = true;
      status-icon-padding = -1;
      stockgs-force-hotcorner = false;
      stockgs-keep-dash = false;
      stockgs-keep-top-panel = false;
      stockgs-panelbtn-click-only = false;
      trans-bg-color = "#82a5c1";
      trans-dynamic-anim-target = 0.80000000000000002;
      trans-dynamic-behavior = "MAXIMIZED_WINDOWS";
      trans-gradient-bottom-color = "#000000";
      trans-gradient-bottom-opacity = 0.5;
      trans-gradient-top-opacity = 0.0;
      trans-panel-opacity = 0.0;
      trans-use-custom-bg = false;
      trans-use-custom-gradient = true;
      trans-use-custom-opacity = true;
      trans-use-dynamic-opacity = true;
      tray-padding = -1;
      window-preview-title-position = "TOP";
    };
  };
}
