Hi Ludo,

Here is the output from the guile session:

paul$ ./pre-inst-env guile
GNU Guile 2.0.13
Copyright (C) 1995-2016 Free Software Foundation, Inc.

Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
This program is free software, and you are welcome to redistribute it
under certain conditions; type `,show c' for details.

Enter `,help' for help.
scheme@(guile-user)> ,use(guix build syscalls)
scheme@(guile-user)> (utmpx-entries)
$1 = (#<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user: "reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 627310000 second: 1485945677> address: (0 0 0 0)> #<<utmpx-entry> type: 1 pid: 53 line: "~" id: (126 126 0 0) user: "runlevel" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 441012000 second: 1485945740> address: (0 0 0 0)> #<<utmpx-entry> type: 6 pid: 1589 line: "tty1" id: (116 116 121 49) user: "LOGIN" host: #f termination: 0 exit: 0 session: 1589 time: #<time type: time-utc nanosecond: 643444000 second: 1485945740> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid: 1908 line: "tty7" id: (58 48 0 0) user: "paul" host: ":0" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 705038000 second: 1485945754> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid: 2486 line: "pts/11" id: (47 49 49 0) user: "paul" host: ":0.0" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 115640000 second: 1485945809> address: (0 0 0 0)> #<<utmpx-entry> type: 7 pid: 2486 line: "pts/2" id: (47 50 0 0) user: "paul" host: ":0.0" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 916844000 second: 1485947271> address: (0 0 0 0)>)
scheme@(guile-user)> ,use(srfi srfi-1)
scheme@(guile-user)> (find (lambda (entry) (and (string? (utmpx-user 
entry))(zero? (utmpx-pid entry)))) (utmpx-entries))
$2 = #<<utmpx-entry> type: 2 pid: 0 line: "~" id: (126 126 0 0) user: "reboot" host: "4.4.0-59-generic" termination: 0 exit: 0 session: 0 time: #<time type: time-utc nanosecond: 627310000 second: 1485945677> address: (0 0 0 0)>

The $2 output is not false in this case.

Paul.