diff options
author | Yann Herklotz <ymherklotz@gmail.com> | 2018-06-05 21:15:30 +0100 |
---|---|---|
committer | Yann Herklotz <ymherklotz@gmail.com> | 2018-06-05 21:15:30 +0100 |
commit | 52a2a837a119a36e992a814bacd91fab9f8281b8 (patch) | |
tree | df171a6d8416ce6481f85c8b2ec15c405541b0a5 | |
parent | a6a23d340309c4bb628b65df8082a416db6a053a (diff) | |
download | dotfiles-52a2a837a119a36e992a814bacd91fab9f8281b8.tar.gz dotfiles-52a2a837a119a36e992a814bacd91fab9f8281b8.zip |
Absolute path added
-rwxr-xr-x | install | 28 |
1 files changed, 16 insertions, 12 deletions
@@ -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" |