xmonad-masser/src/XMonad/Config.hs

37 lines
1.2 KiB
Haskell

{-# Language RecordWildCards #-}
{-# Language DeriveGeneric #-}
{-# Language OverloadedStrings #-}
module Config where
import Dhall
data Applications = Applications { urxvt :: Text
, prompt :: Text
, browser :: Text
, launcher :: Text -- xdg-open
, screenshot :: Text
}
deriving (Show, Generic)
data TopicRule = TopicRule { topicName :: Text
, topicHome :: Maybe Text
, topicAction :: Maybe Text }
deriving (Show, Generic)
data ExtraConfig = ExtraConfig { applications :: Applications
, topics :: [TopicRule]}
deriving (Show, Generic)
defaultExtraConfig :: ExtraConfig
defaultExtraConfig =
let applications = Applications{..}
urxvt = "urxvt"
prompt = "xmobar"
browser = "qutebrowser"
launcher = "xdg-open"
screenshot = "scrot ~/screenSel.png"
topics = []
in ExtraConfig{..}
instance Interpret ExtraConfig
instance Interpret TopicRule
instance Interpret Applications