{ config, pkgs, lib, ... }:
with lib.hm.gvariant;
{
  imports = [
    ../modules/home-manager/browser.nix
    ../modules/home-manager/code.nix
    ../modules/home-manager/fish.nix
    ../modules/home-manager/flatpaks.nix
    ../modules/home-manager/hyprland-customization.nix
    ../modules/home-manager/keepassxc.nix
    ../modules/home-manager/obsidian.nix
    ../modules/home-manager/owncloud-client.nix
    ../modules/home-manager/thunderbird.nix
    ../modules/home-manager/xdg-portals.nix
  ];

  ## Home Manager configuration
  home.stateVersion = "24.05";
  # Let Home Manager install and manage itself.
  programs.home-manager.enable = true;

  ## Basic configuration
  home.username = "remy";
  home.homeDirectory = "/home/remy";

  #home.file.<filepath> = <content>;
  
  ## Utils relevant to this user only
  programs.git = {
    enable = true;
    userName = "Remy Moll";
    userEmail = "me@moll.re";
  };
  

  # ## Gnome keyboard and mouse settings
  # dconf.settings = {
  #   # set the keyboard layout to german
  #   "org/gnome/desktop/input-sources" = {
  #     current = mkUint32 0;
  #     sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ];
  #     xkb-options = [ "lv3:ralt_switch" ];
  #   };

  #   "org/gnome/desktop/peripherals/keyboard" = {
  #     numlock-state = true;
  #   };

  #   "org/gnome/desktop/peripherals/mouse" = {
  #     natural-scroll = false;
  #     speed = 0.20851063829787231;
  #   };

  #   "org/gnome/desktop/peripherals/touchpad" = {
  #     tap-to-click = true;
  #     two-finger-scrolling-enabled = true;
  #     speed = 0.16872427983539096;
  #   };
  # };
}