{ config, pkgs, ... }:

{
  nixpkgs.config.allowUnfree = true;

  environment.variables.BROWSER = "librewolf";
  environment.variables.SSH_AUTH_SOCK = "/home/atridad/.bitwarden-ssh-agent.sock";

  environment.systemPackages =
    with pkgs; [
      discord
      signal-desktop
      librewolf

      gnumake
      openssh
      nodePackages."pnpm"
      openssl
      killall
      ffmpeg
      zed-editor
      vscodium
      usbutils
      qmk-udev-rules
      qmk
      ghostty
      neofetch
      deepfilternet
      pavucontrol
      texliveFull
      wget
      unzip

      bitwarden-desktop
      vlc
      streamrip
      cider-2
      zotero
      prismlauncher
      lrcget
      impression
      streamcontroller
      onlyoffice-desktopeditors
      protege

      kdePackages.kcalc
      kdePackages.kcolorchooser
      kdePackages.ksystemlog
      kdePackages.sddm-kcm
      kdiff3
      kdePackages.isoimagewriter
      hardinfo2
      vlc
      wayland-utils
      wl-clipboard
    ];

  programs.steam = {
    enable = true;
    remotePlay.openFirewall = true;
    dedicatedServer.openFirewall = true;
    localNetworkGameTransfers.openFirewall = true;
  };

  programs.java.enable = true;
  programs.steam.extraPackages = [ pkgs.jdk ];

  programs.obs-studio.enable = true;
}
