Spore

@Spore@lemmy.ml

This profile is from a federated server and may be incomplete. Browse more on the original instance.

Spore,

Nobody has mentioned that Guix is readily available on NixOS right now? Add a line to your config and it’s ready to go. Compatible with everything else.

Spore,

Fyi, it’s now available on nixos.

Spore, (edited )

Guix uses Guile everywhere. Nix uses string interpolated Bash and Perl for anything impure.

Now what do you think?

Spore,

No, monadic interface is used to programmatically access the store instead of being used to define packages. Packages are pure in Guix.

Spore,

You can use Nix on Guix System and vice versa, but it’s like installing them as a package manager on a foreign system. The store and packages currently are completely isolated between the two, although there’s a very early plan for a common store interface.

Spore, (edited )
  1. breaks compatibility
  2. breaks compatibility
  3. breaks compatibility
  4. hard to add without breaking compatibility

Then we arrive at Rust as a natural outcome.

And it’s of course possible to migrate to Rust from C or C++ progressively, fish has almost got it done.

Spore, (edited )

Well, they are not going to release in between, but their rewrite still “works” at each commit being a hybrid of Rust and C++.

Spore,

I’d say no. Programming safely requires non-trivial transformation in code and a radical change in style, which afaik cannot be easily done automated.

Do you think that there’s any chance to convert from this to this? It requires understanding of the algorithm and a thorough rewrite. Automated tools can only generate the former one because it must not change C’s crooked semantics.

Spore, (edited )

I think there’s no need to stick with one particular language. It benefits to learn more languages and bring the “good parts” of their design into your code whatever you are writing it in.

Btw It happens that I’ve learned a bit of RISC-V, with Rust.

Spore,

Yeah, I literally learnt how nix works through guix documentations.

Spore,

I believe that I’m already using it on NixOS. Working without visible problems since half a year ago.

Spore, (edited )

Git and Email are not mutually exclusive. In order to collaborate with git, you need and only need a way to send your commits to others. Commits can be formatted as plain-text files and sent through emails. That is how git has been used by its author from literally the first release of it.

Spore, (edited )

Honestly I’m surprised that so many people don’t know how git can be used without those repository hosting sites. That’s one way to use it, not the only way. And it’s not even the way it was originally designed for.

Checkout git format-patch.

Spore,

A git server don’t need to know email to work, and it is not required to have a git server. Email in this workflow is an alternative to a PR: contributor submit a set of commits to the maintainer (or anyone interested). Then the maintainer is free to apply or merge the commits. After that the code can be pushed to any servers.

Spore,

Kent just made a reply on this.

TL;DR: Fast on his machine. The reason of the difference is unclear though.

Spore,

You can swap it with the standard one. It’s on another non-official channel called nonguix.

Spore,

Guile and Guix is way better documented than Nix. The language have more features, so you don’t have to use a hack to load packages, can actually know what is accepted in a function instead of blindly copying what others do, and it comes with a formatter.

Spore,

There is a pre built distribution, you need to configure binary cache to get it. Refer to the “Substitute for nonguix” section: gitlab.com/nonguix/nonguix

Spore,

Note that skim performs worse than fzf. There’s a new matcher in Rust called nucleo which is faster, but it currently doesn’t have a cli and can only be used inside Helix editor (hx)

nu is probably the best shell for ad-hoc data processing, handling all my daily needs in one expression.

fd and rg have another thing in common, that they’re both 50% shorter than their traditional alternatives /s

Spore,

It kinda fills a niche.

I use fish for simple command pipelines as well. But traditional shells are not as good when I need to do anything “structured”, because they treats almost any value as a string and don’t have anonymous functions. The first problem means that you have to parse a string again and again to do anything useful, the second means that when both pipe and xargs fails you are doomed.
Nu solves both of the big problems that matters when you want to do rather complex but ad-hoc processing of data. And with a rather principled design, nu is very easy to learn (fish is already way better than something POSIX like bash though).

Personally another important reason is that I have a Windows machine at work and nushell is way easier than pwsh.

Spore,

So why not just use the lean and maintainable wlroots

wlroots can’t be used (comfortably and idiomatically) in Rust because it’s too hard (if not impossible) to provide a memory-safe interface for it.

we can move to another implementation of the Wayland protocols.

So unfortunately this has already happened.

Spore,

If it’s only for 3 days you need nothing unless you get diarrhea.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #