{ pkgs, inputs, ... }:

let
  neovim-package = inputs.neovim-overlay.packages.${pkgs.system}.default;
in
{
  imports = [
    ../../home/modules
  ];

  snowhawk.neovim = {
    enable = true;
    package = neovim-package;
  };
  snowhawk = {
    alacritty.enable = true;
    theme.enable = true;
    projects.enable = true;
    lazygit.enable = true;
    dunst.enable = true;
    sops.enable = true;
    defaultPrograms.enable = true;
    playerctl.enable = true;
    redshift.enable = true;
    xivlauncher.enable = true;
  };
  snowhawk.ssh = {
    enable = true;
    homeNetwork = true;
  };

  xsession.numlock.enable = true;

  services.unclutter.enable = true;


  # services.easyeffects.enable = true;

  programs.chromium = {
    enable = true;
    package = pkgs.google-chrome;
  };

  home.packages = with pkgs; [
    nix-output-monitor
    (writeShellScriptBin "rebuild" ''
      nixos-rebuild switch --log-format internal-json -v |& nom --json
    '')

    (writeShellScriptBin "suspend" ''
      systemctl suspend
    '')

    feh
    imagemagick
    uhk-agent
    pulsemixer

    obsidian
    steam

    flameshot

    # Build Tools
    rustup
    gnumake
    zig
    gcc
    go
    python3
    nodejs_22
    # dotnet-sdk_8

    pcmanfm
  ];

  home.file = { };

  # wayland.windowManager.hyprland = {
  #   enable = true;
  #   package = pkgs.hyprland;
  #   xwayland.enable = true;
  #   systemd.enable = true;
  # };

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