{ pkgs, lib, ... }:

{
  imports = [
    # Modules
    ../../modules/home/default.nix
  ];

  options = {
    host = lib.mkOption {
      type = with lib.types; str;
      description = ''
        Define the host of the machine
      '';
    };

    headless = lib.mkOption {
      type = with lib.types; bool;
      description = ''
        Is this machine headless?
      '';
    };
  };

  config = {
    home = {
      username = "xeovalyte";
      homeDirectory = "/home/xeovalyte";
    };

    host = "xv-surface";
    headless = false;

    settings = {
      applications.common.enable = true;
      applications.alacritty.enable = false;
      applications.devenv.enable = false;
      applications.firefox.enable = true;
      applications.git.enable = true;
      applications.helix.enable = true;
      applications.zsh.enable = true;
      applications.ssh.enable = false;
      applications.thunderbird.enable = false;
      applications.yazi.enable = true;
      applications.zellij.enable = false;

      services.nextcloud-sync.enable = true;

      theming.fonts.enable = true;
      theming.nix-colors.enable = false;
      theming.stylix.enable = true;

      desktop-environments.hyprland.enable = false;
    };

    home.packages = with pkgs; [
      # Desktop Applications
      unstable.rnote

      # Office
      libreoffice
    ];

    # Enable home-manager
    programs.home-manager.enable = true;

    home.stateVersion = "24.05";
  };

}
