{
  pkgs,
  lib,
  inputs,
  config,
  ...
}: let
  program = "slippi";
  cfg = config.dots.${program};
  home_dir = config.home.homeDirectory;
in {
  options.dots.${program} = {
    enable = lib.mkEnableOption "enables ${program}";
  };

  imports = [
    inputs.slippi.homeManagerModules.default
  ];

  config = lib.mkIf cfg.enable {

    # enable with home-manager
    # this is very nice thanks to: https://github.com/lytedev/slippi-nix
    # that link is where the options can be found
    slippi-launcher = {
      enable = true;
      isoPath = "${home_dir}/documents/melee/isos/Super Smash Bros. Melee (USA) (En,Ja) (v1.02).iso";
      launchMeleeOnPlay = false;
      useMonthlySubfolders = true; # for replays
      # in the event this is out of date, versions can be specificed here
      #netplayVersion = "2.11.10";
      #netplayHash = "sha256-d1iawMsMwFElUqFmwWAD9rNsDdQr2LKscU8xuJPvxYg=";
      #playbackVersion = "2.11.10";
      #playbackHash = "sha256-d1iawMsMwFElUqFmwWAD9rNsDdQr2LKscU8xuJPvxYg=";
    };

  };
}
