Live data from Hacker News

Tools I love: mise(-en-place)

blog.vbang.dk

21–30 of 51 posts

Re: Tools I love: mise(-en-place)

#21
post #20

This is what I have been doing to manage development environments: Workflows now revolve around nix. Setup a shell.nix that defines development environment (whether it’s specific version of rust or python). Then `nix develop` will setup an isolated environment. Do some work on project. Then exit shell. No need to pollute machines environment with 100 versions of python/pip/uv. Add in `direnv` and it will automaticall…

I do something very similar, although I'm still on nix-shell.

It works really well.

Re: Tools I love: mise(-en-place)

#22
post #16
post #2

So if I understand it correctly, it's a mix between GNU Make and `asdf`?

I use it just as a better asdf. I don’t quite see the point of the rest of its functionality, but “asdf without needing to install plugins” is a compelling enough proposition for me.

I'm in the same position at the moment, though I actually do see the point of the rest of the functionality. I just don't use it.

Re: Tools I love: mise(-en-place)

#23
Interesting thank you for sharing. I've been using asdf for years now but I dislike the fact that you have to install plugins. I wish it just did stuff when I called commands.

I'll try out Mise for Elixir, Erlang and NodeJS to see if it works like you describe.

Re: Tools I love: mise(-en-place)

#24
post #20

This is what I have been doing to manage development environments: Workflows now revolve around nix. Setup a shell.nix that defines development environment (whether it’s specific version of rust or python). Then `nix develop` will setup an isolated environment. Do some work on project. Then exit shell. No need to pollute machines environment with 100 versions of python/pip/uv. Add in `direnv` and it will automaticall…

Almost as good as mise then, but using 2 tools, one of which no one likes to learn + insecure plugins

Re: Tools I love: mise(-en-place)

#25
My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day.

Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I use uv. For Node I use npm (or yarn or bun or whatever in fashion now), Java has mice, Rust has rustup.

It is not a one-size-fit-all solution but I am not sure if we can ever achieve that.

Re: Tools I love: mise(-en-place)

#26

My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day. Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I us…

>Rust has rustup.

Do you mean cargo?

Re: Tools I love: mise(-en-place)

#27

My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day. Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I us…

>Rust has rustup. Do you mean cargo?

Rustc is the compiler, rustup is the updater, cargo is the package manager.

Re: Tools I love: mise(-en-place)

#28

My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day. Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I us…

I'd argue nix is the closest to a one-size-fits-all solution if you're using stuff like uv2nix and npm equivalents

Re: Tools I love: mise(-en-place)

#29

My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day. Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I us…

>Rust has rustup. Do you mean cargo?

Cargo's the package manager and build tool, and doesn't really replace mise. Rustup, as the toolchain version manager, is the mise-equivalent for the Rust ecosystem.

Re: Tools I love: mise(-en-place)

#30

My actual usage is a mix-bag. For general tools and utilities, I often just use Nix and Home Manager. It is a pain for setting up but once you got it working, it's basically fire and forget. Whenever you need a new app, you just add that to the `home.nix` and call it a day. Now, for language development environment, I won't use Nix and just prefer to whatever that language popular choice. For instance, in Python I us…

Java has mice? I thought java had maven and Gradle? Is mice a new thing?
Post reply on HN