diff --git a/.fixme/log b/.fixme/log index 075957dc..f9ad5627 100644 --- a/.fixme/log +++ b/.fixme/log @@ -157,4 +157,5 @@ fixme-merged "AmtqsgpimE" "AEuRHd5sWC" fixme-set "workflow" "wip" "DZyVAuBYzB" -fixme-set "workflow" "test" "DTZ2RqeN7y" \ No newline at end of file +fixme-set "workflow" "test" "DTZ2RqeN7y" +fixme-set "workflow" "test" "84iLJsvCtT" \ No newline at end of file diff --git a/docs/devlog.md b/docs/devlog.md index 18246a93..a3e37968 100644 --- a/docs/devlog.md +++ b/docs/devlog.md @@ -1,6 +1,8 @@ ## 2023-02-15 +FIXME: create-default-config + FIXME: wrong-default-config-path TODO: make-key-optional-parameter diff --git a/hbs2-peer/app/PeerConfig.hs b/hbs2-peer/app/PeerConfig.hs index 30172876..786ac53a 100644 --- a/hbs2-peer/app/PeerConfig.hs +++ b/hbs2-peer/app/PeerConfig.hs @@ -23,6 +23,7 @@ import System.FilePath import Data.Set qualified as Set import Data.Set (Set) import Data.Text qualified as Text +import Text.InterpolatedString.Perl6 (qc) class HasCfgKey a b where -- type family CfgValue a :: Type @@ -53,9 +54,21 @@ peerConfigDefault = liftIO $ catchAny :: IO a -> (SomeException -> IO a) -> IO a catchAny = Control.Exception.catch +defConfigData :: String +defConfigData = [qc| -peerConfigInit :: Maybe FilePath -> IO () -peerConfigInit mbfp = do +listen "0.0.0.0:7351" +rpc "127.0.0.1:13331" + +; default storage is $HOME/.local/share/hbs2 +; storage "./storage" + +; edit path to a keyring file +; key "./key" +|] + +peerConfigInit :: MonadIO m => Maybe FilePath -> m () +peerConfigInit mbfp = liftIO do debug $ "peerConfigInit" <+> pretty mbfp defDir <- peerConfigDefault <&> takeDirectory @@ -70,9 +83,13 @@ peerConfigInit mbfp = do unless here do appendFile (dircfgName) ";; hbs2-peer config file" + appendFile (dircfgName) defConfigData peerConfigRead :: MonadIO m => Maybe FilePath -> m PeerConfig peerConfigRead mbfp = do + + peerConfigInit mbfp + debug $ "peerConfigRead" <+> pretty mbfp xdg <- peerConfigDefault diff --git a/hbs2-peer/hbs2-peer.cabal b/hbs2-peer/hbs2-peer.cabal index 2655b508..1b31ef06 100644 --- a/hbs2-peer/hbs2-peer.cabal +++ b/hbs2-peer/hbs2-peer.cabal @@ -51,6 +51,7 @@ common common-deps , uniplate , unordered-containers , vector + , interpolatedstring-perl6 common shared-properties ghc-options: