Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

nix-diff seems to prepend 'daemon' before paths to the nix store #98

Open
dwt opened this issue Jan 29, 2025 · 5 comments
Open

nix-diff seems to prepend 'daemon' before paths to the nix store #98

dwt opened this issue Jan 29, 2025 · 5 comments

Comments

@dwt
Copy link

dwt commented Jan 29, 2025

Hi there,

while experimenting in the last few days nix-diff started behaving strangely, and started outputting errors like this:

❯ nix-diff /run/current-system /nix/store/l2h9ciy4ynxp1vklgvqaizzmfp52pff7-darwin-system-25.05.349a74c --color always 
nix-diff: daemon/nix/store/bqh2p1bc7kbswp0ip3agibm3irll984y-darwin-system-25.05.349a74c.drv: withBinaryFile: does not exist (No such file or directory)
❯ ll /nix/store/bqh2p1bc7kbswp0ip3agibm3irll984y-darwin-system-25.05.349a74c.drv
Permissions Size User Date Modified Name
.r--r--r--   38k root  1 Jan  1970  /nix/store/bqh2p1bc7kbswp0ip3agibm3irll984y-darwin-system-25.05.349a74c.drv

Is this something I have configured wrong and need to change or is this somehow a bug in nix-diff that it prepends daemon to that path before trying to read it?

@dwt
Copy link
Author

dwt commented Jan 31, 2025

I did install nix-diff with nix-darwin, some details:

❯ nix flake metadata
warning: Git tree '/Users/dwt/Code/Projekte/nix/nix-darwin-config' is dirty
Resolved URL:  git+file:///Users/dwt/Code/Projekte/nix/nix-darwin-config
Locked URL:    git+file:///Users/dwt/Code/Projekte/nix/nix-darwin-config
Description:   mkk nix-darwin system flake
Path:          /nix/store/86chrs2za0z91hwnyrsgp01j7fqpdjwn-source
Revision:      14bfb38868eaac4e22d028a89db220eeac00bdab-dirty
Last modified: 2025-01-29 20:17:58
Inputs:
├───lix-module: https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/b90bf629bbd835e61f1317b99e12f8c831017006.tar.gz?narHash=sha256-YMLrcBpf0TR5r/eaqm8lxzFPap2TxCor0ZGcK3a7%2Bb8%3D&rev=b90bf629bbd835e61f1317b99e12f8c831017006
│   Last modified: 2025-01-18 22:58:14
│   ├───flake-utils: github:numtide/flake-utils/11707dc2f618dd54ca8739b309ec4fc024de578b
│   │   Last modified: 2024-11-13 22:27:16
│   │   └───systems: github:nix-systems/default/da67096a3b9bf56a91d16901293e51ba5b49a27e
│   │       Last modified: 2023-04-09 10:27:08
│   ├───flakey-profile: github:lf-/flakey-profile/243c903fd8eadc0f63d205665a92d4df91d42d9d
│   │   Last modified: 2024-04-12 07:09:50
│   ├───lix: https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2837da71ec1588c1187d2e554719b15904a46c8b.tar.gz?narHash=sha256-CCKIAE84dzkrnlxJCKFyffAxP3yfsOAbdvydUGqq24g%3D&rev=2837da71ec1588c1187d2e554719b15904a46c8b
│   │   Last modified: 2025-01-18 22:04:46
│   └───nixpkgs follows input 'nixpkgs'
├───nix-darwin: github:LnL7/nix-darwin/349a74c66c596ef97ee97b4d80a3ca61227b6120
│   Last modified: 2025-01-28 03:58:58
│   └───nixpkgs follows input 'nixpkgs'
├───nix-rosetta-builder: github:cpick/nix-rosetta-builder/b32bd2c1915481d79e3c9d1e222cbd3a9642c016
│   Last modified: 2025-01-03 06:37:31
│   ├───nixos-generators: github:nix-community/nixos-generators/f5a0197ccfef7388885fc9455e74d6dd39e0c5e8
│   │   Last modified: 2024-12-09 02:09:07
│   │   ├───nixlib: github:nix-community/nixpkgs.lib/f4dc9a6c02e5e14d91d158522f69f6ab4194eb5b
│   │   │   Last modified: 2024-12-08 02:08:11
│   │   └───nixpkgs follows input 'nix-rosetta-builder/nixpkgs'
│   └───nixpkgs follows input 'nixpkgs'
└───nixpkgs: github:NixOS/nixpkgs/f898cbfddfab52593da301a397a17d0af801bbc3
    Last modified: 2025-01-27 21:31:03

I am invoking it via this script

#!/bin/sh

set -e
nix run nix-darwin -- build --flake . "$@"
computerName=$(networksetup -getcomputername)
outPath=$(nix eval --raw .#darwinConfigurations.$computerName.config.system.build.toplevel.outPath)

# currently fails https://github.com/Gabriella439/nix-diff/issues/98
nix run nixpkgs#nix-diff -- /run/current-system $outPath --color always

Is that somehow the wrong way to do this?

@dwt
Copy link
Author

dwt commented Jan 31, 2025

I have since switched back from unstable to stable

    nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-24.11-darwin";
    nix-darwin.url = "github:LnL7/nix-darwin/nix-darwin-24.11";

Which seems to have fixed this. Therefore there is likely a bug in the version that is part of unstable currently.

Sadly my Haskell skills are non existent, so I have no clue how to further debug this.

However, if there is any more information or experiments I can provide, I would be glad to do so, as this tool is super helpful.

@dwt
Copy link
Author

dwt commented Jan 31, 2025

I do not know how to do this, but it seems likely that a git bisect should be able to find the faulty commit.

If you could give me some assistance how to do that, I would gladly do that experiment.

@Sporif
Copy link

Sporif commented Feb 4, 2025

Probably caused by f31e0c1, as unsetting NIX_REMOTE fixes the issue for me.

@dwt
Copy link
Author

dwt commented Feb 6, 2025

Does that mean you know how to fix it? Or can I provide any additional information?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants