{ config, pkgs, ... }:

{
  imports =
    [];

  home.username = "lukas";
  home.homeDirectory = "/home/lukas";
  home.stateVersion = "23.11";

  # set several gnome settings options
  dconf.settings = {
    "org/gnome/desktop/interface" = {
        color-scheme = "prefer-dark";
        enable-hot-corners = true;
        clock-show-seconds = true;
        show-battery-percentage = true;
        scaling-factor = 1.25;
    };
    "org/gnome/mutter" = {
        dynamic-workspaces = true;
        edge-tiling = true;
    };
    "org/gnome/shell" = {
      favorite-apps = ["org.gnome.Nautilus.desktop" "gnome-system-monitor.desktop" "firefox.desktop" "org.gnome.Console.desktop"];

      # set extensions
      disable-user-extensions = false;

      # `gnome-extensions list` for a list
      enabled-extensions = [
        "Vitals@CoreCoding.com"
        "tiling-assistant@leleat-on-github"
      ];

    };

    "org/gnome/shell/extensions/tiling-assistant" = {
      enable-tiling-popup = false;
    };
  };



  #sound
  dconf.settings = {
    "org/gnome/settings-daemon/plugins/media-keys" = {
      volume-step = 3;
    };
    "org/gnome/settings-daemon/plugins/power" = {
      sleep-inactive-battery-type = "nothing";
      sleep-inactive-ac-type = "nothing";
    };
  };

  

  # nautilus settings
  dconf.settings = {
    "org/gnome/nautilus/preferences" = {
      default-folder-viewer = "list-view";
    };
    "org/gnome/nautilus/list-view" = {
        default-zoom-level = "small";
    };
  };

  # set git names
  programs.git = {
    enable = true;
    userName  = "Lukas Heiligenbrunner";
    userEmail = "lukas.heiligenbrunner@gmail.com";
  };

  dconf.settings = {
    "org/gnome/desktop/background" = {
        picture-uri = "/home/lukas/.background-image";
        picture-uri-dark = "/home/lukas/.background-image";
    };
  };

  home.file.".background-image" = {
    source = ./resources/background-hogwartslegacy.png;
  };

  # touchpad stuff
  dconf.settings = {
    "org/gnome/desktop/peripherals/touchpad" = {
      natural-scroll = false;
      tap-to-click = true;
    };
  };

  # texteditor
  dconf.settings = {
    "org/gnome/TextEditor" = {
      show-grid = true;
    };
  };


  # gnome extensions
  home.packages = with pkgs; [
    gnomeExtensions.vitals
    gnomeExtensions.tiling-assistant
  ];

  programs.zsh = {
    enable = true;
    shellAliases = {
      ll = "ls -l";
    };
    history = {
      path = "${config.xdg.dataHome}/zsh/history";
      size = 10000;
    };
    
    initExtra = ''
      source .p10k.zsh
    '';
    plugins = [
      {
        name = "powerlevel10k";
        src = pkgs.zsh-powerlevel10k;
        file = "share/zsh-powerlevel10k/powerlevel10k.zsh-theme";
      }
    ];
  };

  home.file.".p10k.zsh" = {
    source = ./resources/.p10k.zsh;
  };
}