{ lib, ... }:

with lib.hm.gvariant;

{
  dconf.settings = {
    # Gnome Settings

    ## Appearance
    "org/gnome/desktop/interface" = {
      accent-color = "purple";
      clock-format = "24h";
      clock-show-seconds = true;
      clock-show-weekday = true;
      color-scheme = "prefer-dark";
      document-font-name = "Adwaita Sans 11";
      font-antialiasing = "grayscale";
      font-hinting = "slight";
      font-name = "Adwaita Sans 11";
      gtk-theme = "adw-gtk3-dark";
      monospace-font-name = "JetBrainsMonoNL Nerd Font Propo 10";
      show-battery-percentage = true;
      toolkit-accessibility = false;
    };

    "org/gnome/desktop/background" = {
      color-shading-type = "solid";
      picture-options = "zoom";
      picture-uri = "file:///home/lyes/.config/background";
      picture-uri-dark = "file:///home/lyes/.config/background";
    };

    ## Behaviour
    "org/gnome/mutter" = {
      dynamic-workspaces = true;
      edge-tiling = true;
      experimental-features = [ "scale-monitor-framebuffer" "xwayland-native-scaling" ];
    };

    ## Energy
    "org/gnome/desktop/session" = {
      idle-delay = mkUint32 600;
    };

    ## Privacy
    "org/gnome/desktop/privacy" = {
      remove-old-temp-files = true;
      remove-old-trash-files = true;
    };

    "org/gnome/system/location" = {
      enabled = true;
    };

    ## Inputs
    "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
      binding = "<Super>Return";
      command = "kgx";
      name = "Terminal";
    };

    "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
      binding = "<Super>n";
      command = "nautilus -w";
      name = "Nautilus";
    };

    "org/gnome/desktop/peripherals/touchpad" = {
      click-method = "areas";
      disable-while-typing = false;
      speed = 0.0;
      two-finger-scrolling-enabled = true;
    };

    ## Shell & Extensions
    "org/gnome/shell" = {
      disable-user-extensions = false;
      favorite-apps =
        [
          "firefox.desktop"
          "thunderbird.desktop"
          "vesktop.desktop"
          "element-desktop.desktop"
          "org.signal.Signal.desktop"
          "org.gnome.Nautilus.desktop"
          "org.gnome.Console.desktop"
        ];
      last-selected-power-profile = "power-saver";
      remember-mount-password = true;
    };

    ## Extensions settings
    "blur-my-shell" = {
      settings-version = 2;
    };

    "blur-my-shell/coverflow-alt-tab" = {
      pipeline = "pipeline_default";
    };

    "blur-my-shell/dash-to-dock" = {
      pipeline = "pipeline_default_rounded";
    };

    "blur-my-shell/lockscreen" = {
      pipeline = "pipeline_default";
    };

    "blur-my-shell/overview" = {
      pipeline = "pipeline_default";
    };

    "blur-my-shell/panel" = {
      pipeline = "pipeline_default";
      static-blur = false;
    };

    "blur-my-shell/screenshot" = {
      pipeline = "pipeline_default";
    };

    "org/gnome/shell/extensions/caffeine" = {
      show-notifications = false;
    };

    "dash-to-panel" = {
      # animate-appicon-hover-animation-extent = {
      #   RIPPLE = 4;
      #   PLANK = 4;
      #   SIMPLE = 1;
      # };
      appicon-margin = 0;
      appicon-padding = 4;
      appicon-style = "NORMAL";
      dot-color-dominant = true;
      dot-color-override = false;
      dot-color-unfocused-different = false;
      dot-position = "TOP";
      dot-size = 4;
      dot-style-focused = "DOTS";
      dot-style-unfocused = "DOTS";
      extension-version = 68;
      focus-highlight-dominant = true;
      global-border-radius = 2;
      hotkeys-overlay-combo = "TEMPORARILY";
      intellihide = true;
      panel-anchors = ''
        {"BOE-0x00000000":"MIDDLE"}
      '';
      panel-element-positions = ''
        {"BOE-0x00000000":[{"element":"activitiesButton","visible":true,"position":"stackedTL"},{"element":"dateMenu","visible":true,"position":"stackedTL"},{"element":"showAppsButton","visible":true,"position":"centered"},{"element":"taskbar","visible":true,"position":"centered"},{"element":"leftBox","visible":true,"position":"stackedTL"},{"element":"centerBox","visible":true,"position":"stackedBR"},{"element":"rightBox","visible":true,"position":"stackedBR"},{"element":"systemMenu","visible":true,"position":"stackedBR"},{"element":"desktopButton","visible":false,"position":"stackedBR"}]}
      '';
      panel-lengths = ''
        {"BOE-0x00000000":90}
      '';
      panel-positions = ''
        {}
      '';
      panel-side-margins = 0;
      panel-side-padding = 4;
      panel-sizes = ''
        {"BOE-0x00000000":48}
      '';
      panel-top-bottom-margins = 4;
      panel-top-bottom-padding = 4;
      prefs-opened = false;
      primary-monitor = "BOE-0x00000000";
      stockgs-force-hotcorner = false;
      stockgs-keep-dash = false;
      stockgs-keep-top-panel = false;
      stockgs-panelbtn-click-only = false;
      trans-bg-color = "#5e5c64";
      trans-panel-opacity = 0.4;
      trans-use-custom-bg = true;
      trans-use-custom-gradient = false;
      trans-use-custom-opacity = true;
      window-preview-title-position = "TOP";
    };

    "just-perfection" = {
      notification-banner-position = 3;
      osd-position = 6;
      support-notifier-showed-version = 34;
      support-notifier-type = 0;
    };

    "org/gnome/shell/extensions/vitals" = {
      hot-sensors = [ "_processor_usage_" "_memory_usage_" "_memory_swap_usage_" "__temperature_max__" "__temperature_avg__" ];
      include-static-gpu-info = true;
      show-gpu = true;
    };

    "weather-oclock" = {
      weather-after-clock = true;
    };

    ## Gnome Apps
    "org/gnome/shell/weather" = {
      automatic-location = true;
    };

    "org/gnome/desktop/calendar" = {
      show-weekdate = true;
    };

    "org/gnome/tweaks" = {
      show-extensions-notice = false;
    };
  };
}
