    -- | Maintainer: Sean Whitton <spwhitton@spwhitton.name>

    module Propellor.Property.EtcDefault (
    	EtcDefaultFile,
    	set,
    ) where

    import Propellor.Base
    import Propellor.Property.ConfFile

    -- | The name of a file in </etc/default>, without the </etc/default> prefix.
    -- E.g. @useradd@.
    type EtcDefaultFile = String

    -- | Set a key=value pair in a file in </etc/default>.
    set :: EtcDefaultFile -> ShellKey -> String -> Property UnixLike
    set :: EtcDefaultFile
    -> EtcDefaultFile -> EtcDefaultFile -> Property UnixLike
    set EtcDefaultFile
    f EtcDefaultFile
    key EtcDefaultFile
    value = EtcDefaultFile
    -> (EtcDefaultFile, EtcDefaultFile) -> Property UnixLike
    containsShellSetting (EtcDefaultFile
    "/etc/default" EtcDefaultFile -> EtcDefaultFile -> EtcDefaultFile
    </> EtcDefaultFile
    f) (EtcDefaultFile
    key, EtcDefaultFile
    value)