Scoop Bucket for Roblox Development Tools and Utilities

Hello there!

If you’ve attended (or watched) @Kampfkarren’s talk at RDC (if you did not, you can watch it here) about how using external tools can boost your and your team’s productivity, save you from some serious headaches (Studio crashing, anyone?), and in general benefit from more generic coding tools…

There’s more from where this came. In fact, there’s a whole plethora of tools that are provided by the Roblox community, for the Roblox community - from full-fledged development utilities and compilers to some nice-to-have stuff to enhance your Roblox experience overall. You probably came to some of those tools in this exact category.

The problem(s)

  • Fragmentation: These community-developed projects are scattered around the entirety of this section and of GitHub, which makes them somewhat harder to find.

  • Installation Methods: Each project is inherently different, and this will usually mean different installation methods: Some are just drop-in (download and execute the .exe file), others require you to install other runtimes and set up dependencies, and for others you’ll even have to compile it all. (Sigh…)

    • If you’re interested in more than one of these tools, then you’re going to have to follow each one of them, and it can be exhausting in the long term.
    • Example: @Quenty has made a post on his Rojo configuration (thread here). It’s awesome, but it’s too cumbersome - you shouldn’t have to manually configure your PATH!

The solution - Install via Scoop

If you ever used Linux what I am about to describe will be familiar to you - Scoop is a command line installer for Windows. (Yeah… Sorry, macOS people, but I don’t know how to handle homebrew yet)

On a more broad sense, though, it’s somewhat (but not exactly) equivalent to the package manager you guys know - apt for Ubuntu/Debian, dnf for Fedora, pacman for Arch, etc.

Yep, just type in scoop install <app> and you’ll be ready in no time!

:warning: Scoop Requires Windows PowerShell 5 or later, and .NET Framework 4.5 or later. This is not an issue for Windows 10 users, but if you’re using an earlier version (Especially Windows 7), you should upgrade your PowerShell and .NET Framework.

Install Scoop and this bucket

Buckets are like package repositories (PPA’s for apt, Copr for dnf, AUR for pacman, etc.). Scoop is shipped by default with the Main bucket, and a list of “known buckets” that most people might want to use, but others can be added.

Let’s then take Quenty’s configuration and replicate it on Scoop.
Open your Powershell and type the following:
See https://scoop.sh for more information on installation.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
iex (new-object net.webclient).downloadstring('https://get.scoop.sh') # Install Scoop

scoop install git # This is in the main bucket, and we need it to fetch other buckets aswell.
scoop bucket add extras # This is optional, but it allows us to use most of the GUI tools a dev uses. Even Discord.
scoop bucket add rbxdev 'https://github.com/ddavness/scoop-robloxdev.git'

scoop install rojo sublime-text # Install rojo and sublime, all in one shot!

You can go even further and install as many tools as you deem needed, like:

scoop install rojo rbxlx-to-rojo vscode-portable discord steam rbxfpsunlocker nodejs lua-for-windows
# Installs Rojo, Rbxlx-to-Rojo, Visual Studio Code, Discord, Steam, Roblox FPS Unlocker, Node.JS and a version of Lua for Windows.

The absolute best part of this is that you’ll get a whopping zero UAC prompts! Scoop installs for your user directory, so you need no administrator privileges.

So what are you waiting for to make your life much easier?

Other information you might want to check out.

Applications Available

This is a rather new project, so for a demo I picked 6 applications and incorporated them into the bucket:

Application Description Repository
alpha-utils Helps fixing black edges on .png images before uploading to Roblox. urraka/alpha-bleeding (source); ddavness/alpha-utils (Windows binaries)
rojo Allows for code to be synchronized between Roblox Studio and an external filesystem (For example, a Git repo) - installs pre-release version (0.5.x) rojo-rbx/rojo
rojo04 Installs Rojo 0.4.13 rojo-rbx/rojo
spacescape-roblox-converter Prepares skyboxes made with spacescape and exported with Unity settings to be uploaded for Roblox. ddavness/spacescape-roblox-converter
rbxlx-to-rojo Quickly converts your Roblox place into a Rojo filesystem. rojo-rbx/rbxlx-to-rojo
rbxfpsunlocker Removes the Roblox’s framerate cap - useful for high refresh rate monitors. axstin/rbxfpsunlocker
Contributing

This bucket is hosted on GitHub:
https://github.com/ddavness/scoop-RobloxDev
You are free to suggest applications to the repository!

Create an issue on apps you’d like to add:

  • Things you need to keep in mind (this is not strict, but recommended):

    • The application must to be able to run on Windows, ideally without any dependencies (doesn’t mean it mustn’t have any - alpha-utils needs a Visual C++ Runtime);
    • The application should be made by the Roblox community for the Roblox community;
    • The application is portable - just unpack some stuff and run the .exe file. No pesky installers or of the like.
    • You should tell whether the program works for both 32bit and 64bit Windows versions, and if so, whether there are separate versions for each architecture.

You can also add a PR to add your own manifest!

  • Please read this article about app manifests in Scoop before starting.
18 Likes

I know u said

but Why not use chocolatey ?

I think the community can create chocolatey packages (for Windows) for the programs we use, just the way you are doing with Scoop. Though your package manger is tailored to roblox devs, I think using more generic and well-established package managers (like homebrew on Mac) are a better choice to handle distribution and installation of sofware. If we need to filter roblox related packages, the community can name those packages with “rbx-…” or something like that.

  • In my opinion, it’s just much easier (to me) to maintain a single file than having to create infrastructure to package them and upload;
  • If I recall correctly, Chocolatey packages and updates need to be triaged/approved before going live, and so there will always be a noticeable period of time between someone releasing a new version and said version being available on the Chocolatey repositories;
    • The scoop bucket has an auto-updater that runs every 30 minutes, so at most we’ll wait 30 minutes until we can get the latest version.

(Plus I’m sorta biased as I never actually worked with Chocolatey as a daily driver)

The scoop’s repository on GitHub has got 10.9k stars, and it is a generic package manager (it contains stuff like Python, Lua, Node, Git, VSCode, Vim, etc. in their official buckets), and you can infer it’s well-established, too.

This said, I guess nothing is stopping anyone for doing the same that I did, but for Chocolatey or even to the in-development Microsoft Winget.

1 Like