From 52a2a837a119a36e992a814bacd91fab9f8281b8 Mon Sep 17 00:00:00 2001 From: Yann Herklotz Date: Tue, 5 Jun 2018 21:15:30 +0100 Subject: Absolute path added --- install | 28 ++++++++++++++++------------ 1 file 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" -- cgit