module System.OsRelease ( detect , OsRelease (..) , detect' ) where data OsRelease = OpenSUSE deriving (Eq, Show) detect :: IO (Maybe OsRelease) detect = do osr <- readFile "/etc/os-release" return . detect' $ lines osr detect' :: [String] -> Maybe OsRelease detect' [] = Nothing detect' ("NAME=openSUSE":_) = Just OpenSUSE detect' (_:xs) = detect' xs