summaryrefslogtreecommitdiff
path: root/Propellor/Property/GitHome.hs
diff options
context:
space:
mode:
authorJoey Hess2014-04-01 16:58:11 -0400
committerJoey Hess2014-04-01 16:58:11 -0400
commite6d24b49b87de312776bee71a2a6f009f7f397a9 (patch)
treeceba3045f23ee1d3cf36bfe8e8ffa9cb090b9e54 /Propellor/Property/GitHome.hs
parent6a82cdc41c89cc249da4d941a32920ebfd14cb92 (diff)
various improvements
Diffstat (limited to 'Propellor/Property/GitHome.hs')
-rw-r--r--Propellor/Property/GitHome.hs31
1 files changed, 0 insertions, 31 deletions
diff --git a/Propellor/Property/GitHome.hs b/Propellor/Property/GitHome.hs
deleted file mode 100644
index 593aecd5..00000000
--- a/Propellor/Property/GitHome.hs
+++ /dev/null
@@ -1,31 +0,0 @@
-module Propellor.Property.GitHome where
-
-import Propellor
-import qualified Propellor.Property.Apt as Apt
-import Propellor.Property.User
-import Utility.SafeCommand
-
-{- | Clones Joey Hess's git home directory, and runs its fixups script. -}
-installedFor :: UserName -> Property
-installedFor user = check (not <$> hasGitDir user) $
- Property ("githome " ++ user) (go =<< homedir user)
- `requires` Apt.installed ["git", "myrepos"]
- where
- go Nothing = noChange
- go (Just home) = do
- let tmpdir = home </> "githome"
- ok <- boolSystem "git" [Param "clone", Param url, Param tmpdir]
- <&&> (and <$> moveout tmpdir home)
- <&&> (catchBoolIO $ removeDirectory tmpdir >> return True)
- <&&> boolSystem "su" [Param "-c", Param "cd; rm -rf .aptitude/ .bashrc .profile; mr checkout; bin/fixups", Param user]
- return $ if ok then MadeChange else FailedChange
- moveout tmpdir home = do
- fs <- dirContents tmpdir
- forM fs $ \f -> boolSystem "mv" [File f, File home]
- url = "git://git.kitenet.net/joey/home"
-
-hasGitDir :: UserName -> IO Bool
-hasGitDir user = go =<< homedir user
- where
- go Nothing = return False
- go (Just home) = doesDirectoryExist (home </> ".git")