!djTaTBQyWEPRQxrPTb:nixos.org

Nixpkgs Architecture Team

233 Members
https://github.com/nixpkgs-architecture, weekly public meetings on Wednesday 15:00-16:00 UTC at https://meet.jit.si/nixpkgs-architecture52 Servers

Load older messages


SenderMessageTime
2 Aug 2022
@infinisil:matrix.orginfinisil John Ericson: Hehe, is there also more code elsewhere? 12:59:55
@qyliss:fairydust.spaceAlyssa Rosssplice.nix has a lot of the eval-time stuff13:01:28
@FRidh:matrix.orgFRidhMight want to start with collecting requirements. I heard some things come by here, but mostly I think for people writing custom phases, instead of those writing reusable builders (think package sets). I think they care less about a shell-like language but care more about code structuring. Maybe even having support for testing phases/builders. Then I think there's also to consider that writing builders should preferably get easier, not harder. Considering the Nix language by itself is far from mainstream, doing the same with the builder is a risk for getting adoption.13:11:19
@Ericson2314:matrix.orgJohn Ericson infinisil: Also lib/systems/ 13:19:37
@Ericson2314:matrix.orgJohn Ericson * infinisil: Also lib/systems/ 13:19:40
@Ericson2314:matrix.orgJohn Ericson and the stdenv/booter.nix 13:20:04
@Ericson2314:matrix.orgJohn EricsonThe core requirements are (1) having a unified way of describing platforms (it was a mess of different things before and (2) having multiple package sets so we can resolve deps for different platforms 13:21:53
@qyliss:fairydust.spaceAlyssa RossFRidh: one thing that would help with that would be if builders could be written in a Nix DSL, like how Guix replaced both Nix and Bash with Guile.13:22:41
@Ericson2314:matrix.orgJohn Ericsonyeah we should study Guix a lot13:22:52
@Ericson2314:matrix.orgJohn Ericson(which would be easier if Nix and Guix could share the daemon! Sigh....)13:23:10
@infinisil:matrix.orginfinisilBrb, reading guix manual13:24:37
@sandro:supersandro.deSandro 🐧and only copy the good parts, not the ugly13:24:55
@infinisil:matrix.orginfinisil Sandro 🐧: What are the ugly parts? 13:28:55
@j-k:matrix.orgj-k

A note on changing phases is I just found out nix develop has various phase specific flags...


      · --build
        Run the build phase.

      · --check
        Run the check phase.

      · --command / -c command args
        Instead of starting an interactive shell, start the specified command and arguments.

      · --configure
        Run the configure phase.
13:29:30
@qyliss:fairydust.spaceAlyssa RossOh that's interesting.13:29:41
@infinisil:matrix.orginfinisilOh yeah, I wanted to go into that too13:29:50
@sandro:supersandro.deSandro 🐧the verbosity https://git.savannah.gnu.org/cgit/mediagoblin.git/tree/guix-env.scm#n19113:29:52
@infinisil:matrix.orginfinisil Similarly, nix-shell is also bash-specific, it runs some bash stdenv hook stuff by default 13:30:03
@sandro:supersandro.deSandro 🐧nix-shell more or less opens a stdenv shell13:30:24
@kevincox:matrix.orgkevincox I would love to "fix" that. I frequently use nix-shell ... --run zsh 13:31:14
@sandro:supersandro.deSandro 🐧🌚 switch to bash13:31:42
@infinisil:matrix.orginfinisil
In reply to @sandro:supersandro.de
the verbosity https://git.savannah.gnu.org/cgit/mediagoblin.git/tree/guix-env.scm#n191
inherit in Nix fixes this at least
13:31:47
@infinisil:matrix.orginfinisilI guess guix scheme doesn't have something like that13:32:12
@infinisil:matrix.orginfinisilIs the reason guix uses a scheme because they can easily serialize functions for the daemon to read and execute?13:41:43
@infinisil:matrix.orginfinisil * Is the reason guix uses a scheme because this allows them to easily serialize functions for the daemon to read and execute?13:41:52
@infinisil:matrix.orginfinisilUm, I mean s/scheme/lisp13:42:38
@infinisil:matrix.orginfinisilYeah looks like it, this section is very interesting: https://guix.gnu.org/en/manual/devel/en/guix.html#G_002dExpressions13:48:22
@infinisil:matrix.orginfinisil

To describe a derivation and its build actions, one typically needs to embed build code inside host code. It boils down to manipulating build code as data, and the homoiconicity of Scheme—code has a direct representation as data—comes in handy for that. But we need more than the normal quasiquote mechanism in Scheme to construct build expressions.

13:48:47
@qyliss:fairydust.spaceAlyssa RossI think the reason Guix uses Lisp is that it's a GNU project, and Lisp is intended to be the scripting/etc language of the GNU system13:52:51
@infinisil:matrix.orginfinisilAbove-linked section does give a good reason for why guix specifically benefits from it being lisp though13:53:55

Show newer messages


Back to Room ListRoom Version: 9