diff --git a/confer.cabal b/confer.cabal index 793e523..83e7067 100644 --- a/confer.cabal +++ b/confer.cabal @@ -81,6 +81,7 @@ library , effectful , effectful-core , extra + , file-embed , filepath , hostname , hslua-aeson diff --git a/src/Confer/Config/Evaluator.hs b/src/Confer/Config/Evaluator.hs index 16ee844..99b5b8d 100644 --- a/src/Confer/Config/Evaluator.hs +++ b/src/Confer/Config/Evaluator.hs @@ -1,3 +1,5 @@ +{-# LANGUAGE TemplateHaskell #-} + module Confer.Config.Evaluator ( loadConfiguration , adjustConfiguration @@ -32,6 +34,7 @@ import System.OsPath.Encoding qualified as OsPath import Confer.API.Host qualified as API import Confer.API.User qualified as API import Confer.Config.Types +import Data.FileEmbed (embedFile) adjustConfiguration :: Text @@ -60,12 +63,12 @@ loadConfiguration verbose pathToConfigFile = do hostModule <- API.mkHostModule liftIO $ Lua.run $ do Lua.openlibs -- load the default Lua packages - conferLuaFilePath <- liftIO $ getDataFileName "runtime/lua/confer.lua" - when verbose $ - liftIO $ - Text.putStrLn $ - "Loading " <> Text.pack conferLuaFilePath - Lua.dofile (Just conferLuaFilePath) + let conferLua = $(embedFile "runtime/lua/confer.lua") + -- when verbose $ + -- liftIO $ + -- Text.putStrLn $ + -- "Loading " <> Text.pack conferLuaFilePath + Lua.dostring conferLua Lua.setglobal "confer" Lua.registerModule Lua.System.documentedModule Lua.registerModule userModule