packages feed

azubi-0.1.0.0: config.hs


import Azubi

main :: IO ()
main = azubiMain azubiSetup


azubiSetup :: AzubiConfig
azubiSetup = azubiConfig Gentoo $ []
  & contains (File "~/azubi-config/azubi-config.cabal") [ "name:                azubi-config"
                                                        , "version:             0.1.0.0"
                                                        , "build-type:          Simple"
                                                        , "cabal-version:       >=1.10"
                                                        , ""
                                                        , "executable config"
                                                        , "  main-is:             config.hs"
                                                        , "  build-depends:       base >=4.8 && < 4.9"
                                                        , "                     , azubi"
                                                        , "  hs-source-dirs:      ."
                                                        , "  default-language:    Haskell2010"
                                                        ]
  & contains (File "~/azubi-config/config-example.hs") ( map (\c -> "-- | " ++ c ) azubiLogo
                                                        ++ [ ""
                                                           , "import Azubi"
                                                           , ""
                                                           , "main :: IO ()"
                                                           , "main = azubiMain $ azubi Gentoo $ []"
                                                           , "      & installed \"vim\""
                                                           , "      ! installed \"salt\""
                                                           ])
  & contains (File "~/azubi-config/README.md") [ "# Azubi Example"
                                               , ""
                                               , "## How to start"
                                               , ""
                                               , "copy or link the config-example.hs file to config.hs"
                                               , "and run cabal configure."
                                               , "now you can start editing config.hs and run cabal run."
                                               , "this will create a azubi.sh file you can run."
                                               , ""
                                               , "    cabal run && bash azubi.sh"]


-- | example
--
-- myConfig :: AzubiConfig
-- myConfig = azubiConfig Gentoo $ []
--       & installed "vim"
--       ! installed "salt"
--       & (submodule $ []
--          ! exists (Directory "/dev/shm/azubi-test")
--          & contains (File "/dev/shm/azubi/contains") [ "this is a azubi test-line : " ++ (show i) | i <- [1,2..10]]
--          & exists (Symlink "/dev/shm/azubi-link" "/dev/shm/azubi/contains")
--         )
--       ! (submodule $ []
--          & installed "sub-emacs"
--          & installed "sub-vim"
--         )
--       ! exists (Directory "/dev/shm/Downloads")
--       ! exists (Directory "/dev/shm/Documents")
--       & ((submodule $ []
--           & contains (File "/etc/vim/config") ["# config"]
--          ) `requires` (submodule $ []
--                        & installed "vim"
--                       ))
--       & installed "vim"
--       ! exists (File "/dev/shm")

-- next :
-- ------
-- commands
-- git

-- | todo : make logfile configurable


-- sketch on the syntax
--
-- main = do
--  azubi Gentoo $ []
--      & User.exists "palo" [ Uid 1000, Gid 1000 ]
--      & User.exists "renoise" [ Uid 1001, Home "/home/music" ]
--      & running "service"
--      & uptodate (Git "/home/palo/.dot_i3/" "git@github.com/mrVanDalo/dot_i3" "master")                  -- | does pulls
--      & uptodate (GitWithSubmodules "/home/palo/.dot_jack" "git@github.com/mrVanDalo/dot_jack" "master") -- | same but also takes car of submodules
--      & backup (File "/etc/ssh/") (Directory "/backups/etc/ssh") -- | will "cp -a /etc/ssh /backups/etc/ssh/`date`"
--      & published (Git "/home/palo/.dot_shell" "git@github.com/mrVanDalo/dot_shell" "master" "azubi wip message")  -- | creates commits and pushes on the master branch using default message
--