2#===============================================================================
4# FILE: generate-nix-files.sh
6# USAGE: ./generate-nix-files.sh
8# DESCRIPTION: Update nix files at top-level and add all packages
10# REQUIREMENTS: bash >= 4, cabal2nix(nix tool)
11#===============================================================================
16DIR=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
20write-package-shell-nix () {
22 echo -e "let" >> $SHELLNIX
23 echo -e " pkgs = import <nixpkgs> {};" >> $SHELLNIX
24 echo -e "" >> $SHELLNIX
25 echo -e " haskellPackages = pkgs.haskellPackages.override {" >> $SHELLNIX
26 echo -e " overrides = self: super: {" >> $SHELLNIX
27 for n in ${SOURCES[@]} ; do
28 if [[ $1 != $n ]]; then
29 echo -e " $n = pkgs.haskell.lib.dontCheck (pkgs.haskell.lib.appendConfigureFlag (self.callPackage ../$n {}) \"--ghc-options=-Werror\");" >> $SHELLNIX
32 echo -e " $1 = pkgs.haskell.lib.appendConfigureFlag (self.callPackage ./. {}) \"--ghc-options=-Werror\";" >> $SHELLNIX
33 echo -e " };" >> $SHELLNIX
34 echo -e " };" >> $SHELLNIX
35 echo -e "" >> $SHELLNIX
36 echo -e "in haskellPackages.$s.env" >> $SHELLNIX
40 for s in ${SOURCES[@]} ; do
41 pushd "$s" > /dev/null
42 cabal2nix . > default.nix
43 write-package-shell-nix $s
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list