Re: [Nix-dev] How to test my service definition without actually installing it?
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
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
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
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
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
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)
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)
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
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
[ 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
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
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
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
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
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
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