diff --git a/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix new file mode 100644 index 000000000000..25055df8ea35 --- /dev/null +++ b/pkgs/applications/editors/emacs-modes/structured-haskell-mode/default.nix @@ -0,0 +1,23 @@ +{ cabal, emacs, haskellSrcExts }: + +cabal.mkDerivation (self: { + pname = "structured-haskell-mode"; + version = "1.0.2"; + sha256 = "1lwdhlr38y5hdr78nplplr3q0hrjhryw378f1857qh0lvp03gwl2"; + isLibrary = false; + isExecutable = true; + buildDepends = [ haskellSrcExts ]; + buildTools = [ emacs ]; + postInstall = '' + emacs -L elisp --batch -f batch-byte-compile "elisp/"*.el + install -d $out/share/emacs/site-lisp + install "elisp/"*.elc $out/share/emacs/site-lisp + ''; + meta = { + homepage = "https://github.com/chrisdone/structured-haskell-mode"; + description = "Structured editing Emacs mode for Haskell"; + license = self.stdenv.lib.licenses.bsd3; + platforms = self.ghc.meta.platforms; + maintainers = [ self.stdenv.lib.maintainers.pSub ]; + }; +}) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index d73e535911f3..0d22468e5eca 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7778,6 +7778,10 @@ let ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { }; + structuredHaskellMode = callPackage ../applications/editors/emacs-modes/structured-haskell-mode { + inherit (haskellPackages) cabal haskellSrcExts; + }; + tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { }; hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };