Ceh - power user environments to share

Gergely Risko ()

FP Afternoon in Zurich - August 29th, 2013

Agenda

Nix, Nixpkgs, NixOS

NixOS screenshot 1/2

NixOS grub menu, note the different configurations! You can boot the system at a specific version by just choosing from GRUB.

NixOS screenshot 2/2

NixOS goals

Ceh goals

Nix details

Nix details

Ceh details

sudo mkdir /opt/ceh /nix
sudo chown $USER. /opt/ceh /nix
chmod 0700 /opt/ceh /nix
cd /opt/ceh
git clone git://github.com/errge/ceh.git .
ln -s $HOME home
/opt/ceh/scripts/ceh-init.sh

Haskell integration, included tools

Deploying compiled binaries

errge@curry:/tmp/deploy $ ldd ./PrefetchFS ; du -sh
  linux-gate.so.1 (0xf778a000)
  libfuse.so.2 => /tmp/deploy/./lib/libfuse.so.2 (0xf7754000)
  librt.so.1 => /tmp/deploy/./lib/librt.so.1 (0xf774c000)
  libutil.so.1 => /tmp/deploy/./lib/libutil.so.1 (0xf7747000)
  libdl.so.2 => /tmp/deploy/./lib/libdl.so.2 (0xf7743000)
  libgmp.so.10 => /tmp/deploy/./lib/libgmp.so.10 (0xf76c8000)
  libm.so.6 => /tmp/deploy/./lib/libm.so.6 (0xf768a000)
  libpthread.so.0 => /tmp/deploy/./lib/libpthread.so.0 (0xf7671000)
  libc.so.6 => /tmp/deploy/./lib/libc.so.6 (0xf74da000)
  /lib/ld-linux.so.2 (0xf778b000)
4.3M    .

Travis thyme

https://travis-ci.org/errge/thyme

.travis.yml, .travis.ceh:

language: c
install: bash ./.travis.ceh
script: bash ./.travis.main
env:
  - CEH_GHC64=
  - CEH_GHC64=1
#!/bin/bash -e

sudo mkdir /opt/ceh /nix
sudo chown $USER. /opt/ceh /nix
chmod 0700 /opt/ceh /nix
cd /opt/ceh
git clone git://github.com/errge/ceh.git .
ln -s $HOME home
/opt/ceh/scripts/ceh-init.sh

Travis thyme

https://travis-ci.org/errge/thyme

.travis.main:

#!/bin/bash -e

. /opt/ceh/scripts/ceh-profile.sh

cabal update
cabal install --only-dependencies
cabal configure --user --enable-tests
cabal build
cabal test

Summary, where to go from here

So, how to use all this, where to go from here?

Thank you

Questions, remarks?

I'm also available during the Zurihac to answer your questions or help with installing/using/abusing Ceh.

http://github.com/errge/ceh