2017-05-08 4 views
2

En tant que non-nix'er J'ai installé la dernière version de https://github.com/reflex-frp/reflex-platform. Je pense que travailler dans ce shell nix est une expérience agréable.Nix shell: Comment lister les versions du paquet Haskell installées

Maintenant, je veux savoir quels paquets Haskell dans quelles versions sont installés et utilisés dans ce shell. Après quelques googler j'ai trouvé une commande nix-env sous la forme suivante:

nix-env -f '<nixpkgs>' -qaPA haskellPackages|grep reflex-dom

Cette commande me donne la version du réflexe dom comme réflexe-dom-0,3. Mais je sais de here que dans mon shell nix j'utilise la nouvelle version 0.4 de reflex-dom. Donc je suppose que la commande ci-dessus liste juste les paquets Hackage disponibles.

Quelle est la bonne commande nix-env -q pour obtenir uniquement les paquets Haskell installés et ses versions ?.

(j'ai joué avec l'option --installed, mais je ne ai jamais eu quelque chose)

Répondre

1

Vous pouvez essayer de nix-store -q --references $out après avoir entré dans la coquille. Ceci, cependant, mélange à la fois les dépendances haskell et non-haskell dans la sortie.

Ceci est un exemple avec filtre appliqué:

$ nix-store -q --references $out \ | while read p; do du -a $p | grep -q ghc && echo $p; done

+0

À partir de votre commande 'nix magasin -q --references $ out' je reçois un résultat de 11 lignes. Une ligne très intéressante est '/ nix/store/34h4mj588w6q0q18izpxrc4wc0wqbfl4-ghc-8.0.2-with-packages', une autre ligne intéressante est'/nix/store/knbj6a7b3ra8zawy1jmlvahmr8x7rxnd-ghcjs-0.2.0-with-packages'. Mon intérêt est de savoir ce qui est exactement derrière _with-packages_. Quels sont tous ces paquets et leurs versions? – Jogger

+0

essayez d'exécuter 'nix-store -q --references' pour la ligne ghc-with-packages – danbst

+0

Oui, la commande 'nix-store -q --references /nix/store/34h4mj588w6q0q18izpxrc4wc0wqbfl4-ghc-8.0.2-with- packages' génère une liste intéressante. Merci! – Jogger