diff --git a/Text/Css.hs b/Text/Css.hs
--- a/Text/Css.hs
+++ b/Text/Css.hs
@@ -95,11 +95,12 @@
              | ContentVar Deref
              | ContentUrl Deref
              | ContentUrlParam Deref
+             | ContentMixin Deref
     deriving (Show, Eq)
 
 type Contents = [Content]
 
-data VarType = VTPlain | VTUrl | VTUrlParam
+data VarType = VTPlain | VTUrl | VTUrlParam | VTMixin
     deriving Show
 
 data CDData url = CDPlain Builder
@@ -155,12 +156,13 @@
       where
         (scope1, rest1) = go (map TopBlock blocks)
         (scope2, rest2) = go rest
-    go (TopBlock (Block x y z _mixins):rest) =
-        (scope1 ++ scope2, rest0 ++ rest1 ++ rest2)
+    go (TopBlock (Block x y z mixins):rest) =
+        (scope1 ++ scope2, rest0 ++ rest1 ++ rest2 ++ restm)
       where
         rest0 = intercalate [ContentRaw ","] x ++ concatMap go' y
         (scope1, rest1) = go (map (TopBlock . snd) z)
         (scope2, rest2) = go rest
+        restm = map ContentMixin mixins
     go (TopVar k v:rest) =
         ((k, v):scope, rest')
       where
@@ -254,6 +256,7 @@
         Just (CDUrlParam (u, p)) ->
             Right $ fromText $ render' u p
         _ -> Left $ show d ++ ": expected CDUrlParam"
+contentToBuilderRT _ _ ContentMixin{} = Left "contentToBuilderRT ContentMixin"
 
 cssRuntime :: Bool -- ^ i2b?
            -> Parser [TopLevel Unresolved]
@@ -297,6 +300,7 @@
     c VTPlain = [|CDPlain . toCss|]
     c VTUrl = [|CDUrl|]
     c VTUrlParam = [|CDUrlParam|]
+    c VTMixin = [|CDMixin|]
 
 getVars :: Monad m => [(String, String)] -> Content -> m [(Deref, VarType)]
 getVars _ ContentRaw{} = return []
@@ -312,6 +316,10 @@
     case lookupD d scope of
         Nothing -> return [(d, VTUrlParam)]
         Just s -> fail $ "Expected URLParam for " ++ s
+getVars scope (ContentMixin d) =
+    case lookupD d scope of
+        Nothing -> return [(d, VTMixin)]
+        Just s -> fail $ "Expected Mixin for " ++ s
 
 lookupD :: Deref -> [(String, b)] -> Maybe String
 lookupD (DerefIdent (Ident s)) scope =
@@ -409,6 +417,7 @@
 contentToBuilder r _ (ContentUrlParam u) =
     [|fromText|] `appE`
         ([|uncurry|] `appE` varE r `appE` return (derefToExp [] u))
+contentToBuilder _ _ ContentMixin{} = error "contentToBuilder on ContentMixin"
 
 type Scope = [(String, String)]
 
@@ -524,6 +533,7 @@
     lift (ContentVar d) = [|ContentVar d|]
     lift (ContentUrl d) = [|ContentUrl d|]
     lift (ContentUrlParam d) = [|ContentUrlParam d|]
+    lift (ContentMixin m) = [|ContentMixin m|]
 instance Lift (Block Unresolved) where
     lift (Block a b c d) = [|Block a b c d|]
 instance Lift (Block Resolved) where
diff --git a/shakespeare-css.cabal b/shakespeare-css.cabal
--- a/shakespeare-css.cabal
+++ b/shakespeare-css.cabal
@@ -1,5 +1,5 @@
 name:            shakespeare-css
-version:         1.0.6
+version:         1.0.6.1
 license:         MIT
 license-file:    LICENSE
 author:          Michael Snoyman <michael@snoyman.com>
@@ -25,6 +25,7 @@
   test/cassiuses/external2.lucius
   test/cassiuses/external-media.lucius
   test/cassiuses/external-nested.lucius
+  test/cassiuses/mixin.lucius
   test/ShakespeareCssTest.hs
   test.hs
 
diff --git a/test/ShakespeareCssTest.hs b/test/ShakespeareCssTest.hs
--- a/test/ShakespeareCssTest.hs
+++ b/test/ShakespeareCssTest.hs
@@ -444,6 +444,12 @@
             True
             [(TS.pack "bins", RTVMixin bins)]
 
+    it "luciusFileReload mixin" $ do
+      let mixin = [luciusMixin|foo:bar;baz:bin|]
+      flip celper $(luciusFileReload "test/cassiuses/mixin.lucius") $ concat
+          [ "selector {\n    foo: bar;\n    baz: bin;\n}\n"
+          ]
+
     it "& subblocks" $
         celper "foo:bar{baz:bin}"
         [lucius|
diff --git a/test/cassiuses/mixin.lucius b/test/cassiuses/mixin.lucius
new file mode 100644
--- /dev/null
+++ b/test/cassiuses/mixin.lucius
@@ -0,0 +1,1 @@
+selector{^{mixin}}
