[Nix-dev] Custom libc

2016-10-12 Thread Nikita Karetnikov
How can I override glibc in nix-shell and use eglibc, for instance? Are there any examples? Do I need to override stdenv for that? Overriding the attributes of glibc (version and sha) directly doesn't seem to work. Could anyone provide an example? ___

Re: [Nix-dev] "IO" in Nix

2016-05-23 Thread Nikita Karetnikov
Not to turn this into a flame war, but there were discussions in the past whether Nix should have been a DSL embedded in, say, Haskell. IIRC, you felt okay about it being a standalone DSL, do you still feel the same way? P.S. Yes, I know about Guix, but it's written in (a uni-typed) Scheme.

Re: [Nix-dev] Packaging software that mutates itself

2016-05-05 Thread Nikita Karetnikov
On Fri, May 06, 2016 at 01:02:15AM +0300, Nikita Karetnikov wrote: > The server is controlled by other people. I'd like to add that I'm assuming that these people are not malicious. In this case, I'm more worried about a misconfigured package that might break my system in some

[Nix-dev] Packaging software that mutates itself

2016-05-05 Thread Nikita Karetnikov
I've talked a bit about this on IRC earlier today, but I think the issue deserves an in-depth discussion. It's more of a general policy question, a clash of an imperative world and a pure functional one. I'm trying to package a Java program, a client, which can be (among other things) updated by

Re: [Nix-dev] Dynamically changing authorized_keys to work with ssh-copy-id

2016-04-05 Thread Nikita Karetnikov
On Wed, Apr 06, 2016 at 01:10:56AM +0300, Nikita Karetnikov wrote: > I've been told on IRC (by clever) that it's somehow possible with the fields > I'm > using, but (after re-reading 'man configuration.nix') I can't think of > a way to make it work. So what are my options? Per

[Nix-dev] Dynamically changing authorized_keys to work with ssh-copy-id

2016-04-05 Thread Nikita Karetnikov
TL;DR: I'd like to change '~/.ssh/authorized_keys' via ssh-copy-id. The file gets changed, but the changes have no effect on the running system. In 'configuration.nix', I already have 'openssh.authorizedKeys.keys', so I've also tried pointing 'openssh.authorizedKeys.keyFiles' to

Re: [Nix-dev] Configuring vim with override

