# Using Nix for building deltachat-desktop

**URL:** <https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644>\
**Category:** Feature Proposal\
**Created:** [July 14, 2023, 9:33am UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644 "2023-07-14T09:33:30Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![pjvleeuwen](https://forum.delta.chat/user_avatar/forum.delta.chat/pjvleeuwen/32/1869_2.png) [@pjvleeuwen](https://forum.delta.chat/u/pjvleeuwen)\
**Post date:** [July 14, 2023, 9:33am UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644/1 "2023-07-14T09:33:30Z")

</div>

Just posting an idea to see if it has merit. As a n00b I was able to build deltachat-android on my WSL2 Ubuntu installation thanks to the Nix / Flake configuration provided with deltachat-android. When I tried to build deltachat-desktop I did not find a Nix configuration.

Is this build process different by design? Does Nix have some characteristic that does not make it desirable for building the desktop client?

To me it seems that it allows for easier building of people not having the development tools configured themselves, so for me it would be useful to have a Nix configuration for deltachat-desktop as well. Sadly I am on the wrong end of the Nix / Flake learning curve to attempt to provide this myself, especially not knowing whether it is a good idea to have this. What do you think?

---

<div class="post-metadata">

**Author:** ![pjvleeuwen](https://forum.delta.chat/user_avatar/forum.delta.chat/pjvleeuwen/32/1869_2.png) [@pjvleeuwen](https://forum.delta.chat/u/pjvleeuwen)\
**Post date:** [July 14, 2023, 9:36am UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644/2 "2023-07-14T09:36:02Z")

</div>

@link2xt It seems you know quite a bit about Flake / Nix. What do you think? Is this worthwhile to have?

---

<div class="post-metadata">

**Author:** ![pjvleeuwen](https://forum.delta.chat/user_avatar/forum.delta.chat/pjvleeuwen/32/1869_2.png) [@pjvleeuwen](https://forum.delta.chat/u/pjvleeuwen)\
**Post date:** [July 14, 2023, 9:39am UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644/3 "2023-07-14T09:39:00Z")

</div>

It seems that if we choose to allow for this Flake / Nix approach we might also want to include the rust core in the desktop repo with gitmodules.

---

<div class="post-metadata">

**Author:** ![link2xt](https://forum.delta.chat/user_avatar/forum.delta.chat/link2xt/32/1971_2.png) [@link2xt](https://forum.delta.chat/u/link2xt)\
**Post date:** [July 14, 2023, 11:45am UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644/4 "2023-07-14T11:45:21Z")

</div>

@dotlambda packaged Deltachat Desktop into upstream nixpkgs already: [nixpkgs/pkgs/applications/networking/instant-messengers/deltachat-desktop at master · NixOS/nixpkgs · GitHub](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/networking/instant-messengers/deltachat-desktop)

As for providing a Nix flake for the [GitHub - deltachat/deltachat-desktop: Email-based instant messaging for Desktop.](https://github.com/deltachat/deltachat-desktop/) repository so someone can build the latest development version easily, it is welcome if someone wants to do it. I don’t actually know Nix well enough to write meaningful package, Android flake is mostly an example copy-paste and I am not even sure why I made it a flake rather than just a `default.nix` or `shell.nix`.

> [@pjvleeuwen](#):
>
> It seems that if we choose to allow for this Flake / Nix approach we might also want to include the rust core in the desktop repo with gitmodules.

No need, Nix flakes are able to use other repositories as dependencies.

---

<div class="post-metadata">

**Author:** ![pjvleeuwen](https://forum.delta.chat/user_avatar/forum.delta.chat/pjvleeuwen/32/1869_2.png) [@pjvleeuwen](https://forum.delta.chat/u/pjvleeuwen)\
**Post date:** [July 14, 2023, 6:01pm UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644/5 "2023-07-14T18:01:32Z")

</div>

Thanks for the clarifications. I don’t even know this Nix / Flake well enough to understand the difference between with or without Flake. Might be worthwhile techniques for me to look into some day.

For now I will skip it and focus on [Allow customising name of DeltaChat folder - #9 by Simon](https://support.delta.chat/t/allow-customising-name-of-deltachat-folder/991/9) . I will definitely not be able to implement any user interface changes, but I can try to build 2 versions of the Android app (thanks to this easy Flake / Nix environment 😉 ) to have hard-coded folder names for me and my wife, such we can test the use case of single mailbox multiple users, at least on Android.

---

<div class="post-metadata">

**Author:** ![r10s](https://forum.delta.chat/user_avatar/forum.delta.chat/r10s/32/1513_2.png) [@r10s](https://forum.delta.chat/u/r10s)\
**Post date:** [October 6, 2026, 3:11pm UTC](https://forum.delta.chat/t/using-nix-for-building-deltachat-desktop/2644/6 "2026-10-06T15:11:23Z")

</div>


