{ config, pkgs, ... }:

{
  # Home Manager needs a bit of information about you and the paths it should
  # manage.
  home.username = "freya";
  home.homeDirectory = "/home/freya";
  home.stateVersion = "22.11"; # Please read the comment before changing.

  # This value will set some environment variables to allow home-manager to
  # function better outside of NixOS
  nixpkgs.config.allowUnfree = true;
  targets.genericLinux.enable = true;
  fonts.fontconfig.enable = true;

  # The home.packages option allows you to install Nix packages into your
  # environment.
  home.packages = with pkgs; [
    # Main packages
    yt-dlp
    starship
    discord
    thunderbirdPackages.thunderbird-115
    slack
    cryptomator
    pcem
    cider
    gzdoom
    unityhub
    yuzu-early-access
    sonar-scanner-cli
    #steam

    # Gstreamer
    gst_all_1.gstreamer
    gst_all_1.gst-plugins-base
    gst_all_1.gst-plugins-good
    gst_all_1.gst-plugins-bad
    gst_all_1.gst-plugins-ugly
    gst_all_1.gst-libav
    gst_all_1.gst-vaapi

    # Wine
    wineWowPackages.stable
    winetricks

    # Rust
    rustup
    gcc-unwrapped
    openssl

    # Java
    jdk
    maven
    jetbrains.idea-community

    # Lua
    lua
    lua52Packages.dkjson
    lua52Packages.luaposix
    lua-language-server
  ];

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