diff --git a/horizon.dhall b/horizon.dhall
index 70a01f5cba3685aa0eaed2502f69de6b2f60e901..616321a017f01a8e33ecef4d05d1dac1c3706f8e 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -68,6 +68,7 @@ in  H.HorizonExport.MakePackageSet
           , H.callHackage "aeson-yaml" "1.1.0.1"
           , H.callHackage "alex" "3.2.7.1"
           , H.callHackage "algebraic-graphs" "0.7"
+          , H.callHackage "alsa-core" "0.5.0.1"
           , H.callHackage "ansi-terminal" "0.11.3"
           , H.callHackage "ansi-wl-pprint" "0.6.9"
           , H.callHackage "appar" "0.1.8"
diff --git a/initial-packages.nix b/initial-packages.nix
index 0b806ecc133ddfca85f9f25a61b83761889e7aeb..626e9731956f5d373d0d1705b65b6cb765e45d87 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -69,6 +69,8 @@ self: with pkgs.haskell.lib; {
 
   algebraic-graphs = self.callPackage (./pkgs/algebraic-graphs.nix) { };
 
+  alsa-core = self.callPackage (./pkgs/alsa-core.nix) { };
+
   ansi-terminal = self.callPackage (./pkgs/ansi-terminal.nix) { };
 
   ansi-wl-pprint = self.callPackage (./pkgs/ansi-wl-pprint.nix) { };
diff --git a/pkgs/alsa-core.nix b/pkgs/alsa-core.nix
new file mode 100644
index 0000000000000000000000000000000000000000..97a61666f52107b03ee0d85777fe8e23ce62b315
--- /dev/null
+++ b/pkgs/alsa-core.nix
@@ -0,0 +1,22 @@
+{ mkDerivation, alsa-lib, base, extensible-exceptions, lib }:
+mkDerivation {
+  pname = "alsa-core";
+  version = "0.5.0.1";
+  sha256 = "eb50495ef05ecc7c06a0147da7f0d3efde832a44d23caaf5172dc114882270ab";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base extensible-exceptions ];
+  libraryPkgconfigDepends = [ alsa-lib ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  homepage = "http://www.haskell.org/haskellwiki/ALSA";
+  description = "Binding to the ALSA Library API (Exceptions)";
+  license = lib.licenses.bsd3;
+  broken = false;
+}