!VRULIdgoKmKPzJZzjj:nixos.org

Nix Hackers

909 Members
For people hacking on the Nix package manager itself190 Servers

Load older messages


SenderMessageTime
5 Mar 2025
@Ericson2314:matrix.orgJohn EricsonAlso FYI https://github.com/facebook/buck2/issues/86617:25:21
@Ericson2314:matrix.orgJohn EricsonI sent to @edef1c too17:27:02
@puck:puck.moepuck
In reply to @roberthensing:matrix.org
John Ericson: I've suggested to treat the Nixpkgs "fix" for the CA placeholder issue (no storedir prefix) as a workaround as ca-derivations is experimental https://github.com/NixOS/nixpkgs/pull/386774#pullrequestreview-2660479310
builtins.placeholder has the same "issue", though i like them not being /nix/store-prefixed because it disambiguates that their format is unstable
17:31:38
@roberthensing:matrix.orgRobert Hensing (roberth)That one isn't experimental, so we'd need a very very good reason to change that anyway17:33:35
@emilazy:matrix.orgemilyI don't suppose Nix strings support NUL bytes in them so that we could properly separate the namespace from actual filesystem paths? in the same way abstract Unix sockets do17:33:47
@roberthensing:matrix.orgRobert Hensing (roberth)Also isn't user-handled as much as outputs are17:34:04
@roberthensing:matrix.orgRobert Hensing (roberth)Evaluator strings are C strings. This could be changed to something with a length, but we're not in a hurry. I guess one of those separator control characters could serve the same role, but I feel that it'd be weird to do any of that (regardless of choice of byte value)17:35:50
@emilazy:matrix.orgemilyNUL is the only byte that is actually guaranteed to not be allowed on Linux anyway (though of course other platforms exist too)17:38:44
@emilazy:matrix.orgemilyso no advantage to anything else17:38:48
@naxdy:naxdy.orgNaxdy changed their profile picture.18:03:52
6 Mar 2025
@maikelfrias:matrix.org@maikelfrias:matrix.org joined the room.02:33:30
@maikelfrias:matrix.org@maikelfrias:matrix.org left the room.02:36:01
@elvishjerricco:matrix.orgElvishJerriccoI'm going to make this comment here because I think it is one of the most important things I've said in the world of NixOS. Please read this comment: https://discourse.nixos.org/t/determinate-nix-3-0/61202/5721:33:50
7 Mar 2025
@qyriad:katesiria.orgQyriad changed their display name from Qyriad to qyriad.16:03:20
8 Mar 2025
@colgrave34:pendora.ioColgrave joined the room.03:22:45
@fzakaria:one.ems.hostfzakariaTrying to figure out dynamic derivations; I'd appreciate some tips06:07:58
@fzakaria:one.ems.hostfzakariaHitting some weird road blocks with what I think would work.06:08:14
@fzakaria:one.ems.hostfzakaria

Like:

warning: Ignoring dynamic derivation /nix/store/8apg4x2xbcx83xc0p1jk1qdiihkmhjyg-hello-2.12.1.drv.drv^out while querying missing paths; not yet implemented
error: Building dynamic derivations in one shot is not yet implemented.
06:08:22
@tomberek:matrix.orgtomberekYou might need a wrapping drv for now. 06:20:45
@fzakaria:one.ems.hostfzakariaHere is my strawman https://pastebin.com/wnHmj4pW06:46:30
@fzakaria:one.ems.hostfzakariai think it's a wrapping drv?06:46:36
@adeci:matrix.org. joined the room.07:01:28
@ncfavier:matrix.orgncfavier changed their profile picture.10:43:32
@jacek:poz.petdeprecated, moved to @poz:poz.pet joined the room.12:27:30
@jacek:poz.petdeprecated, moved to @poz:poz.pethey, I added the modulo operator to nix: https://github.com/NixOS/nix/pull/12617 I'd be grateful for any reviews, likes under the PR or advice on how to get it merged quick (I've seen a lot of PRs be untouched for a long time and I'm not hopeful for mine)12:36:10
@TuXic:matrix.orgTuXic joined the room.13:49:09
@colgrave34:pendora.ioColgrave left the room.16:46:35
@weethet:catgirl.cloudWeetHet

https://discourse.nixos.org/t/determinate-nix-3-0/61202/80

Pure eval doesn’t exist outside of flakes (unfortunately), that flag is more or less a broken promise.

I wonder what was meant by that? Does it mean that nix-build --pure-eval doesn't actually perform evaluation purely?

17:55:04
@weethet:catgirl.cloudWeetHet I don't think you can break evaluation purity with pure-eval 17:55:47
@weethet:catgirl.cloudWeetHet

And it's not like it's that difficult to use, I've ran nix darwin using this script for a couple of months just fine

{ pkgs ? import <nixpkgs> { }
, writeShellScriptBin ? pkgs.writeScriptBin
, directory
, ...
}:
writeShellScriptBin "darwin-rebuild-npins" ''
  set -eo pipefail

  pushd ${directory} > /dev/null

  echo "building the system configuration..."
  system=$(nix-instantiate --eval --expr builtins.currentSystem | tr -d \")
  systemConfig=$(nix-build --pure-eval --no-out-link --argstr system $system --argstr name $(hostname) --expr "import (
    builtins.path {
      path = \"$(pwd)\";
      sha256 = \"$(nix-hash --type sha256 --base32 .)\";
    }
  )" | tee /dev/tty)

  profile=/nix/var/nix/profiles/system

  if [ "$USER" != root ] && [ ! -w $(dirname "$profile") ]; then
    sudo nix-env -p "$profile" --set "$systemConfig"
  else
    nix-env -p "$profile" --set "$systemConfig"
  fi

  "$systemConfig/activate-user"
  if [ "$USER" != root ]; then
    sudo "$systemConfig/activate"
  else
    "$systemConfig/activate"
  fi

  popd > /dev/null
''
17:57:44

Show newer messages


Back to Room ListRoom Version: 6