{
  config,
  pkgs,
  ...
}: rec {
  imports = [
    ../modules/home/borg.nix
    ../modules/home/doom
    ../modules/home/dunst
    ../modules/home/firefox.nix
    ../modules/home/hyprland
    ../modules/home/kitty
    ../modules/home/ranger
    ../modules/home/ssh.nix
    ../modules/home/themes/gtk
    ../modules/home/themes/qt
    ../modules/home/waybar
    ../modules/home/wlogout
    ../modules/home/wofi
    ../modules/home/yubikey.nix
    ../modules/home/zsh
  ];

  # Home Manager needs a bit of information about you and the paths it should
  # manage.
  home.username = "jonas";
  home.homeDirectory = "/home/jonas";

  sops = {
    age.keyFile = "${home.homeDirectory}/.config/sops/age/keys.txt";
  };

  xdg.mimeApps = {
    enable = true;

    defaultApplications = {
      "text/html" = "firefox.desktop";
      "x-scheme-handler/http" = "firefox.desktop";
      "x-scheme-handler/https" = "firefox.desktop";
      "x-scheme-handler/about" = "firefox.desktop";
      "x-scheme-handler/unknown" = "firefox.desktop";
    };
  };
  xdg.userDirs.enable = true;
  xdg.userDirs.createDirectories = true;
  xdg.userDirs.extraConfig = {
    XDG_WORKSPACES_DIR = "${config.home.homeDirectory}/Workspaces";
    XDG_NEXTCLOUD_DIR = "${config.home.homeDirectory}/Nextcloud";
    XDG_NOTES_DIR = "${config.home.homeDirectory}/Notes";
  };

  # This value determines the Home Manager release that your configuration is
  # compatible with. This helps avoid breakage when a new Home Manager release
  # introduces backwards incompatible changes.
  #
  # You should not change this value, even if you update Home Manager. If you do
  # want to update the value, then make sure to first check the Home Manager
  # release notes.
  home.stateVersion = "24.05"; # Please read the comment before changing.

  # The home.packages option allows you to install Nix packages into your
  # environment.
  home.packages = with pkgs; [
  ];

  home.sessionVariables = {
    EDITOR = "vim";
  };

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

  # Git
  programs.git = {
    enable = true;
    userName = "Jonas Röger";
    userEmail = "jonas.roeger@tu-dortmund.de";
    difftastic.enable = true;
    signing = {
      signByDefault = true;
      key = "4000EB35E1AE0F07";
    };
  };
}
