[Nix-dev] nix-shell enhancements

Joachim Schiele js at lastlog.de
Sat Jul 27 00:56:27 CEST 2013


hi eelco,

cillian and i have been designing nix-ray, see
   https://github.com/qknight/nix-ray/blob/master/userstory.org

but some important features were not available from the python shell like:
  - a list of defined phase
  - functions like genericBuild/configurePhase/... recognized via 
'typeset -f genericBuild'

so in order to have them in nix-fuse i hacked nix-shell (nix-build 
actually). please have a look at:
   https://github.com/qknight/nix-ray/blob/master/nix-shell
   line 199 to 257 where i made several changes.

the new nix-shell looks like:
   https://github.com/qknight/nix-ray/blob/master/linux-adaption-slide1.jpeg

and has the basic functionality for nix-ray included. what is still 
missing: from nix-ray we can't execute the mentioned functions like 
genericBuild/configurePhase since they are not inherited when spawning a 
child shell. i will look into that later, but for now it would be a very 
good enhancement to include the color theme into nix-shell.

hope you like it ;-)

please feel free to fix the sed hack
               PHASES_ALL=$(typeset -f genericBuild | grep 'phases=' | 
sed -e 's/phases=//g' -e 's/"//g' -e 's/;//g' -e 's/\$[a-zA-Z]*//g' -e 
's/ *$//g' | xargs | sed -e 's/Phase//g')

but i can't think of a better solution right now.

best wishes,
joachim


More information about the nix-dev mailing list