aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-06-05 21:15:30 +0100
committerYann Herklotz <ymherklotz@gmail.com>2018-06-05 21:15:30 +0100
commit52a2a837a119a36e992a814bacd91fab9f8281b8 (patch)
treedf171a6d8416ce6481f85c8b2ec15c405541b0a5
parenta6a23d340309c4bb628b65df8082a416db6a053a (diff)
downloaddotfiles-52a2a837a119a36e992a814bacd91fab9f8281b8.tar.gz
dotfiles-52a2a837a119a36e992a814bacd91fab9f8281b8.zip
Absolute path added
-rwxr-xr-xinstall28
1 files changed, 16 insertions, 12 deletions
diff --git a/install b/install
index 05aab42..f2395cf 100755
--- a/install
+++ b/install
@@ -6,12 +6,16 @@ import System.Directory ( removeFile
, createFileLink
, pathIsSymbolicLink
, copyFile
+ , makeAbsolute
+ , getHomeDirectory
)
remIf :: FilePath -> IO ()
remIf dest = do
res <- doesFileExist dest
+ resSym <- pathIsSymbolicLink dest
rem res dest
+ rem resSym dest
where
rem b dest
| b = removeFile dest
@@ -20,9 +24,9 @@ remIf dest = do
forceOp :: (FilePath -> FilePath -> IO ()) -> FilePath -> FilePath -> IO ()
forceOp op src dest = do
remIf dest
- op fullSrc dest
- where
- fullSrc =
+ fullSrc <- makeAbsolute src
+ homeDir <- getHomeDirectory
+ op fullSrc (homeDir ++ dest)
forceCopy :: FilePath -> FilePath -> IO ()
forceCopy = forceOp copyFile
@@ -33,22 +37,22 @@ forceFileSymLink = forceOp createFileLink
main :: IO ()
main = do
putStrLn "Installing emacs config..."
- forceCopy "./emacs/init.el" "~/.emacs.d/init.el"
- forceFileSymLink "./emacs/loader.org" "~/.emacs.d/loader.org"
+ forceCopy "./emacs/init.el" "/.emacs.d/init.el"
+ forceFileSymLink "./emacs/loader.org" "/.emacs.d/loader.org"
putStrLn "Installing X config..."
- forceFileSymLink "./X/.Xmodmap" "~/.Xmodmap"
- forceFileSymLink "./X/.Xresources" "~/.Xresources"
- forceFileSymLink "./X/.xinitrc" "~/.xinitrc"
+ forceFileSymLink "./X/.Xmodmap" "/.Xmodmap"
+ forceFileSymLink "./X/.Xresources" "/.Xresources"
+ forceFileSymLink "./X/.xinitrc" "/.xinitrc"
putStrLn "Installing tmux config..."
- forceFileSymLink "./tmux/.tmux.conf" "~/.tmux.conf"
+ forceFileSymLink "./tmux/.tmux.conf" "/.tmux.conf"
putStrLn "Installing i3 config..."
- forceFileSymLink "./i3/config" "~/.config/i3/config"
+ forceFileSymLink "./i3/config" "/.config/i3/config"
putStrLn "Installing zsh config..."
- forceFileSymLink "./zsh/.zshrc" "~/.zshrc"
+ forceFileSymLink "./zsh/.zshrc" "/.zshrc"
putStrLn "Installing isync config..."
- forceFileSymLink "./isync/.mbsyncrc" "~/.mbsyncrc"
+ forceFileSymLink "./isync/.mbsyncrc" "/.mbsyncrc"