diff --git a/horizon.dhall b/horizon.dhall
index 3b7fc8ba8da0c205eedbb2e01a3efa9de94b2034..3c215bd480ceeb9986a6588e2a67925bf1a1f4ce 100644
--- a/horizon.dhall
+++ b/horizon.dhall
@@ -366,6 +366,7 @@ let packages =
       , finite-typelits = H.callHackage "finite-typelits" "0.1.6.0"
       , first-class-families = H.callHackage "first-class-families" "0.8.0.1"
       , fixed = H.callHackage "fixed" "0.3"
+      , flag = H.callHackage "flag" "0.1.0.0"
       , floatshow = H.callHackage "floatshow" "0.2.4"
       , fmlist = H.callHackage "fmlist" "0.9.4"
       , fmt = H.callHackage "fmt" "0.6.3.0"
diff --git a/horizon.lock b/horizon.lock
index 2901f6086c99aadf40c98db37e221af609b46d9c..2740212e9d57bbd50a8192b23df3e8d87e61d4a1 100644
--- a/horizon.lock
+++ b/horizon.lock
@@ -1174,6 +1174,10 @@
   , mapValue =
       "123d9ab2235250ede2690c9854d9187c1eda0b8d06d73806071820f8981bd6b7"
   }
+, { mapKey = "flag"
+  , mapValue =
+      "d2ae9835e43e558ed603bf0b06f6f2d89cb5e55468e1561dcedf728ac456e933"
+  }
 , { mapKey = "floatshow"
   , mapValue =
       "d8e8542f57ceb0917e2602f0a2a1985fd0242bc7a151e669b1cad2be713dde25"
diff --git a/initial-packages.nix b/initial-packages.nix
index 4c2c7f98a4d84b74cd4aa05248a22e688b3a4ee9..aa7b8be110f4e0d79f8c56d87507b795efe7c77f 100644
--- a/initial-packages.nix
+++ b/initial-packages.nix
@@ -589,6 +589,8 @@ self: with pkgs.haskell.lib; {
 
   fixed = self.callPackage (./pkgs/fixed.nix) { };
 
+  flag = self.callPackage (./pkgs/flag.nix) { };
+
   floatshow = self.callPackage (./pkgs/floatshow.nix) { };
 
   fmlist = self.callPackage (./pkgs/fmlist.nix) { };
diff --git a/pkgs/flag.nix b/pkgs/flag.nix
new file mode 100644
index 0000000000000000000000000000000000000000..b895091316ade8c67014d68b6539b666ad81168a
--- /dev/null
+++ b/pkgs/flag.nix
@@ -0,0 +1,20 @@
+{ mkDerivation, base, lib }:
+mkDerivation {
+  pname = "flag";
+  version = "0.1.0.0";
+  sha256 = "2f75e174a0accdbde3526b362d9a52f1013740327ebbbe43adbe85053a82fb42";
+  isLibrary = true;
+  isExecutable = false;
+  enableSeparateDataOutput = false;
+  libraryHaskellDepends = [ base ];
+  enableLibraryProfiling = true;
+  enableExecutableProfiling = true;
+  doHaddock = false;
+  jailbreak = true;
+  doCheck = false;
+  doBenchmark = false;
+  hyperlinkSource = false;
+  description = "A simple flag type";
+  license = lib.licenses.mit;
+  broken = false;
+}
\ No newline at end of file