#!/usr/bin/env bash function upsert_dir_symlink() { local readonly from="$1" local readonly to="$2" ([ -d "$to" ] || [ -L "$to" ]) || { ln -s "$from" "$to" } } export -f upsert_dir_symlink upsert_dir_symlink $DOTFILES/encrypted/borg ~/.config/borg ln -fs $DOTFILES/bash/bashrc.sh ~/.bashrc ln -fs $DOTFILES/bash/bash_profile.sh ~/.bash_profile ln -fs $DOTFILES/git/gitattributes ~/.gitattributes ln -fs $DOTFILES/git/gitignore ~/.gitignore_global ln -fs $DOTFILES/git/bash_git.sh ~/.bash_git ln -fs $DOTFILES/encrypted/nugitconfig.ini ~/.nugitconfig ln -fs $DOTFILES/sbclrc.lisp ~/.sbclrc ln -fs $DOTFILES/inputrc.conf ~/.inputrc ln -fs $DOTFILES/Xmodmap.conf ~/.Xmodmap isLinux && { ln -fs $DOTFILES/nixos/npmrc.sh ~/.npmrc } ## SSH config mkdir -p ~/.ssh ln -fs $DOTFILES/ssh_config.conf ~/.ssh/config ln -fs $DOTFILES/git/mrconfig.ini ~/.mrconfig upsert_dir_symlink $MEDIA_PREFIX/UTCLOUD ~/UTCLOUD upsert_dir_symlink $MEDIA_PREFIX/SNEAKER ~/SNEAKER ## Clojure mkdir -p ~/.lein ~/.clojure ln -fs $DOTFILES/lein/profiles.clj ~/.lein/profiles.clj ln -fs $DOTFILES/lein/deps.edn ~/.clojure/deps.edn ## AWS mkdir -p ~/.aws ln -fs $DOTFILES/encrypted/aws/config ~/.aws/config ln -fs $DOTFILES/encrypted/aws/credentials ~/.aws/credentials ## tmux ln -fs $DOTFILES/tmux/tmux.conf ~/.tmux.conf ln -fs $DOTFILES/tmux/tmux-macos.conf ~/.tmux-macos.conf ln -fs $DOTFILES/tmux/tmux-gnu-linux.conf ~/.tmux-gnu-linux.conf ## NixOS ln -fs $DOTFILES/nixos/evince.destkop ~/.local/share/applications/evince.desktop ln -fs $DOTFILES/nixos/firefox.destkop ~/.local/share/applications/firefox.desktop ## Emacs mkdir -p $HOME/.emacs.d/private/layers/ ln -fs $DOTFILES/spacemacs.el ~/.spacemacs ln -fs $DOTFILES/emacs/gnus.el ~/.gnus.el ln -fs $CACHE_DIR/euandreh-auto-save.el ~/.emacs.d/.cache/layouts/euandreh-auto-save ## xmonad mkdir -p ~/.xmonad ln -fs $DOTFILES/xmonad/xsession.sh ~/.xsession ln -fs $DOTFILES/xmonad/xmonad.hs ~/.xmonad/xmonad.hs ln -fs $DOTFILES/xmonad/xmobar.hs ~/.xmobarrc ## Mail mkdir -p ~/mbsync/.notmuch/hooks ~/mbsync/EuAndreh ~/mbsync/Gmail ~/mbsync/Nubank ln -fs $DOTFILES/mail/notmuch-post.sh ~/mbsync/.notmuch/hooks/post-new ln -fs $DOTFILES/mail/mbsyncrc.ini ~/.mbsyncrc ln -fs $DOTFILES/mail/notmuch.ini ~/.notmuch-config ln -fs /tmp/mbsync.$(date +%Y-%m-%d).log /tmp/mbsync.log ln -fs /tmp/notmuch.$(date +%Y-%m-%d).log /tmp/notmuch.log ## GNUS ln -fs $DOTFILES/encrypted/IMAP/authinfo.gpg ~/.authinfo.gpg