← Back to context

Comment by tetris11

1 month ago

I love Guile over Nix syntax, but the one killer feature Nix has that Guix doesn’t is making a single static binary of common programs and then deploying them elsewhere.

In Nix, this is a single flag. In Guix, you either deploy with all libraries on a custom /guix path, or nothing.

How do you do it in nix?

  • Sounds like nix-bundle, but that's not a standard feature.

    •     nix build nixpkgs#pkgsStatic.emacs
      

      So, it's not so much a static build from a flag, as it is a large corpus of statically defined recipes independent from the other packages that you can build from

Is `guix pack` not sufficient for this?

https://guix.gnu.org/manual/1.5.0/en/html_node/Invoking-guix...

  • No, it produces a tree of libraries that you have to untar on the host machine. If you dont have root, then unpacking to /gnu/store is impossible

    • I checked and it looks like the root-required issue has been addressed with a --relocatable flag, and there are a few options as well for needing to untar, e.g. producing an appimage format output.

      1 reply →