{ config, lib, pkgs, ... }:

# Launch options: -novid -nojoy -nosteamcontroller -nohltv -particles 1 -precachefontchars -noquicktime -console -windowed -noborder

let cfg = config.sydnix.users.crumb.tf2;
in {
  options.sydnix.users.crumb.tf2 = {
    enable = lib.mkEnableOption "Madeleine's Team Fortress 2 config";
  };

  config = lib.mkIf cfg.enable
    (let
      tf2pkgs = pkgs.callPackage ../../tf2/packages.nix {};
    in {
      tf2 = {
        enable = true;
        packages = with tf2pkgs; [
          mastercomfig.presets.medium-low
          mastercomfig.addons.flat-mouse
          mastercomfig.addons.no-tutorial
          mastercomfig.addons.null-canceling-movement
          improved-crosshairs
          loadouts-script
          huds.deerhud
          (tf2pkgs.mkTf2PackageFromDir ./tf2/my-config)
          (tf2pkgs.mkTf2PackageFromDir ./tf2/quake-hitsounds)
        ];
      };
    });
}
