Initial check-in

This commit is contained in:
Ray Miller 2011-08-12 14:44:43 +01:00
commit a40cdd4259
2 changed files with 65 additions and 0 deletions

32
new-profile Executable file
View file

@ -0,0 +1,32 @@
#!/bin/bash
#
# This is based on an idea stolen from Oliver; see his great blog post
# http://blogs.perl.org/users/oliver_gorwits/2011/07/locallibs-for-dist-development.html
# for the rationale.
#
# This script works hand-in-hand with switch-profile.
#
set -e
if [ -z "$1" ]
then
echo 'Pass the profile name, please' >&2
exit 2
fi
echo "Creating local::lib for $1 ..."
sleep 3
test -d "${HOME}/perl-profiles" || mkdir -v "${HOME}/perl-profiles"
PROFILE_DIR="${HOME}/perl-profiles/$1"
curl -L http://cpanmin.us/ | perl - --notest --quiet --local-lib "${PROFILE_DIR}" \
App::cpanminus \
Dist::Zilla \
App::local::lib::helper
mkdir -p "${PROFILE_DIR}/etc"
cat > "${PROFILE_DIR}/etc/bashrc" <<EOF
export PS1="\u@\h:\w [\$PROFILE]\\\$ "
EOF

33
switch-profile Executable file
View file

@ -0,0 +1,33 @@
#!/bin/bash
#
# This is based on an idea stolen from Oliver; see his great blog post
# http://blogs.perl.org/users/oliver_gorwits/2011/07/locallibs-for-dist-development.html
# for the rationale.
#
# This script works hand-in-hand with new-profile.
#
if [ -z "$1" ]
then
echo 'Pass the profile name, please'
echo 'Valid profiles:'
for DIRENT in ${HOME}/perl-profiles/*; do
if test -d "${DIRENT}"; then
PROFILE=${DIRENT##*/}
echo " ${PROFILE}"
fi
done
exit
fi
PROFILE="$1"
if ! test -d "${HOME}/perl-profiles/${PROFILE}"; then
echo "No such profile ${PROFILE}" >&2
exit 2
fi
export PROFILE
exec env PATH=${HOME}/bin:/bin:/usr/bin PERL5LIB= \
"${HOME}/perl-profiles/${PROFILE}/bin/localenv" \
/bin/bash --rcfile "${HOME}/perl-profiles/${PROFILE}/etc/bashrc"