Re: [Nix-dev] How to test my service definition without actually installing it?

2015-05-15 Thread Arseniy Seroka
That can help you to answer all your questions :)
https://github.com/jagajaga/nixpkgs/blob/addition/contributing/CONTRIBUTING.md


On 14 May 2015 13:29:14 Matthias Beyer m...@beyermatthias.de wrote:

 On 14-05-2015 11:28:24, Luca Bruno wrote:
  On 14/05/2015 11:18, Matthias Beyer wrote:
  
  
   How do you do that? My approach is nixos-rebuild build-vm as someone
   else (I guess it was Lethalman) suggested, but it fails with:
  
   $ sudo nixos-rebuild build-vm -I .
   building Nix...
   building the system configuration...
   error: The option `services.taskserver' defined in
  `/nix/store/sz5aszzk5hn943pcw66iqy5jf21hrws4-nixos/services/taskwarrior.nix'
  does not exist.
   (use '--show-trace' to show detailed location information)
  
   unfortunately. Any pointers?
  That's really about how you added the module and that -I option that is
  suspiciously wrong.
 

 I got it running with

 sudo nixos-rebuild build-vm -I nixpkgs=~/dev/contrib/nixpkgs/ --fallback 
 -j
 8 --cores 8

 but it actually fails to build as dependencies cannot be build. :-(

 --
 Mit freundlichen Grüßen,
 Kind regards,
 Matthias Beyer

 Proudly sent with mutt.
 Happily signed with gnupg.



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



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


[Nix-dev] Dropped renameImports from buildGoPackage

2015-05-15 Thread Luca Bruno
The renameImports was a bad choice for buildGoPackage infrastructure.
Every package would have to specify the needed renames.
Now instead each library can define goPackageAliases, and dependant
packages will automatically rename the imports.

With renameImports: A depends on B - B changed goPackagePath - now A
fails to build because it needs a renameImports.
With goPackageAliases: A depends on B - B changes goPackagePath and
adds goPackageAliases - now A correctly builds because the rename is
done automatically.

Best regards,
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Haskell packages don't show up in nix-env -qa

2015-05-15 Thread Vladimír Čunát
On 05/16/2015 12:05 AM, Peter Simons wrote:
 If anyone has a suggestion how to deal with that situation, then I'd be
 glad to hear it!

Ah, I see, thanks. I guess the most comfortable way to search packages
is http://nixos.org/nixos/packages.html


Vladimir




smime.p7s
Description: S/MIME Cryptographic Signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Haskell packages don't show up in nix-env -qa

2015-05-15 Thread Peter Simons
Vladimír Čunát writes:

  I guess the most comfortable way to search packages is
  http://nixos.org/nixos/packages.html

the information provided by that search engine seems seriously outdated,
though. Is that tool based on master? Or does it index the latest
release branch?

Best regards,
Peter

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


Re: [Nix-dev] Sharing Nix store between systems

2015-05-15 Thread Shea Levy
Hi Tyson,

Looks like a good start! I’ve left some comments on the commits.

~Shea

 On May 15, 2015, at 5:39 PM, Tyson Whitehead twhiteh...@gmail.com wrote:
 
 On April 29, 2015 14:03:08 Tyson Whitehead wrote:
 I'm looking to setup a shared nix store for our HPC clusters.  Googling for 
 a shared store only gives a brief discussion back at the end of 2011
 
 http://lists.science.uu.nl/pipermail/nix-dev/2011-December/007381.html
 
 My current plan of attack (informed by that thread) is to setup a sever 
 (hereafter the nix server) running the nix daemon that exports
 
 - a read-only version of the store
 - a read/write version of the gcroots and profiles directories
 
 Machines that mount the store and gcroots/profiles would then be set to 
 forward the nix daemon socket to the nix server.
 
 Got this working by the way on our HPC clusters.  Ended up
 
 1 - adding socket code to remote-store.cc to initiate connections, and
 2 - using systemd socket passing with nix-env to listen on a port
 
 I've pushed a temporary branch to a github fork
 
 https://github.com/NixOS/nix/compare/master...twhitehead:remote
 
 I would like to get this officially supported, so my intent is to get some 
 feedback before doing a pull request.
 
 How would you like this to work?  Something enabled by configure?  Always 
 supported out of the box?  Should I open an issue?
 
 Thanks!  -Tyson
 ___
 nix-dev mailing list
 nix-dev@lists.science.uu.nl
 http://lists.science.uu.nl/mailman/listinfo/nix-dev

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


[Nix-dev] Proposal: make global dependencies or paths explicit

2015-05-15 Thread Wout Mertens
There are a few dependencies in nixos that are hidden from nix as to not
have to recompile the world when they change.

The instances I know of are the timezone files and CA certificates but
there's probably more. The timezone files expect TZDIR to be set, and all
programs are being compiled to check /etc/ssl/certs/ca-bundle.crt.

I would like to propose that all global state is kept at fixed paths (like
it is with ca-bundle) but that all occurences of those paths are instead
replaced with attributes of pkgs.config.statics, so that users can override
them easily.

That way, for other platforms (e.g. Darwin or cygwin) you can point those
paths to where the relevant data is and ideally with a light recompile
you'd have everything working.

Basically, all occurrences of static paths in nixpkgs like /etc or /var
 should be replaced with pkgs.config.statics.zonedir, .ca-bundle,
.system-config (configuration.nix), .nix-config (/etc/nix/nix.conf),
.shell-profile (/etc/profile) etc.

Should be a pretty small change, not resulting in many rebuilds, that
allows for better discoverability and configurability.

As an example benefit, we can now make /etc/ssl/certs/ca-certificates.crt
the default instead of ca-bundle.crt, simply change one line.

If we do this for everything, eventually this will for example allow us to
move /etc/passwd and /etc/shadow elsewhere, and having full visibility into
all builds that use it.

I gave the concept a try in my static-paths branch at
https://github.com/wmertens/nixpkgs/tree/static-paths but it's not working
because for some reason the contents of nixpkgs.config varies throughout
evaluation.

Hints welcome. To try, clone that branch and run nix-build
./nixos/default.nix -A system -v. I added traces for the pkgs.config
contents.

Would be great to have feedback on the naming and other options over
choosing the nixpkgs config as well.

Cheers,

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


[Nix-dev] Haskell packages don't show up in nix-env -qa (was: Confused about packages)

2015-05-15 Thread Peter Simons
Hi folks,

  Q 2. Why can't I find some packages that I would expect to find?
 
  I guess this would be because of haskellPackages missing recurseIntoAttrs.
  I can't see it in there and no haskell packages are shown for me on master.

the lack of recurseIntoAttrs is intentional. We'd suffer a significant
performance loss if nix-env were to traverse the Haskell package set,
because 'haskellPackages' defines 8000+ entries! Right now, we have a
total of

  $ nix-env -qa | wc -l
  11353

entries in Nixpkgs. Haskell adds another

  $ nix-env -qa -A haskellPackages | wc -l
  8061

and then there's also R:

  $ nix-env -qa -A rPackages | wc -l
  6323

I would like those packages to be visible during nix-env -qa, but Nix is
just not fast enough to cope (unless you're running it on a modern
machine with a fast SSD).

If anyone has a suggestion how to deal with that situation, then I'd be
glad to hear it!

Best regards,
Peter

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


[Nix-dev] package foo is broken due to missing package bar errors in Haskell packages (was: nixos and haskell)

2015-05-15 Thread Peter Simons
Hi Steven,

  There appears to be a problem with non-deterministic build output
  with GHC 7.10.1 though.unsusable.

the information you got from [1] is a bit misleading, IMHO. It states:

  The non-deterministic output problem seems a bit worse [in GHC 7.10.x].

I am unaware of any evidence to suggest that this is true. We've had an
inconsistent binary cache on hydra.nixos.org exactly *once* since we've
switched to GHC 7.10.x. That is unpleasant, no doubt, but the issue is not
at all specific to GHC 7.10.x. GHC 7.8.x produced exactly the same problems
at a rate that (until now) seems about the same. When GHC 7.8.x was used
with parallel building enabled -- like we currently do with GHC 7.10.x --,
inconsistent builds occurred at least once every week! The problem was so
bad that we switched the feature off, eventually, because it rendered our
binary caches near unusable. Now, we haven't used GHC 7.10.x for a long time
yet, and it's possible that all hell breaks loose a minute after I've posted
this message, but based on the knowledge we have so far GHC 7.10.x is
clearly more stable in that regard than 7.8.x ever was.

In the light of this, the recommendation

  You might want to avoid GHC 7.10.x.

from [1] seems premature, at best. From what I have seen so far, I believe
GHC 7.10.x to be a better choice for users who are concerned about the
non-determinism bug [2].


  I don't know how to use 7.8.4 instead.

Replace occurrences of haskellPackages.foo with haskell.packages.ghc784.foo
in your Nix files.


  I've reconfigured NixOS with a single binary cache in an attempt to
  mitigate the non-determinism (but I'm not sure if that's all that's
  required). I'm using http://hydra.cryp.to.

Yes, for users of Linux/x86_64, that is probably the way to go at the
moment. More details can be found at [3].

Best regards,
Peter



[1] https://twitter.com/puffnfresh/status/597474734922551296
[2] https://ghc.haskell.org/trac/ghc/ticket/4012
[3] https://github.com/NixOS/nixpkgs/issues/7792

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


[Nix-dev] Confused about packages

2015-05-15 Thread Amy de Buitléir
I'm new to NixOS, and I'm confused about the relation between packages,
nix-env, and /etc/nixos/configuration.nix. In case it matters, I'm on
nixos-unstable:

[root@wombat9000:~]# nix-channel --list
nixos https://nixos.org/channels/nixos-unstable

Q 1. Why do some packages have version numbers, and some don't? Are the ones
without version numbers some sort of virtual package?

[amy@wombat9000:~]$ nix-env -qa | grep dzen2
dzen2-0.9.5   

[amy@wombat9000:~]$ nix-env -qa | grep dmenu2
dmenu2

Q 2. Why can't I find some packages that I would expect to find? Are they
hidden? For example, I have the following in my /etc/nixos/configuration.nix:

  environment.systemPackages = with pkgs; [
dmenu2
dzen2
haskellPackages.xmonad
haskellPackages.xmonadContrib
haskellPackages.xmonadExtras
wget
xsel
  ];

But if someone hadn't told me the names to put there, how could I have found
the names of the packages? Searching for them using nix-env didn't find them:

[root@wombat9000:~]# nix-env -qaP | grep haskellPackages

[root@wombat9000:~]# nix-env -qaP | grep xmonadContrib

[root@wombat9000:~]# nix-env -qaP | grep xmonadExtras



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


Re: [Nix-dev] Confused about packages

2015-05-15 Thread Marc Weber
 [ with and without version numbers ]
Version numbers get added if people find that there is need to keep
multiple versions. Thus its kind of random

 where / how to find package names
See https://nixos.org/wiki/Howto_find_a_package_in_NixOS

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


[Nix-dev] error: attribute ‘xmonadContrib’ missing

2015-05-15 Thread Amy de Buitléir
I'm getting an error message I don't understand. I haven't touched the
xmonadContrib stuff, so why would it be complaining about that?

[root@wombat9000:~]# nixos-rebuild switch 
building Nix...
building the system configuration...
error: attribute ‘xmonadContrib’ missing, at /etc/nixos/configuration.nix:35:5
(use ‘--show-trace’ to show detailed location information)



# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).

{ config, pkgs, ... }:

{
  imports =
[ # Include the results of the hardware scan.
  ./hardware-configuration.nix
];

  boot.loader.grub.device = /dev/sda1;

  # Use the gummiboot efi boot loader.
  boot.loader.gummiboot.enable = true;
  boot.loader.efi.canTouchEfiVariables = true;

  networking.hostName = wombat9000; # Define your hostname.
  # networking.wireless.enable = true;  # Enables wireless.

  # Select internationalisation properties.
  i18n = {
consoleFont = lat9w-16;
# consoleKeyMap = ie;
defaultLocale = en_IE.UTF-8;
  };

  # List packages installed in system profile. To search by name, run:
  # -env -qaP | grep wget
  environment.systemPackages = with pkgs; [
dmenu2
dzen2
haskellPackages.xmonad
haskellPackages.xmonadContrib
haskellPackages.xmonadExtras
wget
xsel
  ];

  nixpkgs.config.packageOverrides = pkgs : rec { 
haskellngPackages = pkgs.haskell-ng.packages.ghc7101; 
  };

  nixpkgs.config.allowUnfree = true;

  security.sudo.enable = true;

  # List services that you want to enable:

  # Enable the OpenSSH daemon.
  # services.openssh.enable = true;

  # Enable CUPS to print documents.
  # services.printing.enable = true;

  # Enable the X11 windowing system.
  services.xserver.enable = true;
  services.xserver.layout = ie;
  # services.xserver.xkbOptions = eurosign:e;
  services.xserver.videoDrivers = [ nvidia ];

  # Enable the KDE Desktop Environment.
  # services.xserver.displayManager.kdm.enable = true;
  # services.xserver.displayManager.lightdm.enable = true;
  # services.xserver.displayManager.slim.enable = false;
  # services.xserver.desktopManager.kde4.enable = true;
  # services.xserver.desktopManager.xfce.enable = true;
  services.xserver.desktopManager.xterm.enable = false;
  services.xserver.desktopManager.default = none;
  services.xserver.windowManager.xmonad.enable = true;
  services.xserver.windowManager.xmonad.extraPackages =
haskellngPackages: [
haskellngPackages.xmonad-contrib
   ];

  users.extraUsers.amy = {
description = Amy de Buitléir;
group = users;
extraGroups = [ wheel ];
uid = 1000;
createHome = true;
home = /home/amy;
shell = /run/current-system/sw/bin/bash;
  };

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


Re: [Nix-dev] error: attribute ‘xmonadContrib’ missing

2015-05-15 Thread Arseniy Seroka
Use this
`services.xserver.windowManager.xmonad.enableContribAndExtras = true;`

2015-05-16 0:19 GMT+03:00 Amy de Buitléir a...@nualeargais.ie:

 I'm getting an error message I don't understand. I haven't touched the
 xmonadContrib stuff, so why would it be complaining about that?

 [root@wombat9000:~]# nixos-rebuild switch
 building Nix...
 building the system configuration...
 error: attribute ‘xmonadContrib’ missing, at
 /etc/nixos/configuration.nix:35:5
 (use ‘--show-trace’ to show detailed location information)



 # Edit this configuration file to define what should be installed on
 # your system.  Help is available in the configuration.nix(5) man page
 # and in the NixOS manual (accessible by running ‘nixos-help’).

 { config, pkgs, ... }:

 {
   imports =
 [ # Include the results of the hardware scan.
   ./hardware-configuration.nix
 ];

   boot.loader.grub.device = /dev/sda1;

   # Use the gummiboot efi boot loader.
   boot.loader.gummiboot.enable = true;
   boot.loader.efi.canTouchEfiVariables = true;

   networking.hostName = wombat9000; # Define your hostname.
   # networking.wireless.enable = true;  # Enables wireless.

   # Select internationalisation properties.
   i18n = {
 consoleFont = lat9w-16;
 # consoleKeyMap = ie;
 defaultLocale = en_IE.UTF-8;
   };

   # List packages installed in system profile. To search by name, run:
   # -env -qaP | grep wget
   environment.systemPackages = with pkgs; [
 dmenu2
 dzen2
 haskellPackages.xmonad
 haskellPackages.xmonadContrib
 haskellPackages.xmonadExtras
 wget
 xsel
   ];

   nixpkgs.config.packageOverrides = pkgs : rec {
 haskellngPackages = pkgs.haskell-ng.packages.ghc7101;
   };

   nixpkgs.config.allowUnfree = true;

   security.sudo.enable = true;

   # List services that you want to enable:

   # Enable the OpenSSH daemon.
   # services.openssh.enable = true;

   # Enable CUPS to print documents.
   # services.printing.enable = true;

   # Enable the X11 windowing system.
   services.xserver.enable = true;
   services.xserver.layout = ie;
   # services.xserver.xkbOptions = eurosign:e;
   services.xserver.videoDrivers = [ nvidia ];

   # Enable the KDE Desktop Environment.
   # services.xserver.displayManager.kdm.enable = true;
   # services.xserver.displayManager.lightdm.enable = true;
   # services.xserver.displayManager.slim.enable = false;
   # services.xserver.desktopManager.kde4.enable = true;
   # services.xserver.desktopManager.xfce.enable = true;
   services.xserver.desktopManager.xterm.enable = false;
   services.xserver.desktopManager.default = none;
   services.xserver.windowManager.xmonad.enable = true;
   services.xserver.windowManager.xmonad.extraPackages =
 haskellngPackages: [
 haskellngPackages.xmonad-contrib
];

   users.extraUsers.amy = {
 description = Amy de Buitléir;
 group = users;
 extraGroups = [ wheel ];
 uid = 1000;
 createHome = true;
 home = /home/amy;
 shell = /run/current-system/sw/bin/bash;
   };

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




-- 
Sincerely,
Arseniy Seroka
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Confused about packages

2015-05-15 Thread Vladimír Čunát
Hi.

On 05/15/2015 11:09 PM, Amy de Buitléir wrote:
 Q 1. Why do some packages have version numbers, and some don't? Are the ones
 without version numbers some sort of virtual package?

Missing version should be considered a bug, I believe, at least in most
cases. I versioned dmenu2 in d41798321.

 Q 2. Why can't I find some packages that I would expect to find? Are they
 hidden? For example, I have the following in my 
 /etc/nixos/configuration.nix:
 
   environment.systemPackages = with pkgs; [
 dmenu2
 dzen2
 haskellPackages.xmonad
 haskellPackages.xmonadContrib
 haskellPackages.xmonadExtras
 wget
 xsel
   ];
 
 But if someone hadn't told me the names to put there, how could I have found
 the names of the packages? Searching for them using nix-env didn't find them:

I consider that a bug, too.
Peti: I guess this would be because of haskellPackages missing
recurseIntoAttrs. I can't see it in there and no haskell packages are
shown for me on master.


Vladimir




smime.p7s
Description: S/MIME Cryptographic Signature
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] error: attribute ‘xmonadContrib’ missing

2015-05-15 Thread Amy de Buitléir
Arseniy Seroka ars.seroka at gmail.com writes:

 Use this`services.xserver.windowManager.xmonad.enableContribAndExtras = true;`

Hmm... trid that just now, but I get the same error message. Could this have
anything to do with changes to Haskell NG?

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


Re: [Nix-dev] error: attribute ‘xmonadContrib’ missing

2015-05-15 Thread Arseniy Seroka
Oh, I've missed another line.
Change
haskellPackages.xmonad
haskellPackages.xmonadContrib
haskellPackages.xmonadExtras

to
haskellngPackages.xmonad
haskellngPackages.xmonad-contrib
haskellngPackages.xmonad-extras

2015-05-16 0:33 GMT+03:00 Amy de Buitléir a...@nualeargais.ie:

 Arseniy Seroka ars.seroka at gmail.com writes:

  Use this`services.xserver.windowManager.xmonad.enableContribAndExtras =
 true;`

 Hmm... trid that just now, but I get the same error message. Could this
 have
 anything to do with changes to Haskell NG?

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




-- 
Sincerely,
Arseniy Seroka
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev


Re: [Nix-dev] Sharing Nix store between systems

2015-05-15 Thread Tyson Whitehead
On April 29, 2015 14:03:08 Tyson Whitehead wrote:
 I'm looking to setup a shared nix store for our HPC clusters.  Googling for a 
 shared store only gives a brief discussion back at the end of 2011
 
 http://lists.science.uu.nl/pipermail/nix-dev/2011-December/007381.html
 
 My current plan of attack (informed by that thread) is to setup a sever 
 (hereafter the nix server) running the nix daemon that exports
 
 - a read-only version of the store
 - a read/write version of the gcroots and profiles directories
 
 Machines that mount the store and gcroots/profiles would then be set to 
 forward the nix daemon socket to the nix server.

Got this working by the way on our HPC clusters.  Ended up

1 - adding socket code to remote-store.cc to initiate connections, and
2 - using systemd socket passing with nix-env to listen on a port

I've pushed a temporary branch to a github fork

https://github.com/NixOS/nix/compare/master...twhitehead:remote

I would like to get this officially supported, so my intent is to get some 
feedback before doing a pull request.

How would you like this to work?  Something enabled by configure?  Always 
supported out of the box?  Should I open an issue?

Thanks!  -Tyson
___
nix-dev mailing list
nix-dev@lists.science.uu.nl
http://lists.science.uu.nl/mailman/listinfo/nix-dev