home.social

#cppnix — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #cppnix, aggregated by home.social.

  1. fun fact: unflake tests pass (on my laptop) in ~18 seconds when using #CppNix / upstream #Nix, but in just ~15 seconds when using #Lix

    this unscientific benchmark shows a ~17% reduction in runtime, which is pretty cool

  2. fun fact: unflake tests pass (on my laptop) in ~18 seconds when using #CppNix / upstream #Nix, but in just ~15 seconds when using #Lix

    this unscientific benchmark shows a ~17% reduction in runtime, which is pretty cool

  3. fun fact: unflake tests pass (on my laptop) in ~18 seconds when using #CppNix / upstream #Nix, but in just ~15 seconds when using #Lix

    this unscientific benchmark shows a ~17% reduction in runtime, which is pretty cool

  4. fun fact: unflake tests pass (on my laptop) in ~18 seconds when using #CppNix / upstream #Nix, but in just ~15 seconds when using #Lix

    this unscientific benchmark shows a ~17% reduction in runtime, which is pretty cool

  5. fun fact: unflake tests pass (on my laptop) in ~18 seconds when using #CppNix / upstream #Nix, but in just ~15 seconds when using #Lix

    this unscientific benchmark shows a ~17% reduction in runtime, which is pretty cool

  6. Oh wow and C++ #nix (now?) apparently doesn't mind :gitannex: #gitAnnex anymore. #lix for example refuses to do anything if the flake.lock is behind a smudge filter and your worktree is clean. You have to *manually* dirtyfy the worktree to be able to work with lix. Multiple good arguments to stay on #cppnix for me.

  7. Oh wow and C++ (now?) apparently doesn't mind :gitannex: anymore. for example refuses to do anything if the flake.lock is behind a smudge filter and your worktree is clean. You have to *manually* dirtyfy the worktree to be able to work with lix. Multiple good arguments to stay on for me.

  8. Oh wow and C++ #nix (now?) apparently doesn't mind :gitannex: #gitAnnex anymore. #lix for example refuses to do anything if the flake.lock is behind a smudge filter and your worktree is clean. You have to *manually* dirtyfy the worktree to be able to work with lix. Multiple good arguments to stay on #cppnix for me.

  9. Oh wow and C++ #nix (now?) apparently doesn't mind :gitannex: #gitAnnex anymore. #lix for example refuses to do anything if the flake.lock is behind a smudge filter and your worktree is clean. You have to *manually* dirtyfy the worktree to be able to work with lix. Multiple good arguments to stay on #cppnix for me.

  10. Oh wow and C++ #nix (now?) apparently doesn't mind :gitannex: #gitAnnex anymore. #lix for example refuses to do anything if the flake.lock is behind a smudge filter and your worktree is clean. You have to *manually* dirtyfy the worktree to be able to work with lix. Multiple good arguments to stay on #cppnix for me.

  11. Had to switch back to base C++ #nix from #lix to package :hledger: #hledger's prebuilt release version, because lix still has an annoying builitins.fetchTarball bug¹ that prevents using tarballs that just contain a bunch of files without an extra single directory at the top level. (As you know, tarballs only EVER contain a top-level directory and never just a bunch of files, right?). In #cppnix it's already fixed.

    ¹git.lix.systems/lix-project/li
    ²github.com/NixOS/nix/pull/1119
    ³gitlab.com/nobodyinperson/nixc

  12. Had to switch back to base C++ from to package :hledger: 's prebuilt release version, because lix still has an annoying builitins.fetchTarball bug¹ that prevents using tarballs that just contain a bunch of files without an extra single directory at the top level. (As you know, tarballs only EVER contain a top-level directory and never just a bunch of files, right?). In it's already fixed.

    ¹git.lix.systems/lix-project/li
    ²github.com/NixOS/nix/pull/11195
    ³gitlab.com/nobodyinperson/nixc

  13. Had to switch back to base C++ #nix from #lix to package :hledger: #hledger's prebuilt release version, because lix still has an annoying builitins.fetchTarball bug¹ that prevents using tarballs that just contain a bunch of files without an extra single directory at the top level. (As you know, tarballs only EVER contain a top-level directory and never just a bunch of files, right?). In #cppnix it's already fixed.

    ¹git.lix.systems/lix-project/li
    ²github.com/NixOS/nix/pull/1119
    ³gitlab.com/nobodyinperson/nixc

  14. Had to switch back to base C++ #nix from #lix to package :hledger: #hledger's prebuilt release version, because lix still has an annoying builitins.fetchTarball bug¹ that prevents using tarballs that just contain a bunch of files without an extra single directory at the top level. (As you know, tarballs only EVER contain a top-level directory and never just a bunch of files, right?). In #cppnix it's already fixed.

    ¹git.lix.systems/lix-project/li
    ²github.com/NixOS/nix/pull/1119
    ³gitlab.com/nobodyinperson/nixc

  15. Had to switch back to base C++ #nix from #lix to package :hledger: #hledger's prebuilt release version, because lix still has an annoying builitins.fetchTarball bug¹ that prevents using tarballs that just contain a bunch of files without an extra single directory at the top level. (As you know, tarballs only EVER contain a top-level directory and never just a bunch of files, right?). In #cppnix it's already fixed.

    ¹git.lix.systems/lix-project/li
    ²github.com/NixOS/nix/pull/1119
    ³gitlab.com/nobodyinperson/nixc

  16. @skyr Da bist du in der heiligen Dreieinigkeit¹ des Nixiversums (hachyderm.io/@leftpaddotpy/111) falsch² abgebogen:

    #NixPkgs ist nicht #NixOS.
    #NixOS ist nicht die #NixDSL a.k.a. #NixLang.
    Die #NixDSL ist nicht #NixPkgs.
    (Und jeweils auch nicht umgekehrt)
    Aber alle drei¹ sind #Nix.


    ¹Den #NixPaketmanager/#NixInterpreter (#CppNix) gibts auch noch. «Viereinigkeit»? Mannigfaltigkeit?
    ²Wie so manche «falsche» Abzweigung kann auch das (über Umwege) zum Ziel führen. Und man lernt die Gegend besser kennen!

  17. @skyr Da bist du in der heiligen Dreieinigkeit¹ des Nixiversums (hachyderm.io/@leftpaddotpy/111) falsch² abgebogen:

    #NixPkgs ist nicht #NixOS.
    #NixOS ist nicht die #NixDSL a.k.a. #NixLang.
    Die #NixDSL ist nicht #NixPkgs.
    (Und jeweils auch nicht umgekehrt)
    Aber alle drei¹ sind #Nix.


    ¹Den #NixPaketmanager/#NixInterpreter (#CppNix) gibts auch noch. «Viereinigkeit»? Mannigfaltigkeit?
    ²Wie so manche «falsche» Abzweigung kann auch das (über Umwege) zum Ziel führen. Und man lernt die Gegend besser kennen!

  18. @skyr Da bist du in der heiligen Dreieinigkeit¹ des Nixiversums (hachyderm.io/@leftpaddotpy/111) falsch² abgebogen:

    #NixPkgs ist nicht #NixOS.
    #NixOS ist nicht die #NixDSL a.k.a. #NixLang.
    Die #NixDSL ist nicht #NixPkgs.
    (Und jeweils auch nicht umgekehrt)
    Aber alle drei¹ sind #Nix.


    ¹Den #NixPaketmanager/#NixInterpreter (#CppNix) gibts auch noch. «Viereinigkeit»? Mannigfaltigkeit?
    ²Wie so manche «falsche» Abzweigung kann auch das (über Umwege) zum Ziel führen. Und man lernt die Gegend besser kennen!

  19. @skyr Da bist du in der heiligen Dreieinigkeit¹ des Nixiversums (hachyderm.io/@leftpaddotpy/111) falsch² abgebogen:

    #NixPkgs ist nicht #NixOS.
    #NixOS ist nicht die #NixDSL a.k.a. #NixLang.
    Die #NixDSL ist nicht #NixPkgs.
    (Und jeweils auch nicht umgekehrt)
    Aber alle drei¹ sind #Nix.


    ¹Den #NixPaketmanager/#NixInterpreter (#CppNix) gibts auch noch. «Viereinigkeit»? Mannigfaltigkeit?
    ²Wie so manche «falsche» Abzweigung kann auch das (über Umwege) zum Ziel führen. Und man lernt die Gegend besser kennen!

  20. @skyr Da bist du in der heiligen Dreieinigkeit¹ des Nixiversums (hachyderm.io/@leftpaddotpy/111) falsch² abgebogen:

    #NixPkgs ist nicht #NixOS.
    #NixOS ist nicht die #NixDSL a.k.a. #NixLang.
    Die #NixDSL ist nicht #NixPkgs.
    (Und jeweils auch nicht umgekehrt)
    Aber alle drei¹ sind #Nix.


    ¹Den #NixPaketmanager/#NixInterpreter (#CppNix) gibts auch noch. «Viereinigkeit»? Mannigfaltigkeit?
    ²Wie so manche «falsche» Abzweigung kann auch das (über Umwege) zum Ziel führen. Und man lernt die Gegend besser kennen!

  21. I'm still working on #Nix parsing. It's a nastier language than I realized; there are a couple strange constructions I've never seen before. Here's my favorite parser quirk of the day; in #CppNix, try:

    > let x = 1; in let { inherit x; }

    What do you think will happen? Why?

  22. I'm still working on #Nix parsing. It's a nastier language than I realized; there are a couple strange constructions I've never seen before. Here's my favorite parser quirk of the day; in #CppNix, try:

    > let x = 1; in let { inherit x; }

    What do you think will happen? Why?

  23. I'm still working on #Nix parsing. It's a nastier language than I realized; there are a couple strange constructions I've never seen before. Here's my favorite parser quirk of the day; in #CppNix, try:

    > let x = 1; in let { inherit x; }

    What do you think will happen? Why?

  24. I'm still working on #Nix parsing. It's a nastier language than I realized; there are a couple strange constructions I've never seen before. Here's my favorite parser quirk of the day; in #CppNix, try:

    > let x = 1; in let { inherit x; }

    What do you think will happen? Why?

  25. I'm still working on #Nix parsing. It's a nastier language than I realized; there are a couple strange constructions I've never seen before. Here's my favorite parser quirk of the day; in #CppNix, try:

    > let x = 1; in let { inherit x; }

    What do you think will happen? Why?

  26. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  27. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  28. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  29. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  30. I finally think I've figured out a basic #Nix heap using the #Haskell/#GHC technique of flagging every heap object to detect infinite loops. Cache invalidation really is hard... Fortunately, Nix is pure, so I don't have to invalidate any heap objects directly. #RPython makes it easy to hack, although it's still a bit of a slog to debug segfaults.

    I think I might have to actually look at #CppNix now, or at least reread Eelco's thesis. I need to understand the differences between evaluation and instantiation.

  31. @jakehamilton #nixpkgs is also the part with need forking the least as Eelco didn't contribute much to it anyways. The problems were all in #cppnix so the community should focus on forking it

  32. @jakehamilton #nixpkgs is also the part with need forking the least as Eelco didn't contribute much to it anyways. The problems were all in #cppnix so the community should focus on forking it

  33. @jakehamilton is also the part with need forking the least as Eelco didn't contribute much to it anyways. The problems were all in so the community should focus on forking it

  34. @jakehamilton #nixpkgs is also the part with need forking the least as Eelco didn't contribute much to it anyways. The problems were all in #cppnix so the community should focus on forking it

  35. @jakehamilton #nixpkgs is also the part with need forking the least as Eelco didn't contribute much to it anyways. The problems were all in #cppnix so the community should focus on forking it