    -- | Freedesktop.org configuration file properties.

    module Propellor.Property.FreeDesktop where

    import Propellor.Base
    import Propellor.Property.ConfFile

    desktopFile :: String -> FilePath
    desktopFile :: String -> String
    desktopFile s :: String
    s = String
    s String -> String -> String
    forall a. [a] -> [a] -> [a]
    ++ ".desktop"

    -- | Name used in a desktop file; user visible.
    type Name = String

    -- | Command that a dekstop file runs. May include parameters.
    type Exec = String

    -- | Specifies an autostart file. By default it will be located in the
    -- system-wide autostart directory.
    autostart :: FilePath -> Name -> Exec -> RevertableProperty UnixLike UnixLike
    autostart :: String -> String -> String -> RevertableProperty UnixLike UnixLike
    autostart f :: String
    f n :: String
    n e :: String
    e = ("/etc/xdg/autostart" String -> String -> String
    </> String
    f) String
    -> [(String, [(String, String)])]
    -> RevertableProperty UnixLike UnixLike
    `iniFileContains`
    	[ ("Desktop Entry",
    		[ ("Type", "Application")
    		, ("Version", "1.0")
    		, ("Name", String
    n)
    		, ("Comment", "Autostart")
    		, ("Terminal", "False")
    		, ("Exec", String
    e)
    		] )
    	]