Re: Nitrokey and udev rules

2018-05-23 Thread Mike Gerwitz
On Tue, May 22, 2018 at 12:53:43 +0200, Pierre Neidhardt wrote:
> I'm trying to use my nitrokey on GuixSD.

I use a Nitrokey Pro on GuixSD.

>> gpg --card-status
> gpg: selecting openpgp failed: No such device
> gpg: OpenPGP card not available: No such device

Have you started pcscd?  We don't yet have a service for it, so that
needs to be done manually.  When I first log in, I run it as root (just
`sudo pcscd'), and then `gpg --card-status` works as expected.

Can you give that a try?

-- 
Mike Gerwitz
Free Software Hacker+Activist | GNU Maintainer & Volunteer
GPG: D6E9 B930 028A 6C38 F43B  2388 FEF6 3574 5E6F 6D05
https://mikegerwitz.com


signature.asc
Description: PGP signature


Re: emacs-dev: 'unpack' phase does not seem to preserve timestamps

2018-05-23 Thread Pierre Neidhardt

Ludovic Courtès  writes:

> Yes, that’s annoying, but that’s expected.  

Right, but then how would it be possible to call `make install` without
rebuilding everything all over again?

> Perhaps the ‘unpack’
> phase could automatically make the copy that it creates with
> ‘copy-recursively’ writable?

That wouldn't solve the issue: it would build but the point is to skip
the compilation phase.

Can you think of a way around this?

-- 
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: On network management and documenting nmcli

2018-05-23 Thread swedebugia


On May 23, 2018 5:45:53 PM GMT+02:00, Pierre Neidhardt  
wrote:
>
>Ludovic Courtès  writes:
>
>> If you’re using Emacs, the latest version of Emacs-Guix has this new
>> ‘guix-default-services’ command that does exactly what you’re
>> suggesting.
>
>It's great but it's not obvious enough for newcomers in my opinion.
>
>We need something in the manual that makes explicit which service is
>run, among which which network manager is currently running.
>
>Asking newcomers to install Emacs + Emacs-Guix is too much a stretch in
>my opinion (as much as I love it!).

Agreed.

Emacs-Guix is a frontend in my opinion. 
We should make sure that everything it provides is possible on the command line 
as well.

I would like to try to prepare a patch but this might be a little too 
challenging for me atm. to implement. (without guidance).

Maybe a general command to query the current running system configuration is 
what we want and this listing of running services (and default services) is a 
subset of what it provides.
-- 
Cheers Swedebugia 

Re: [ANN] Emacs-Guix 0.4

2018-05-23 Thread Alex Kost
Ludovic Courtès (2018-05-23 17:30 +0200) wrote:

> Hello!
>
> Maxim Cournoyer  skribis:
>
>> Alex Kost  writes:
>>
>>> Hello, Emacs-Guix (Emacs interface for GNU Guix) version 0.4 has been
>>> released.  If you are not familiar with it yet, you may start with:
>>> ‘guix package -i emacs-guix’ and "M-x guix-about".
>>
>> Just wanted to say thank you for this new feature packed release! I look
>> forward to trying it out :)
>
> +1  I just tried it out and these new features are awesome, as usual!
>
> ‘guix-all-services’ is very cool!  (It shows that we lack descriptions
> for roughly a third of the services; if you’re reading along, consider
> helping out.  :-))
>
> I think ‘guix-dependent-packages’ is going to be very useful.  I wonder
> if we could have ‘C-u guix-dependent-packages’ list only packages that
> are direct dependents?  That would be helpful in some situations.

I agree!  Is there a shell command for this?  I mean I'd like to know
what Guile code can do this :-)

Currently, the following code is used to get dependent packages:

(with-store store
  (run-with-store store
(mlet %store-monad ((edges (node-back-edges %bag-node-type
(all-packages
  (return (node-transitive-edges packages edges)

-- 
Alex



Re: On network management and documenting nmcli

2018-05-23 Thread Pierre Neidhardt

Ludovic Courtès  writes:

> If you’re using Emacs, the latest version of Emacs-Guix has this new
> ‘guix-default-services’ command that does exactly what you’re
> suggesting.

It's great but it's not obvious enough for newcomers in my opinion.

We need something in the manual that makes explicit which service is
run, among which which network manager is currently running.

Asking newcomers to install Emacs + Emacs-Guix is too much a stretch in
my opinion (as much as I love it!).

-- 
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: Install new package in current generation?

2018-05-23 Thread Ludovic Courtès
Pierre Neidhardt  skribis:

>>> guix package -i PACKAGE  # -> creating new generation
>>> guix package -d  # remove all generations, except current
>>> guix gc
>
> Technically you don't need to always call `guix gc`.

Indeed, just run it when you need more disk space.  On some machines I
have “guix gc -F100G” run periodically, which ensures that 100G of disk
is available.

Ludo’.



Re: On network management and documenting nmcli

2018-05-23 Thread Ludovic Courtès
Hello,

swedebugia  skribis:

> Perhaps a new guix command is needed for this e.g.:
>
> % guix show %default-services
>
> getty  | A service that serves tty
>
> cups       | Printing service that enables printing

‘guix system search’ should help a bit, but it doesn’t show the value of
‘%default-services’ currently.

If you’re using Emacs, the latest version of Emacs-Guix has this new
‘guix-default-services’ command that does exactly what you’re
suggesting.

HTH!

Ludo’.



Re: [ANN] Emacs-Guix 0.4

2018-05-23 Thread Ludovic Courtès
Hello!

Maxim Cournoyer  skribis:

> Alex Kost  writes:
>
>> Hello, Emacs-Guix (Emacs interface for GNU Guix) version 0.4 has been
>> released.  If you are not familiar with it yet, you may start with:
>> ‘guix package -i emacs-guix’ and "M-x guix-about".
>
> Just wanted to say thank you for this new feature packed release! I look
> forward to trying it out :)

+1  I just tried it out and these new features are awesome, as usual!

‘guix-all-services’ is very cool!  (It shows that we lack descriptions
for roughly a third of the services; if you’re reading along, consider
helping out.  :-))

I think ‘guix-dependent-packages’ is going to be very useful.  I wonder
if we could have ‘C-u guix-dependent-packages’ list only packages that
are direct dependents?  That would be helpful in some situations.

Thank you!

Ludo’.



Re: emacs-dev: 'unpack' phase does not seem to preserve timestamps

2018-05-23 Thread Ludovic Courtès
Hello,

Pierre Neidhardt  skribis:

> Since all file timestamps are set to Epoch by 'unpack', the build phase
> tries to rebuild everything.
> And since the files unpacked to "source" are read-only, `make` fails to
> regenerate the files that go in "source".

Yes, that’s annoying, but that’s expected.  Perhaps the ‘unpack’
phase could automatically make the copy that it creates with
‘copy-recursively’ writable?

> From the source, 'unpack' is supposed to preserve the timestamp:
>
> (define* (unpack #:key source #:allow-other-keys)
>   "Unpack SOURCE in the working directory, and change directory within the
> source.  When SOURCE is a directory, copy it in a sub-directory of the current
> working directory."
>   (if (file-is-directory? source)
>   (begin
> (mkdir "source")
> (chdir "source")
>
> ;; Preserve timestamps (set to the Epoch) on the copied tree so that
> ;; things work deterministically.
> (copy-recursively source "."
>   #:keep-mtime? #t)

It does preserve timestamps, but since SOURCE is in the store, its
timestamps are all set to the Epoch.

But that’s OK: Git doesn’t specify timestamps anyway.

Thanks,
Ludo’.



Re: Install new package in current generation?

2018-05-23 Thread Jone
> listed in the environment variable “X_XFCE4_LIB_DIRS”

It works! Thanks.



Re: Udisks uses ntfs instead of ntfs-3g

2018-05-23 Thread Pierre Neidhardt

I've patched ntfs-3g to symlink mount.ntfs to mount.ntfs-3g and it works
as expected.  If the new ntfs-3g is installed as a system package, that
is to say.

Indeed, libmount seems to only look in

/run/current-system/profile/sbin/mount.*

and not in

~/.guix-profile/sbin/mount.*.

Is this the behaviour we really want?  Maybe, considering libmount is fairly
low level.  Any insights?

To see that you can try the following command:

--8<---cut here---start->8---
> sudo LIBMOUNT_DEBUG=all mount /dev/sda1 /mnt
5132: libmount: INIT: library debug mask: 0x
[...]
5132: libmount:  CXT: [0x2162690]: 
/run/current-system/profile/sbin/mount.ntfs ... not found
[...]
--8<---cut here---end--->8---

See https://github.com/storaged-project/udisks/issues/532 for more
details.

I'll submit a patch soon.

--
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-23 Thread Pierre Neidhardt

I've reported upstream:

https://support.nitrokey.com/t/guixsd-no-such-device/1117

-- 
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-23 Thread Pierre Neidhardt

NixOS has packaged Nitrokey App:


https://github.com/NixOS/nixpkgs/tree/master/pkgs/tools/security/nitrokey-app

I'm not too familiar with the system, but I understand that they've
replaced "plugdev" by "nitrokey".  Not sure how that can help.

NixOS uses systemd however.

-- 
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: Nitrokey and udev rules

2018-05-23 Thread Pierre Neidhardt

Marius Bakke  writes:

> As a workaround you can try e.g. 'GROUP+="gpg", MODE=”0660″'.

I tried your suggestion but then `dmesg | grep udevd` rightfully
complained that the "gpg" group did not exist.
Am I supposed to create it?

Anyways, I tried with 'GROUP+="users", MODE=”0666″', but it did not work either.

> I suspect you may also need 'pcscd' which we currently don't have a
> service for.

The Nitrokey is a PGP key I believe. According to Arch Wiki
(https://wiki.archlinux.org/index.php/GnuPG#GnuPG_with_pcscd_.28PCSC_Lite.29),
if it were the issue I should see an error like

> gpg: selecting openpgp failed: ec=6.108

I also tried to install libusb-compat in my operating system package
selection as suggested by Arch Wiki, to no avail.

Any clue?  Otherwise I'll ask Nitrokey.


signature.asc
Description: PGP signature


Re: Install new package in current generation?

2018-05-23 Thread Pierre Neidhardt

>> guix package -i PACKAGE  # -> creating new generation
>> guix package -d  # remove all generations, except current
>> guix gc

Technically you don't need to always call `guix gc`.

Also note that generations are generally lightweight, especially for
simple operations like installing a single package.

-- 
Pierre Neidhardt


signature.asc
Description: PGP signature


Re: Install new package in current generation?

2018-05-23 Thread Ricardo Wurmus

Jone  writes:

> guix package -i PACKAGE  # -> creating new generation
> guix package -d  # remove all generations, except current
> guix gc
>
> - not so good: first creating new generation, and next delete all
> others (I absolutely do not need a rollback).

There is no other way.  Guix always generates a new generation of your
profile.

--
Ricardo