Live data from Hacker News

Tools I love: mise(-en-place)

blog.vbang.dk

31–40 of 51 posts

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

#31

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.

> but I dislike the fact that you have to install plugins. I wish it just did stuff when I called commands.

I used asdf for many years but this really annoyed me, too (along with a few other things). So I recently made the switch to mise and haven't looked back.

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

#32

Executables need to be more stable. I shouldn't have to manage versions this way at all. i.e., I should never need to downgrade a program. I think the Python 2 -> 3 fiasco broke everyone's brains.

Wouldn't that be nice. Unfortunately people are naughty, so precisely pinned dependency versions are the next best thing.

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

#33
post #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?

My dang autocorrect, it is mise.

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

#34

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

yes, but I now have to deal with all the oddities by combining them.

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

#35
I manage a monorepo at my workplace. Different devs with various levels of seniority are on/off boarded on the project, some on mac some on linux.

At first I offered mise as the recommended tool, and after a while I declared it's the only supported way to build the project and boom! All support requests that used to end with "oooh my XYZ's version was not matching the project's requirement" are gone now.

I like asdf but it has quirks. Mise has been a better companion for me past few years.

I also hear people say "but my node/ruby/elixir/java/foo version manager will break. My team uses that tool in our other projects, etc, etc" then I only have to show them what an amazing drop-in replacement mise is and nothing breaks; there's no going back for them.

I just hope muse stays mise, and doesn't become just[1] (whom I also install via mise)

[1]: https://github.com/casey/just

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

#37

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 love Nix flakes, but for some languages it is still very painful to use.

For example, Julia has an unusual package management system and lots of packages still fail under flakes.

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

#38
post #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?

Java also has SDKMAN!, jabba and the "alternatives" mechanism in Linux distros:

- https://sdkman.io/

- https://github.com/shyiko/jabba

- https://www.man7.org/linux/man-pages/man1/update-alternative...

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

#39
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

We replaced asdf in our dependency management for local development with devbox (from jetify), it gave us the sweet spot between isolated shells (no nix scripting) and easy configuration (dependencies go to devbox.json)

With asdf we ran into many troubles with broken dependencies due to wrongly installed system (brew), etc. I fear with miso we could end up in the same place.

As a sidenote, I am starting to use Taskfile to manage build scripts and such. Then I can easily reuse the scripts when I change the environment (i.e. use vendor containers in CI instead of devbox).

I am trying to avoid mixing both concepts for better flexibility and less migration overhead.

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

#40
can anyone comment on what their experience of using mise is vs. other tools a a la nix home-manager/flakes?

I see this "one tool to rule them all" and instantly my senses go off that this is too good to be true to work in all the long-tail scenarios.

There always seems to be some strange edge-cases with tools of this nature.

Post reply on HN