aboutsummaryrefslogblamecommitdiff
path: root/bash/init.sh
blob: 4e0ee6563c4f2b5fc366413ecfbfd6c4b2b7b80f (plain) (tree)
1
2
3
4
5
6
7
8

                   
               
                                

                             
                                       
                       






                           
                                    
                                                                                                


                                                                  
                            
 
                     
 







                                           

       
                                       


                                                                                            



                                                        

    
                          
#!/usr/bin/env bash

locked_init() {
  pushd ~/ > /dev/null || exit 1

  mkdir -p ~/.emacs.d/.cache/
  mkdir -p "$(dirname "$AUTOJUMP_TXT")"
  touch "$AUTOJUMP_TXT"

  # clone all missing repos
  mr checkout > /dev/null

  printf "" > /tmp/mr-repos
  mr inject > /dev/null

  printf "(\\n" > /tmp/mr-projectile
  sed -E 's/\/home\/andreh/~/' /tmp/mr-repos | awk '{print "\""$1"/""\""}' >> /tmp/mr-projectile
  printf ")" >> /tmp/mr-projectile
  cp /tmp/mr-projectile ~/.emacs.d/.cache/projectile-bookmarks.eld

  popd > /dev/null || exit 1
}
export -f locked_init

# touch /tmp/mr-lock
# exec 221>/tmp/mr-lock
# flock -n -e 221 && {
#   locked_init
# } || {
#   printf "" # noop: couldn't acquire lock
# }

# Tests

pushd "$DOTFILES" > /dev/null || exit 1

sizes=$(git diff-files --ignore-submodules | awk '{print $6}' | xargs du | awk '{print $1}')
for size in $sizes; do
  if [[ $size = 1 ]]; then
    # https://github.com/AGWA/git-crypt/issues/53
    echo "dotfiles contains encrypted file with 0 bytes"
  fi
done

popd > /dev/null || exit 1