Combined with you can add any Haskell package to the environment and import it in ghci. Super useful for when you want to, say, import the `linear` package to check your vector/matrix math

Show thread

I have a feeling that within the next decade I'll be running mobile or and have a better experience than I could ever have on

I also truly believe distros will leave traditional Unix-likes behind in the dirt on both the desktop and mobile as soon as they become accessible enough that a user may never see a single line of or and still have a solid experience.

Another prediction I have is that once declarative distros have become widespread, we'll start to see new kernels and operating systems rapidly improve and gain a foothold as it'll be easier to swap the underlying system and get started with contributing to their development, just like we're now seeing with for guix.

That's if society doesn't collapse in the worst kind of way first.

There's nothing quite like creating a declarative abstraction of a tedious procedure. derivations and helper functions are very satisfying to write.

Linux stores/platforms should use and/or to package games instead of their own custom script solutions.

That would allow
* specifying custom Wine builds
* pinning dependency versions
* trivially maintaining and applying patches
* creating wrappers and setup scripts
* atomic upgrades with rollback
* explicit and reproducible dependency resolution
* maintaining your own easily shareable repos with custom packages and overrides
* a platform/frontend-agnostic packaging solution (no need to use any particular GUI - can just manage your games with Nix/Guix directly)

It would also contribute to the declarative package management revolution.

Just look at this list: - wouldn't it be great if those could all use the same packaging format and use/extend a common upstream repo?

Guix is ahead of Nix in this:

I finally found an answer (without having to do any actual work myself, heh).

The problem with that attempt to solve is that Nix channels can not be git repositories, can not be pinned and can not depend on other channels in turn. None of these limitations are present in . Thus there is no need for flakes, I guess!

Information found here in a talk from last year's NixCon:

Show thread

I wonder if something like a -like node-based visual programming language abstraction of and/or could work as a form of system configuration.

Nodes have an input (function argument) and an output (return value - possibly another function, which would form a node with two inputs).

Function application is just connecting the output of one node to the input of another. You have builtin operator nodes for set projection (which also covers attribute selection), set union and other standard functions.

From there it's just building new nodes from other nodes and in the end you get a neat visualisation of, say, what your system configuration looks like without having to dig through the file system and read the code spread throughout various files.

You can see the resulting output for any input easily by creating and plugging in dummy values, or perhaps the inputs that were used to build the current system.

Throw in Ctrl+F, inline documentation and online searching...

Found , a community with the aim to create a user-friendly based distro called . Was mentioned in this discourse thread:

I am convinced that what needs is an accessible (for non-technical users) or based distro with graphical install, package management, system configuration and revision/generation management tools, so that common people can benefit from reproducible package management and configuration without becoming sysadmins or developers.

I ache for the day when I don't have to recommend new users to use some Ubuntu-based distro just because they're the least terrible of all the non-programmer options.

Show thread

Does have an equivalent to flakes for managing package sets and revisions?

Sunbeam City 馃尰

Sunbeam City is a anticapitalist, antifascist solarpunk instance that is run collectively.