Alright, folks, I think I’ve figured it out.

The crda package has the udev rule, but doesn’t add itself to the 
services.udev.packages list.

Adding simply:

services = {
        udev = {
                packages = [ pkgs.crda ];
        };
        …
};
        
to my configuration.nix got it working. Win! Such a tiny fix.

I am still figuring out how these things work in nixland, but I see a couple of 
others, such as pkgs/os-specific/linux/rfkill/udev.nix, where there is a 
comment explaining you should do basically this to enable it. Should such a 
comment be added to the crda package? If so, should I file this as a GitHub 
issue?


Ta,
Matt



> On Jul 20, 2016, at 4:51 PM, Matthew Robbetts <wingfeath...@gmail.com> wrote:
> 
>> 
>> On Jul 20, 2016, at 1:30 PM, Matthew Robbetts <wingfeath...@gmail.com 
>> <mailto:wingfeath...@gmail.com>> wrote:
>> 
>> Tobias!
>> 
>>> On Jul 20, 2016, at 10:15 AM, Tobias Geerinckx-Rice <m...@tobias.gr 
>>> <mailto:m...@tobias.gr>> wrote:
>>> 
>>> Matthew,
>>> 
>>> On 2016-07-20 18:09, Matthew Robbetts wrote:
>>>> Unfortunately, it didn't fix my problem. After some more digging, I think 
>>>> the
>>>> problem is related to my wireless regulatory database -- in that, I don't
>>>> think I have one.
>>> 
>>> I added a wireless-regdb package once, but it might need some symlinking to
>>> properly work with iw out of the box. I just wanted the data.
>> 
>> That is an exceptionally promising response for my problem :)
>> 
>> I did notice that a regdb package exists, and I do have it installed. This 
>> possibly explains why that doesn't fix it.
>> 
>> I can try and dig into this package to see what’s what — but I’ve no idea of 
>> what symlinking might be needed. Any hints off the top of your head would be 
>> welcome. If not, I’ll try and look at it later and may have some questions 
>> for you…
> 
> Oh, oh! One for the group:
> 
> I notice that the crda package has a udev rule in it:
> 
> /nix/store/6nzijs5fiwsm4hzpvvfyxkhb17gxdwwc-crda-3.18/lib/udev/rules.d/85-regulatory.rules
> 
> but after installation this rule has not made it into my 
> /run/current-system/sw/lib/udev/rules.d/ folder (I think it needs to be there 
> for it to work, right?)
> 
> So, what can I override in the crda package derivation (or whatever) to make 
> this symlink happen? Nix is frustrating sometimes — a simple ln -s is 
> disallowed! :)
> 
> 
> After some poking, I’ve found the services.udev.extraRules key, and added the 
> text of the rules file to that in my configuration.nix, as
> 
> services = {
>       udev = {
>               extraRules = "KERNEL=='regulatory*', ACTION=='change', 
> SUBSYSTEM=='platform', 
> RUN+='/nix/store/6nzijs5fiwsm4hzpvvfyxkhb17gxdwwc-crda-3.18/bin/crda'";
>       };
>       …
> 
> but that doesn’t seem to help either.
> 
> 
> So close! Possibly…
> 
> Any thoughts?
> 
> 
> 
> 
> 
> 
>> 
>> Thanks!
>> Matt
>> 
>> 
>> 
>>> 
>>> Kind regards,
>>> 
>>> T G-R
>>> 
>>> -- 
>>> Sent from a web browser. Excuse my brevity.

_______________________________________________
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev

Reply via email to