When spawning bashInteractive for nix develop, print what we are executing at verbose/debug level #973

Open
opened 2025-08-20 23:18:29 +00:00 by jade · 4 comments
Owner

When debugging shell hooks, it would be really helpful to know to exclude nix failures that we actually invoked bash for sure and with which arguments. I think we might have a ticket to log all execves that we do, but, that's evergreen.

When debugging shell hooks, it would be really helpful to know to exclude nix failures that we actually invoked bash for sure and with which arguments. I think we might have a ticket to log all execves that we do, but, that's evergreen.
jade self-assigned this 2025-08-20 23:18:29 +00:00
Owner

verbose/debug is kind of a bad take here. debug is definitely too full of shit to be useful for this purpose, and simply verbose may be too broad as well? wouldn't it be nice if we could have something like log topics instead of a single, fixed level. wouldn't that be nice. i'm sure we can do th...oh no, right, we can't, because everything goes into the dumbass wire protocol at some fucking point

verbose/debug is kind of a bad take here. debug is definitely too full of shit to be useful for this purpose, and simply verbose may be too broad as well? wouldn't it be nice if we could have something like log topics instead of a single, fixed level. wouldn't that be nice. i'm sure we can do th...oh no, right, we can't, because everything goes into the dumbass wire protocol at some fucking point
Author
Owner

@pennae wrote in #973 (comment):

verbose/debug is kind of a bad take here. debug is definitely too full of shit to be useful for this purpose, and simply verbose may be too broad as well? wouldn't it be nice if we could have something like log topics instead of a single, fixed level. wouldn't that be nice. i'm sure we can do th...oh no, right, we can't, because everything goes into the dumbass wire protocol at some fucking point

isn't the dumbass wire protocol presently transferring json though? couldn't we add a field? anyway, i thought there was one level less spam than debug that might be appropriate but even having this in debug is helpful and it can be revised later.

@pennae wrote in https://git.lix.systems/lix-project/lix/issues/973#issuecomment-14180: > verbose/debug is kind of a bad take here. debug is definitely too full of shit to be useful for this purpose, and simply verbose may be too broad as well? wouldn't it be nice if we could have something like log topics instead of a single, fixed level. wouldn't that be nice. i'm sure we can do th...oh no, right, we can't, because everything goes into the dumbass wire protocol at some fucking point isn't the dumbass wire protocol presently transferring json though? couldn't we add a field? anyway, i thought there was one level less spam than debug that might be appropriate but even having this in debug is helpful and it can be revised later.
Owner

isn't the dumbass wire protocol presently transferring json though? couldn't we add a field?

it is transferring json for messages, but an integer for the log level. implementing topics on this is possible, but requires setting the level to the most verbose topic in the set and filter on the client, which is very bad for performance and liable to flood daemon syslog with message we don't care about if that level is debug or vomit

anyway, i thought there was one level less spam than debug that might be appropriate but even having this in debug is helpful and it can be revised later.

nix develop -v prints only a fetcher line, -vv shows basic eval info too, -vvv is already debug. i guess you're right and we could stick it into -vv without ill effects

> isn't the dumbass wire protocol presently transferring json though? couldn't we add a field? it is transferring json for messages, but an integer for the log level. implementing topics on this is possible, but requires setting the level to the most verbose topic in the set and filter on the client, which is very bad for performance and liable to flood daemon syslog with message we don't care about if that level is debug or vomit > anyway, i thought there was one level less spam than debug that might be appropriate but even having this in debug is helpful and it can be revised later. `nix develop -v` prints only a fetcher line, `-vv` shows basic eval info too, `-vvv` is already debug. i guess you're right and we could stick it into `-vv` without ill effects
Member

This issue was mentioned on Gerrit on the following CLs:

  • commit message in cl/4042 ("tree-wide: log commands executed at --debug --quiet")
<!-- GERRIT_LINKBOT: {"cls": [{"backlink": "https://gerrit.lix.systems/c/lix/+/4042", "number": 4042, "kind": "commit message"}], "cl_meta": {"4042": {"change_title": "tree-wide: log commands executed at --debug --quiet"}}} --> This issue was mentioned on Gerrit on the following CLs: * commit message in [cl/4042](https://gerrit.lix.systems/c/lix/+/4042) ("tree-wide: log commands executed at --debug --quiet")
Sign in to join this conversation.
No milestone
No project
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lix-project/lix#973
No description provided.