diff --git a/rekahsoft-gnu/packages/haskell-apps.scm b/rekahsoft-gnu/packages/haskell-apps.scm
new file mode 100644
index 0000000..aa8f0da
--- /dev/null
+++ b/rekahsoft-gnu/packages/haskell-apps.scm
@@ -0,0 +1,178 @@
+;; (C) Copyright Collin J. Doering 2021
+;;
+;; This program is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; This program is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with this program. If not, see .
+
+;; File: haskell-apps.scm
+;; Author: Collin J. Doering
+;; Date: Dec 22, 2021
+
+(define-module (rekahsoft-gnu packages haskell-apps)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (gnu packages)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module (guix git-download)
+ #:use-module (guix build-system haskell)
+ #:use-module (gnu packages haskell-web)
+ #:use-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages haskell-check)
+ #:use-module (gnu packages version-control)
+ #:use-module (gnu packages finance)
+ #:use-module (rekahsoft-gnu packages haskell-web))
+
+(define-public ghc-vty
+ (package
+ (name "ghc-vty")
+ (version "5.33")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "vty" version))
+ (sha256
+ (base32 "0qsx4lwlkp6mwyr7rm1r9dg5ic1lc1awqgyag0nj1qgj2gnv6nc9"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-blaze-builder" ,ghc-blaze-builder)
+ ("ghc-microlens" ,ghc-microlens)
+ ("ghc-microlens-mtl" ,ghc-microlens-mtl)
+ ("ghc-microlens-th" ,ghc-microlens-th)
+ ("ghc-hashable" ,ghc-hashable)
+ ("ghc-parallel" ,ghc-parallel)
+ ("ghc-utf8-string" ,ghc-utf8-string)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-ansi-terminal" ,ghc-ansi-terminal)))
+ (native-inputs
+ `(("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-smallcheck" ,ghc-smallcheck)
+ ("ghc-quickcheck-assertions" ,ghc-quickcheck-assertions)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-smallcheck" ,ghc-test-framework-smallcheck)
+ ("ghc-random" ,ghc-random)
+ ("ghc-hunit" ,ghc-hunit)
+ ("ghc-quickcheck" ,ghc-quickcheck)
+ ("ghc-smallcheck" ,ghc-smallcheck)
+ ("ghc-quickcheck-assertions" ,ghc-quickcheck-assertions)
+ ("ghc-test-framework" ,ghc-test-framework)
+ ("ghc-test-framework-smallcheck" ,ghc-test-framework-smallcheck)
+ ("ghc-test-framework-hunit" ,ghc-test-framework-hunit)
+ ("ghc-random" ,ghc-random)
+ ("ghc-string-qq" ,ghc-string-qq)))
+ (arguments
+ `(#:cabal-revision
+ ("1" "1in66nd2xkb6mxxzazny900pz1xj83iqsql42c0rwk72chnnb8cd")))
+ (home-page "https://github.com/jtdaugherty/vty")
+ (synopsis "A simple terminal UI library")
+ (description
+ "vty is terminal GUI library in the niche of ncurses. It is intended to be easy to use, have no confusing corner cases, and good support for common terminal types. . See the @vty-examples@ package as well as the program @test/interactive_terminal_test.hs@ included in the @vty@ package for examples on how to use the library. . Import the \"Graphics.Vty\" convenience module to get access to the core parts of the library. . © 2006-2007 Stefan O'Rear; BSD3 license. . © Corey O'Connor; BSD3 license. . © Jonathan Daugherty; BSD3 license.")
+ (license license:bsd-3)))
+
+(define-public ghc-brick
+ (package
+ (name "ghc-brick")
+ (version "0.65")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri "brick" version))
+ (sha256
+ (base32 "1yk9r5igg5p7aixlpls167z2fajq3vp0xxqcjw4cg168g20lnhbs"))))
+ (build-system haskell-build-system)
+ (inputs
+ `(("ghc-vty" ,ghc-vty)
+ ("ghc-data-clist" ,ghc-data-clist)
+ ("ghc-dlist" ,ghc-dlist)
+ ("ghc-microlens" ,ghc-microlens)
+ ("ghc-microlens-th" ,ghc-microlens-th)
+ ("ghc-microlens-mtl" ,ghc-microlens-mtl)
+ ("ghc-config-ini" ,ghc-config-ini)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-contravariant" ,ghc-contravariant)
+ ("ghc-text-zipper" ,ghc-text-zipper)
+ ("ghc-word-wrap" ,ghc-word-wrap)
+ ("ghc-random" ,ghc-random)))
+ (native-inputs `(("ghc-quickcheck" ,ghc-quickcheck)))
+ (home-page "https://github.com/jtdaugherty/brick/")
+ (synopsis "A declarative terminal user interface library")
+ (description
+ "Write terminal user interfaces (TUIs) painlessly with 'brick'! You write an event handler and a drawing function and the library does the rest. . . > module Main where > > import Brick > > ui :: Widget () > ui = str \"Hello, world!\" > > main :: IO () > main = simpleMain ui . . To get started, see: . * . * The . * The demonstration programs in the 'programs' directory . . This package deprecates .")
+ (license license:bsd-3)))
+
+(define-public hledger-ui
+ (package
+ (name "hledger-ui")
+ (version "1.21")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (hackage-uri name version))
+ (sha256
+ (base32 "1h9d686z0y8cvq6780g6r8fdrs76y9649js0c350b6xnhzggbx0l"))))
+ (build-system haskell-build-system)
+ (native-inputs `(("ghc-hspec-discover" ,ghc-hspec-discover)))
+ (inputs
+ `(("ghc-ansi-terminal" ,ghc-ansi-terminal)
+ ("ghc-async" ,ghc-async)
+ ("ghc-brick" ,ghc-brick)
+ ("ghc-cmdargs" ,ghc-cmdargs)
+ ("ghc-data-default" ,ghc-data-default)
+ ("ghc-doclayout" ,ghc-doclayout)
+ ("ghc-extra" ,ghc-extra)
+ ("ghc-fsnotify" ,ghc-fsnotify)
+ ("hledger" ,hledger)
+ ("ghc-hledger-lib" ,ghc-hledger-lib)
+ ("ghc-megaparsec" ,ghc-megaparsec)
+ ("ghc-microlens" ,ghc-microlens)
+ ("ghc-microlens-platform" ,ghc-microlens-platform)
+ ("ghc-safe" ,ghc-safe)
+ ("ghc-split" ,ghc-split)
+ ("ghc-text-zipper" ,ghc-text-zipper)
+ ("ghc-vector" ,ghc-vector)
+ ("ghc-vty" ,ghc-vty)))
+ (home-page "https://hledger.org")
+ (synopsis
+ "Curses-style terminal interface for the hledger accounting system")
+ (description
+ "A simple curses-style terminal user interface for the hledger
+accounting system. It can be a more convenient way to browse your accounts
+than the CLI. This package currently does not support Microsoft Windows, except
+in WSL.")
+ (license license:gpl3)))