Remix.run Logo
bargainbin 8 hours ago

If you haven’t tried it, I highly recommend Mise. It manages everything at the user level so it’s not as “all encompassing” as Nix and is readily compatible with immutable distros.

https://mise.jdx.dev/

Your solution is akin to putting your dotfiles in the code repo, which is going to cause issues with languages with poor version compatibility (such as node and python) when switching between old projects.

Also, bold of you to assume developers know make and bash just because they’re using Linux!

ManuelKiessling 7 hours ago | parent | next [-]

These days, all dev tooling of my projects lives behind mise tasks, and the runtime for my projects is Docker.

This means that getting a project in shape for development on a new system looks like this:

- clone project

- `mise run setup`

I have zero dev tools on my host, projects are 100% self-contained.

Pure bliss.

See https://github.com/dx-tooling/sitebuilder-webapp for an example.

igor47 8 hours ago | parent | prev | next [-]

I cannot endorse mise more highly. I commit it to my repos to make sure every engineer has the same environment. I use it in CI for consistency there as well. I keep all commands that would normally be documented in a readme as mise tasks. I use mise to load the environment, independent of language specific tools like dotenv. I use a gitignored mise.local to put real creds into the environment for testing.

zelphirkalt 5 hours ago | parent | prev | next [-]

Question about Mise: Does it manage checksums or a lock file per environment somewhere? I scrolled through the getting started page and didn't see anything at first glance.

ricardobeat 5 hours ago | parent | next [-]

Releases are signed, but lockfiles are not commonly used for this purpose. For your home env you'll usually want the latest version of every tool.

When installing tools, or via mise.toml, you can define version ranges with the precision you'd like - "3" / "3.1" / "3.1.2".

figmert 3 hours ago | parent | prev [-]

Mise supports lock files but also validates checksums when possible.

0xbadcafebee 7 hours ago | parent | prev [-]

I use mise, but its conclusion that everybody needs to write an aqua plugin now is annoying. They need to make plugin-making a lot easier.

saint_yossarian 6 hours ago | parent [-]

What conclusion do you mean? Aqua is just one of the many backends it supports.

For example there's also the GitHub backend which lets you install binaries from releases, no plugin needed at all.