# Nix + pnpm + Parcel + lydell/elm-safe-virtual-dom

**URL:** <https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535>\
**Category:** Show and Tell\
**Created:** [January 29, 2026, 1:14pm UTC](https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535 "2026-01-29T13:14:55Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![dwayne](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dwayne/32/5478_2.png) [@dwayne](https://discourse.elm-lang.org/u/dwayne)\
**Post date:** [January 29, 2026, 1:14pm UTC](https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535/1 "2026-01-29T13:14:55Z")

</div>

In this [post](https://dev.to/dwayne/nix-pnpm-parcel-lydellelm-safe-virtual-dom-2lp6), I describe the improvements I made to `kvothe/elm-countries-quiz` to integrate it with Nix + pnpm + Parcel + `lydell/elm-safe-virtual-dom`.

---

<div class="post-metadata">

**Author:** ![edkelly303](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/edkelly303/32/1510_2.png) [@edkelly303](https://discourse.elm-lang.org/u/edkelly303)\
**Post date:** [January 29, 2026, 3:34pm UTC](https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535/2 "2026-01-29T15:34:14Z")

</div>

Great post - this feels super relevant to me, as just this morning I added a bunch of `shellHook` stuff to the `nix develop` shell in my current project. On that topic, why is it the case that “_for almost every purpose, shell functions are preferable to aliases_”? I’ve been using aliases, but maybe I should switch!

---

<div class="post-metadata">

**Author:** ![dwayne](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/dwayne/32/5478_2.png) [@dwayne](https://discourse.elm-lang.org/u/dwayne)\
**Post date:** [January 29, 2026, 4:02pm UTC](https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535/3 "2026-01-29T16:02:46Z")

</div>

Thanks!

> why is it the case that “_for almost every purpose, shell functions are preferable to aliases_”?

First off [the Bash manual on aliases](https://www.gnu.org/software/bash/manual/html_node/Aliases.html) says so at the very end. So there’s that. But to be more concrete here are a few reasons why:

- Aliases are dumb text replacement
- Functions handle arguments properly
- Functions have scope and variables
- Functions support control flow
- Functions can compose and call other functions
- Functions can be debugged
- Functions work in scripts and non-interactive shells in a consistent way

Aliases are fine when you need short, mnemonic abbreviations to one-liners with zero arguments at an interactive prompt. If you ever think “I wish this alias could…” then it should be a function instead.

---

<div class="post-metadata">

**Author:** ![kvothe](https://yyz1.discourse-cdn.com/flex035/user_avatar/discourse.elm-lang.org/kvothe/32/4406_2.png) [@kvothe](https://discourse.elm-lang.org/u/kvothe)\
**Post date:** [January 29, 2026, 5:05pm UTC](https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535/4 "2026-01-29T17:05:57Z")

</div>

Thanks so much for your contribution! 🙌🏻

---

<div class="post-metadata">

**Author:** ![system](https://canada1.discourse-cdn.com/flex035/uploads/elm_lang/original/1X/50a05e53677a2c3b47776d7abd0f113eb50193a1.png) [@system](https://discourse.elm-lang.org/u/system)\
**Post date:** [February 8, 2026, 5:06pm UTC](https://discourse.elm-lang.org/t/nix-pnpm-parcel-lydell-elm-safe-virtual-dom/10535/5 "2026-02-08T17:06:54Z")

</div>

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.