2016-03-02 Thread Nikita Karetnikov
Wed, Mar 02, 2016 at 10:00:00AM +1100, Jookia wrote: > vim_configurable is used like this: > > myVim = pkgs.vim_configurable.merge { > features = "huge"; # one of tiny, small, normal, big or huge > gui = "gtk"; > cfg = { > pythonSupport = true; > python3Support = true;

[Nix-dev] Configuring vim with override

2016-03-01 Thread Nikita Karetnikov
I'd like to enable cscope and clipboard support in vim by editing only the configuration.nix file. If I understand the NixOS manual correctly, it should look like this: environment.systemPackages = [ (pkgs.emacs.override { gtk = pkgs.gtk3; }) ];

Re: [Nix-dev] Haskell: Stackage and Nix

2015-09-12 Thread Nikita Karetnikov
> Hi! I am also interested in handling Stackage packages with NixOS. I > personally think that NixOS itself does all the things Stackage do and > more. Unfortunately, I am to build several existing projects which use > Stackage and not Nix. > > Nikita, are you going to patch Stack with patchelf

[Nix-dev] PSA: basic NixOS installer

2015-09-01 Thread Nikita Karetnikov
I wrote a simple script for myself for installing on a UEFI machine. Maybe someone will find it useful: https://github.com/nkaretnikov/nixos-installer The main idea is to allow you to boot with a minimal config, so you could iterate on it, instead of dancing around with a flash drive in case you

[Nix-dev] Increase the size of /run/user/1000

2015-07-14 Thread Nikita Karetnikov
I'm aware of boot.runSize, but it doesn't seem to affect /run/user/1000. What's the proper way to do it? signature.asc Description: PGP signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev

[Nix-dev] Haskell: Stackage and Nix

2015-07-13 Thread Nikita Karetnikov
Is there a way to build packages from Stackage? It'd be cool to have a separate namespace for that, so I could refer to a package as stackagePackages.something. That's the only relevant post I've found: http://article.gmane.org/gmane.linux.distributions.nixos/15724 But it seems to require a lot

Re: [Nix-dev] gold linker in shell.nix

2015-05-02 Thread Nikita Karetnikov
Stdenv should put ld.gold on PATH, so then it can be used just as ld.gold is used, I guess. So, are you suggesting to just enable it system-wide? How can I do that? ___ nix-dev mailing list nix-dev@lists.science.uu.nl

[Nix-dev] gold linker in shell.nix

2015-05-01 Thread Nikita Karetnikov
How do I link with gold in nix-shell? ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev

[Nix-dev] Haskell NG: multiple project usage

2015-03-28 Thread Nikita Karetnikov
I added a new datatype to tasty-core, which I'd like to use in tasty-quickcheck. I generated two default.nix files as described here: http://stackoverflow.com/questions/27968909/how-to-get-cabal-and-nix-work-together And put this shell.nix file into the tasty-quickcheck directory:

[Nix-dev] Haskell NG: let's update the wiki

2015-03-07 Thread Nikita Karetnikov
The current Haskell package set will be removed in a few weeks: https://github.com/NixOS/nixpkgs/pull/6670#issuecomment-77688859 So it'd be nice to prepare the wiki. I've added a new section and a useful snippet: https://nixos.org/wiki/Haskell#Haskell_NG I cannot just paste the other code

Re: [Nix-dev] Permission error when installing mpd

2015-02-20 Thread Nikita Karetnikov
If you have a moment, please record the error you're seeing when you just use mpd.enable = true, and then file a bug on github. https://github.com/NixOS/nixpkgs/issues/6470 signature.asc Description: PGP signature ___ nix-dev mailing list

Re: [Nix-dev] Permission error when installing mpd

2015-02-19 Thread Nikita Karetnikov
Looking at the source (nixos/modules/services/audio/mpd.nix), it looks like the mpd service is designed to run as the mpd user. If you are willing to go with that design, I guess you should not set services.mpd.dataDir, and make sure the mpd user has read access to your music directory. (It

[Nix-dev] Permission error when installing mpd

2015-02-18 Thread Nikita Karetnikov
I've tried various options, but mpd always fails with a permission error. Here's one example: services.mpd.enable = true; services.mpd.dataDir = /home/nikita/dotfiles/mpd/.mpd; services.mpd.musicDirectory = /home/nikita/music; Both directories exist. $ journalctl -u mpd.service Feb 19

[Nix-dev] Automatically locking the screen with xautolock

2015-02-08 Thread Nikita Karetnikov
How do I automatically lock the screen in NixOS? I've installed xautolock and slock. And tested sudo xautolock -time 1 -locker slock in the shell, which works fine. Can I make it work without sudo? It's a problem because these lines in configuration.nix: displayManager.sessionCommands

Re: [Nix-dev] Haskell: indexing all packages on Hackage with Hoogle

2015-02-08 Thread Nikita Karetnikov
Just for what it's worth, I have in the past indexed everything, but it causes far too much noise in the search output. This is why the hoogle-local expression takes the approach of asking for a list of 'packages' to indicate what should be indexed. Well, it's certainly better than nothing.

[Nix-dev] Haskell: indexing all packages on Hackage with Hoogle

2015-02-08 Thread Nikita Karetnikov
Has anyone tried that? Most of the guides suggest you to run the following command, which should download the necessary databases, but it fails for me. $ hoogle data all default hoogle:

Re: [Nix-dev] Haskell: indexing all packages on Hackage with Hoogle

2015-02-08 Thread Nikita Karetnikov
I often don't use hoogle, hack-nix can autotag sources you use for projects - that is always accurate. The usecase I have in mind is when I want to find out whether a certain thing exists on Hackage already or not. E.g., I need the Month data type; surely someone has already defined one, so I

[Nix-dev] Using a smartcard with GPG

2015-02-05 Thread Nikita Karetnikov
Since NixOS is an unusual system, I’ve decided to ask here before talking to the GnuPG people. How can I access a smart card? 'pccardctl' (see https://github.com/NixOS/nixpkgs/pull/6172) detects it: $ /nix/store/dwibbrcls43c0bxkcj52qj6mi8xipd6a-pcmciautils-017/bin/pccardctl ls Socket 0 Bridge:

[Nix-dev] Haskell: Using Nix with cabal.config

2015-01-31 Thread Nikita Karetnikov
I’d like to build an application using the versions specified in a cabal.config file (cabal-install is included in the shell.nix file). Is there an easy way to do it? After talking to people on #nixos, I got the impression that having your own Nixpkgs branch is the only way if you want to share

Re: [Nix-dev] environment.allowedLicenses ?

2015-01-26 Thread Nikita Karetnikov
I actually think we should *remove* meta.license entirely (because it doesn't provide useful info to users and tends to be wrong or incomplete anyway), and replace it with attributes that have operational meaning: People who do care about the exact license of a package should use a tool like

Re: [Nix-dev] Encrypted root: LUKS over LVM

2015-01-11 Thread Nikita Karetnikov
# Do not modify this file! It was generated by ‘nixos-generate-config’ # and may be overwritten by future invocations. Please make changes # to /etc/nixos/configuration.nix instead. { config, pkgs, ... }: { imports = [ nixpkgs/nixos/modules/installer/scan/not-detected.nix ];

Re: [Nix-dev] Encrypted root: LUKS over LVM

2015-01-07 Thread Nikita Karetnikov
That's odd. Do you have any idea why e2fsck is failing? Nope. What happens if you run e2fsck -n /dev/main/main after booting? # e2fsck -n /dev/main/main e2fsck 1.42.12 (29-Aug-2014) Warning! /dev/main/main is mounted. Warning: skipping journal recovery because doing a read-only filesystem

Re: [Nix-dev] Encrypted root: LUKS over LVM

2015-01-06 Thread Nikita Karetnikov
Yes, as James says, you should really mount /mnt first. Mounting /mnt after /mnt/boot means that /mnt/boot is seen empty. Thanks, this made it work. After changing “/dev/mapper/main” to “/dev/main/main” in the config file, I was able to boot. But now the following message appears during the

Re: [Nix-dev] Encrypted root: LUKS over LVM

2015-01-06 Thread Nikita Karetnikov
I forgot to say that adding ‘noCheck = true;’ doesn’t seem to work. pgpUuN3EzDKAd.pgp Description: PGP signature ___ nix-dev mailing list nix-dev@lists.science.uu.nl http://lists.science.uu.nl/mailman/listinfo/nix-dev

[Nix-dev] Encrypted root: LUKS over LVM

2015-01-04 Thread Nikita Karetnikov
I’m trying to configure NixOS with LUKS over LVM as described in [1]. After partitioning the disk (see ‘partition-table.sfdisk’), I did the following: # mkfs.ext3 /dev/sda1 # cryptsetup luksFormat -i 5000 /dev/sda2 # cryptsetup luksOpen /dev/sda2 main # pvcreate /dev/mapper/main # vgcreate main

[Nix-dev] Making a custom installation tarball

2014-12-26 Thread Nikita Karetnikov
I’d like to make an installation tarball with a custom set of packages. I’ve been pointed to [1], which is a Hydra job. Is it possible without Hydra? Could anyone explain in detail what I need to do? (It’d be great to create a wiki page for this.) [1]

Re: [Nix-dev] Package archeology in nixpkgs

2014-08-30 Thread Nikita Karetnikov
- NHC: can build it with HBC According to [1], it can be bootstrapped via C. If I remember correctly, I successfully built it this way in the past (outside of NixOS). How do people feel about this? I think it’s a great idea. I always wanted to try HBI, which “supports the full language at

Re: [Nix-dev] Using several versions of GHC at once

2013-06-15 Thread Nikita Karetnikov
I have committed a patch recently that fix building of cabal-install with older GHC versions. Maybe that changes makes a difference. If you have the chance, please try installing that package again with a recent version of Nixpkgs. It works, but I've tried too many things at the same time.

Re: [Nix-dev] Using several versions of GHC at once

2013-06-15 Thread Nikita Karetnikov
Priorities can be assigned in the sources. Could you show an example? It seems these files [1,2] don't have any. [1] https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/libraries/haskell/binary/0.6.0.0.nix [2]

Re: [Nix-dev] Using several versions of GHC at once

2013-06-12 Thread Nikita Karetnikov
The way to go is to create a separate profile for every version of GHC that you want to use like so: $ nix-env -p ~/ghc-6.10.4 -iA nixpkgs.haskellPackages_ghc6104.ghc $ nix-env -p ~/ghc-7.6.3 -iA nixpkgs.haskellPackages_ghc762.ghc Now, you can add both of those profiles into your

Re: [Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-13 Thread Nikita Karetnikov
Are you doing chroot builds? No, '/etc/nix/nix.conf' is empty. Also, the following errors appeared after that error. [root@nixos:/]# ls sh: /run/current-system/sw/bin/ls: No such file or directory [root@nixos:/]# cd [root@nixos:~]# whoami sh: /run/current-system/sw/bin/whoami: No such file

[Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-12 Thread Nikita Karetnikov
Hi, I'm trying to install NixOS in a chroot. I'm using a tarball (nixos-system-mips64el-linux.tar.xz) that I fetched several month ago. So, the problem is the following error message. # nix-env -i hello error: syntax error, unexpected $undefined, expecting '}', at

[Nix-dev] [***SPAM***] HYDRA_DISALLOW_UNFREE=1 allows to install the Linux kernel from kernel.org

2013-01-12 Thread Nikita Karetnikov
Hi, I've been told some time ago that it's possible to use NixOS without non-free packages if I run 'export HYDRA_DISALLOW_UNFREE=1'. Unfortunately, it allows to use a non-free version of the Linux kernel. Yes, I can change the corresponding recipe. But can this be done automatically? Also, are

Re: [Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-12 Thread Nikita Karetnikov
The problem is not with the tarball per se, it's with nixpkgs. To fix the issue, you can either update your nix version to at least nix 1.2, or wait until https://github.com/NixOS/nixpkgs/commit/ 5626c5cdfb6de664881eb8b79dd54a8f4ca19b8f hits the nixpkgs channel so it will still work with

[Nix-dev] [***SPAM***] Re: HYDRA_DISALLOW_UNFREE=1 allows to install the Linux kernel from kernel.org

2013-01-12 Thread Nikita Karetnikov
HYDRA_DISALLOW_UNFREE was designed for our buildfarm, where unfree means not legally distributable. Since the kernel is legal to distribute despite the binary firmware blobs (I assume that's your objection?), HYDRA_DISALLOW_UNFREE will block it. Linux, the kernel developed and distributed

Re: [Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-12 Thread Nikita Karetnikov
I built it and Nikita picked it thanks to OOB conversations :) The same way I distributed arm system tarballs on request. Ah, right. I forgot about that. Thanks. Nikita pgpWWuh4NDU9P.pgp Description: PGP signature ___ nix-dev mailing list

Re: [Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-12 Thread Nikita Karetnikov
I believe that if you do 'nix-env -iA nix' (note the 'A'), you'll be able to install the newer nix without hitting the issue in replace-dependency. # nix-env -iA nix error: attribute `nix' in selection path `nix' not found I've found a workaround here [1], but it didn't help. Do you have any

Re: [Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-12 Thread Nikita Karetnikov
Ah, right, you'll need something like nix-env -iA nixos.nixpkgs.nix. If that path doesn't work (that's for the nixos channel, you may need something different), look for a directory named nixpkgs in ~/.nix-defexpr (or its subdirectories), and do nix-env -iA nix -f

Re: [Nix-dev] mips64el: syntax error in 'replace-dependency.nix'

2013-01-12 Thread Nikita Karetnikov
Thanks, the latter did the job. Oh, it failed. [...] glibc-ports-2.13/sysdeps/z8000/mul_1.s glibc-ports-2.13/sysdeps/z8000/sub_n.s configure flags: --disable-static --prefix=/nix/store/zcfiac107h1nji9sdiv2m1dzpvvagrh5-glibc-2.13 -C --enable-add-ons --sysconfdir=/etc