{ config, pkgs, ... }: let haskellEnv = pkgs.haskellPackages.ghcWithPackages dependencies; dependencies = pkgs: with pkgs; [ filepath directory cryptonite bytestring uuid aeson aeson-pretty ]; mlmmj-exposed = pkgs.stdenv.mkDerivation { name = "mlmmj-expose"; src = pkgs.substituteAll { src = ./mlmmj-expose.hs; inherit (pkgs) mlmmj; }; buildCommand = '' mkdir -p $out/bin #cp $src $out/bin/.mlmmj-exposed ${haskellEnv}/bin/ghc -o $out/bin/.mlmmj-expose -odir . -hidir . $src for f in mlmmj-exposed mlmmj-expose mlmmj-get-exposed mlmmj-serve-exposed; do ln -s .mlmmj-expose $out/bin/$f done ''; }; in rec { nixpkgs.config.packageOverrides = pkgs: rec { inherit mlmmj-exposed; }; environment.systemPackages = [ mlmmj-exposed ]; }