diff --git a/roles/gaming/programs/retroarch.nix b/roles/gaming/programs/retroarch.nix index f9263cd..60f4bb7 100644 --- a/roles/gaming/programs/retroarch.nix +++ b/roles/gaming/programs/retroarch.nix @@ -51,6 +51,28 @@ "d /%h/.local/share/retroarch/saves" "d /%h/.local/share/retroarch/states" ]; + systemd.user.paths = { + snes-roms = { + Unit.Description = "Monitor SNES rom path for changes"; + Path = { + PathChanged = "/%h/Games/SNES"; + Unit = "update-retroarch-library.service"; + }; + Install.WantedBy = ["default.target"]; + }; + }; + systemd.user.services.update-retroarch-library = { + Service = { + Type = "oneshot"; + ExecStart = pkgs.writeShellScript "scan-snes-games" '' + ${pkgs.libnotify}/bin/notify-send -a RetroArch \ + -i retroarch \ + "SNES games changed!" \ + "Scanning $TRIGGER_PATH..." + ${pkgs.retroarch}/bin/retroarch --scan "/home/toast/Games/SNES" + ''; + }; + }; }; # Sync saves and some other stuff