Facebook
From shajra, 4 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 463
  1. self: super:
  2.  
  3. let
  4.  
  5.     src = {
  6.         codex = super.fetchFromGitHub {
  7.             owner = "aloiscochard";
  8.             repo = "codex";
  9.             rev = "48b2a4b94132b537943bcd966c3922cbf67a7409";
  10.             sha256 = "1mwsz824rqsphy68frqdrpkdmvlqg3zfn7wb565r8621jbbn9iws";
  11.         };
  12.         haskell-code-explorer = super.fetchFromGitHub {
  13.             owner = "alexwl";
  14.             repo = "haskell-code-explorer";
  15.             #rev = "eddf2c825dee199de0e958857f0daf3d08a07532";
  16.             #rev = "cac568f01609bf224c0e26ec62880bf7dbb58a07";
  17.             rev = "3da88457b2566aec3f4e0b368a21c9f2bb389e29";
  18.             #sha256 = "07b8apl6qkp3bahjyykhskrsfwbglc69dpr43lifbc8pg0xv1v49";
  19.             #sha256 = "0s26yav6w4j4nzrbdv3wms931zbi0vm2nbiinfqwv87x35y42sbg";
  20.             sha256 = "0yib189bh9x5qs5rx4a7i3cj77nn7nd6395kdm1nb2120iv37bl5";
  21.         };
  22.     };
  23.  
  24.     ghc82Packages = super.haskell.packages.ghc822.override {
  25.         overrides = hSelf: hSuper: {
  26.         };
  27.     };
  28.  
  29.     ghc84Packages = super.haskell.packages.ghc844.override {
  30.         overrides = hSelf: hSuper: {
  31.         };
  32.     };
  33.  
  34.     ghc86Packages = super.haskell.packages.ghc865.override {
  35.         overrides = hSelf: hSuper: {
  36.         };
  37.     };
  38.  
  39.     haskellPackages = super.haskellPackages.override {
  40.         overrides = hSelf: hSuper: {
  41.  
  42.             # DESIGN: pinning to the latest version
  43.             codex = hSuper.callCabal2nix "codex" src.codex {};
  44.             haskell-code-explorer = hSuper.callCabal2nix "haskell-code-explorer" src.haskell-code-explorer {};
  45.  
  46.             # DESIGN: try commenting out, but the tests hang
  47.             #ghc-exactprint = super.haskell.lib.dontCheck (hSuper.callHackage "ghc-exactprint" "0.5.8.2" {});
  48.             ghc-exactprint = super.haskell.lib.dontCheck (hSuper.callHackage "ghc-exactprint" "0.6.1" {});
  49.  
  50.             # DESIGN: Nixpkgs isn't on latest yet (as of 2019-04-30), but this # breaks
  51.             # hlint = hSuper.callHackage "hlint" "2.1.17" {};
  52.  
  53.             #ghcid = hSuper.callHackage "hlint" "0.7.2" {};
  54.  
  55.             # Not using currently
  56.             #cabal-helper = super.haskell.lib.doJailbreak hSuper.cabal-helper;
  57.             #cabal-helper = hSuper.callHackage "cabal-helper" "0.8.2.0" {};
  58.         };
  59.     };
  60.  
  61.     haskellApp = super.haskell.lib.justStaticExecutables;
  62.  
  63.     # fails to build
  64.     nodejs =
  65.         let buildNodejs = super.callPackage
  66.                 "${super.path}/pkgs/development/web/nodejs/nodejs.nix" {};
  67.             enableNpm = true;
  68.             rawNodejs = buildNodejs {
  69.                 inherit enableNpm;
  70.                 version = "10.15.1";
  71.                 sha256 = "0n68c4zjakdj6yzdc9fbrn0wghyslkya9sz1v6122i40zfwzfm8s";
  72.             };
  73.             rawNodejs_ = super.callPackage
  74.                 "${super.path}/pkgs/development/web/nodejs/v10.nix" {};
  75.         in super.lib.hiPrio rawNodejs;
  76.  
  77.     yarn = self.yarn.override { nodejs = self.nodejs-10_x; };
  78.  
  79. in
  80.  
  81. {
  82.  
  83.     global = super.global.overrideAttrs (oldAttrs: {
  84.         postInstall = ''
  85.           mkdir -p "$out/share/emacs/site-lisp"
  86.           cp -v *.el "$out/share/emacs/site-lisp"
  87.  
  88.           wrapProgram $out/bin/gtags \
  89.             --set GTAGSCONF "$out/share/gtags/gtags.conf" \
  90.             --prefix PYTHONPATH : "$(toPythonPath ${super.pythonPackages.pygments})"
  91.           wrapProgram $out/bin/global \
  92.             --set GTAGSCONF "$out/share/gtags/gtags.conf" \
  93.             --prefix PYTHONPATH : "$(toPythonPath ${super.pythonPackages.pygments})"
  94.         '';
  95.     });
  96.  
  97.     all-cabal-hashes = super.fetchurl {
  98.         url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/58e8d9489a7588093b432bcdc9a981628e41673a.tar.gz";
  99.         sha256 = "1qwq386q15pwwy8136n632hzy0gkrmi57gfdyz7lh5nixcrmdhmi";
  100.     };
  101.  
  102.     my-packages = [
  103.         yarn
  104.         self.autojump
  105.         self.cabal-install
  106.         self.cabal2nix
  107.         self.cloc
  108.         self.coreutils
  109.         self.dfu-programmer
  110.         self.dfu-util
  111.         self.dhall
  112.         self.direnv
  113.         self.fswatch
  114.         self.ghc
  115.         self.git
  116.         self.global
  117.         self.gnugrep
  118.         self.gnupg
  119.         self.graphviz
  120.         self.htop
  121.         self.imagemagick
  122.         self.ispell
  123.         self.jq
  124.         self.jre
  125.         self.kubernetes-helm
  126.         self.mpc_cli
  127.         self.mongodb
  128.         self.mongodb-tools
  129.         self.nix-diff
  130.         self.nix-index
  131.         self.nodejs
  132.         self.oh-my-zsh
  133.         self.pandoc
  134.         self.patchelf
  135.         self.postgresql
  136.         self.procps
  137.         self.ripgrep
  138.         self.rsync
  139.         self.sbt-extras
  140.         self.schemaspy
  141.         self.shellcheck
  142.         self.silver-searcher
  143.         self.stack
  144.         self.stack2nix
  145.         self.teensy-loader-cli
  146.         self.tree
  147.         self.unison
  148.         self.unzip
  149.         self.vim
  150.         self.wget
  151.         self.yarn2nix
  152.         (haskellApp haskellPackages.apply-refact)
  153.         (haskellApp haskellPackages.codex)
  154.         (haskellApp haskellPackages.fast-tags)
  155.         (haskellApp haskellPackages.ghc-events)
  156.         (haskellApp haskellPackages.ghcid)
  157.         (haskellApp haskellPackages.haskdogs)
  158.         (haskellApp haskellPackages.hasktags)
  159.         (haskellApp haskellPackages.hlint)
  160.         (haskellApp haskellPackages.hoogle)
  161.         (haskellApp haskellPackages.hp2pretty)
  162.         (haskellApp haskellPackages.hpack)
  163.         (haskellApp haskellPackages.pointfree)
  164.         (haskellApp haskellPackages.stylish-haskell)
  165.         #self.emacs                                         # emacs-mac from Brew more compatible with Mac/Yabai
  166.         #(haskellApp ghc82Packages.djinn)                   # interesting, but exotic
  167.         #(haskellApp haskellPackages.ghc-events-analyze)    # replacement?
  168.         #(haskellApp haskellPackages.haskell-code-explorer) # finicky build
  169.         #(haskellApp haskellPackages.pointful)              # interesting, but exotic
  170.         #(haskellApp haskellPackages.purescript)            # finicky build
  171.         #(haskellApp haskellPackages.threadscope)           # broken on Darwin
  172.         #self.nodePackages_8_x.npm                          # finicky build
  173.     ];
  174.  
  175. }
  176.